PowerShell Safe Invocation
Evita che gli script PowerShell si rompano su path con virgolette, Invoke-Expression e stranezze di Start-Process.
Promosso
Cosa fa
Copre i pattern di invocazione sicura per PowerShell su Windows: passaggio di argomenti basato su array invece che su string-building, splatting di hashtable con -LiteralPath, quando usare Start-Process rispetto a ProcessStartInfo, e le differenze tra PowerShell 5.1 e 7. Si attiva quando si scrive o si fa debug di PowerShell che chiama programmi nativi, gestisce path con virgolette/caratteri speciali, o richiede troubleshooting della shell.
Rapporto di test
Ho chiesto un wrapper PowerShell attorno a un converter.exe con un path contenente spazi e parentesi: la baseline è andata di default su string-building + Invoke-Expression (esattamente ciò che lo skill segnala come vietato), la versione con lo skill ha usato lo splatting su array con & e la cattura esplicita di $LASTEXITCODE — un'intera classe di bug di quoting evitata.
Testato il: 2026-07-13 · Claude Code 2.x (agent harness)
Installazione
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
Comandi e prompt di esempio
/powershell-safe-invocationEvita che gli script PowerShell si rompano su path con virgolette, Invoke-Expression e stranezze di Start-Process.
Gli skill si attivano con richieste in linguaggio naturale, senza comandi da ricordare. Dopo l'installazione, prompt come questi lo attivano (in inglese):
Write a PowerShell script that calls an exe with a spaced file pathMy Start-Process -ArgumentList call isn't passing arguments correctlyHelp me safely invoke a native program from PowerShell without quoting bugs