PowerShell Safe Invocation

Powstrzymuje skrypty PowerShell przed psuciem się na ścieżkach w cudzysłowach, Invoke-Expression i dziwactwach Start-Process.

Autor: Misaka-Mikoto-Tech · Misaka-Mikoto-Tech/agent-skills

Testowano · Działa ★ 9.2/10

PowerShell Safe Invocation — Powstrzymuje skrypty PowerShell przed psuciem się na ścieżkach w cudzysłowach, Invoke-Expression i dziwactwach Start-Process.

Co robi ten skill

Obejmuje bezpieczne wzorce wywoływania w PowerShell na Windows: przekazywanie argumentów jako tablicy zamiast budowania łańcuchów znaków, splatting hashtable z -LiteralPath, kiedy używać Start-Process a kiedy ProcessStartInfo, oraz różnice między PowerShell 5.1 a 7. Uruchamia się przy pisaniu lub debugowaniu PowerShell wywołującego programy natywne, obsłudze ścieżek z cudzysłowami/znakami specjalnymi lub rozwiązywaniu problemów z powłoką.

Raport z testu

Poproszono o wrapper PowerShell wokół converter.exe ze ścieżką zawierającą spacje i nawiasy kwadratowe: bazowa wersja domyślnie budowała łańcuch znaków i użyła Invoke-Expression (dokładnie to, co skill oznacza jako zakazane), wersja ze skillem użyła splattingu tablicowego z & i jawnego przechwytywania $LASTEXITCODE — realna klasa błędów cudzysłowowania, której udało się uniknąć.

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

Instalacja

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

Komendy i przykładowe prompty

  • /powershell-safe-invocationPowstrzymuje skrypty PowerShell przed psuciem się na ścieżkach w cudzysłowach, Invoke-Expression i dziwactwach Start-Process.

Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):

  • 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