PowerShell Safe Invocation

Stoppar PowerShell-skript från att gå sönder på citerade sökvägar, Invoke-Expression och Start-Process-egenheter.

av Misaka-Mikoto-Tech · Misaka-Mikoto-Tech/agent-skills

Testad · Fungerar ★ 9.2/10

PowerShell Safe Invocation — Stoppar PowerShell-skript från att gå sönder på citerade sökvägar, Invoke-Expression och Start-Process-egenheter.

Vad den gör

Täcker säkra anropsmönster för PowerShell på Windows: array-baserad argumentöverföring istället för strängbyggande, hashtable-splatting med -LiteralPath, när Start-Process ska användas kontra ProcessStartInfo, och versionsskillnader mellan PowerShell 5.1 och 7. Triggas när du skriver eller felsöker PowerShell som anropar inbyggda program, hanterar citerade/specialtecken-sökvägar, eller behöver skalfelsökning.

Testrapport

Bad om en PowerShell-wrapper runt en converter.exe med en sökväg med mellanslag/hakparenteser: baslinjen defaultade till strängbyggande + Invoke-Expression (precis det skillen pekar ut som förbjudet), skillversionen använde array-splatting med & och uttrycklig $LASTEXITCODE-fångst — en verklig klass av citeringsbuggar undveks.

Testad: 2026-07-13 · Claude Code 2.x (agent harness)

Installation

git clone https://github.com/Misaka-Mikoto-Tech/agent-skills
cd agent-skills
mkdir -p ~/.claude/skills
cp -r skills/powershell-safe-invocation ~/.claude/skills/powershell-safe-invocation

Kommandon och exempelprompter

  • /powershell-safe-invocationStoppar PowerShell-skript från att gå sönder på citerade sökvägar, Invoke-Expression och Start-Process-egenheter.

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

  • Write a PowerShell script that calls an exe with a spaced file path
  • My Start-Process -ArgumentList call isn't passing arguments correctly
  • Help me safely invoke a native program from PowerShell without quoting bugs