powershell-landmines skillA
powershell-landmines is agent-read markdown (skill) from lidge-jun/fuck-powershell: Query-first Windows failure intelligence: preflight the fuck-powershell landmine corpus before patches, and avoid PowerShell landmines when writing or running Windows shell commands: alias traps (curl/wget), POSIX redirects (/dev/null), native stderr ErrorRecord wrapping, exit-code blindness, encoding/BOM corruption, 5.1-vs-7 divergence, quoting loss, env-var identity traps. Use BEFORE generating any powershell/pwsh command, .ps1 script, or Windows CI step. Triggers: PowerShell, pwsh, powershell.
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# powershell-landmines
Windows shell & process interoperability hazards for coding agents — backed by the
fuck-powershell failure corpus (https://github.com/lidge-jun/fuck-powershell,
live: https://lidge-jun.github.io/fuck-powershell/). PowerShell is the brand;
the corpus covers cmd.exe, Node/Bun spawn, PATH/PATHEXT, encodings, Win32 paths,
and CI runner behavior.
## MCP tools (preferred when registered)
If your host exposes `fp_preflight`, `fp_search`, `fp_errors` and `fp_case` (the
fuck-powershell MCP server, `scripts/mcp.mjs`), use them instead of the CLI below: same
operations, same risk rules, a few hundred bytes per answer, and the server reads the
corpus fresh on every call. Call `fp_preflight` before the patch, `fp_case` on the top
result, and `fp_search` / `fp_errors` over the diff and any error you hit. Registration
is in the repository README ("Use it as an MCP server"). Use the CLI only when those
tools are absent.
In Codex Code Mode these tools may not be in your own tool list at all: they sit inside
`exec` as `mcp__fuck_powershell__fp_preflight`, `..._fp_search`, `..._fp_errors` and
…Read the whole file at its exact version.
How to install
mdr add lidge-jun/fuck-powershell/powershell-landmines@git:20260924.9b2bbe7mdr add lidge-jun/fuck-powershell/powershell-landmines@sha256:be0db7d8eefce238Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_m3ifkc4gpg3uoyxx)
1 badge views in 30 days
Versions
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260924.9b2bbe7 latest | 2026-09-24 | 9b2bbe7 | 8,193 B | A | view · diff |
| git:20260923.b95267f | 2026-09-23 | b95267f | 7,925 B | A | view · diff |
| git:20260911.17fb00b | 2026-09-11 | 17fb00b | 7,365 B | A | view · diff |
| git:20260822.bf2a306 | 2026-08-22 | bf2a306 | 6,327 B | A | view · diff |
| git:20260822.43779fe | 2026-08-22 | 43779fe | 5,010 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (8193 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
lidge-jun/fuck-powershell · 5 stars · license MIT · pushed 2026-09-24 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_m3ifkc4gpg3uoyxx GET https://markdownregistry.com/api/v1/resolve?ref=lidge-jun/fuck-powershell/powershell-landmines GET https://markdownregistry.com/api/v1/blob/be0db7d8eefce2388bf7dfba5980400e09aca0d6d080ec12b6f5296d574710a8
Your agent does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.