powershell-syntax

Rules for writing commands in PowerShell, the Windows command-line shell, including how to run commands in sequence, conditionally, or in the background.

In plain words
What is it for?
Use them when running development servers, checking files, handling errors, starting background processes, or making network requests from PowerShell.
Why use it?
They prevent parser errors caused by using command syntax from other shells, such as Bash, in PowerShell.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/rm2thaddeus/pixel_detective/powershell-syntax
Clone the repo
git clone --depth 1 https://github.com/rm2thaddeus/Pixel_Detective

Made for: Cursor.

Per session 691 This file is loaded in full into every session.
When invoked 691 The same file — it is already loaded in full.
Security scan A 1 finding. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00691 $0.00691
Opus 5 $0.00345 $0.00345
Sonnet 5 $0.00138 $0.00138
Haiku 4.5 $0.00069 $0.00069

Measured yesterday against content hash f99392b4ac31, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

powershell-syntax scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

# CORRECT - Use Invoke-WebRequest instead of curl
.cursor/rules/powershell-syntax.mdc · 105 lines

How it starts

The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.

PowerShell Syntax Rules

Command Separators

  • NEVER use && in PowerShell - it's not a valid command separator
  • Use ; for sequential commands: cd frontend; npm run dev
  • Use separate commands or PowerShell-specific operators

Correct PowerShell Syntax Patterns

Sequential Commands

# CORRECT
cd frontend; npm run dev

# CORRECT - Separate commands
cd frontend
npm run dev

# INCORRECT - Will cause parser error
cd frontend && npm run dev

Conditional Execution

# CORRECT - PowerShell conditional operators
if (Test-Path "frontend") { cd frontend; npm run dev }

# CORRECT - Error handling
try { cd frontend; npm run dev } catch { Write-Error "Failed to start frontend" }

Background Processes

# CORRECT - PowerShell background execution
Start-Process powershell -ArgumentList "-Command", "cd frontend; npm run dev" -WindowStyle Hidden

Common Commands That Need PowerShell Syntax

File Operations

# CORRECT
Get-ChildItem -Recurse -Name "*.py"
Test-Path "package.json"

# INCORRECT (bash syntax)
ls -la

Network Testing

# CORRECT - Use Invoke-WebRequest instead of curl
Invoke-WebRequest -Uri "http://localhost:8080" -Method GET

# INCORRECT
curl http://localhost:8080

Process Management

# CORRECT
Get-Process | Where-Object {$_.ProcessName -like "*node*"}
netstat -ano | findstr ":8080"

# CORRECT - Kill process by ID
Stop-Process -Id 1234 -Force

Environment-Specific Considerations

Windows Paths

  • Use backslashes or forward slashes (both work in PowerShell)
  • Be careful with spaces in paths - use quotes when needed

Environment Variables

# CORRECT
$env:NODE_ENV = "development"

# CORRECT - Access environment variables
echo $env:PATH

Error Prevention Checklist

Before running any command in PowerShell:

  1. ✅ Check if command uses && - replace with ; or separate commands
  2. ✅ Verify file paths use correct syntax
  3. ✅ Use PowerShell cmdlets instead of Unix commands when available
  4. ✅ Test commands in small increments
  5. ✅ Use proper error handling with try/catch blocks

Read the full file on GitHub · 105 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 105 lines · 691 tokens per session scan A f99392b4ac31

Subscribe to this mod's changes

powershell-syntax is a cursor rule published in the GitHub repository rm2thaddeus/Pixel_Detective (21 stars, last pushed 6mo ago), licensed MIT. It adds 691 tokens to every session, about $0.0035 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.