Agent skill · software engineering · aiskillstore

powershell-windows

PowerShell Windows patterns. Critical pitfalls, operator syntax, error handling.

Why this skill is useful

Provides critical PowerShell syntax patterns and error handling practices that the AI wouldn't reliably generate on its own.

What it needs

About 2k tokens when loaded. Last updated 2026-08-07. 405 stars on the source repository.

What this skill does

PowerShell Windows Patterns Critical patterns and pitfalls for Windows PowerShell. --- 1. Operator Syntax Rules CRITICAL: Parentheses Required ❌ Wrong ✅ Correct ---------- ----------- if (Test-Path "a" -or Test-Path "b") if ((Test-Path "a") -or (Test-Path "b")) if (Get-Item $x -and $y -eq 5) if ((Get-Item $x) -and ($y -eq 5)) Rule: Each cmdlet call MUST be in parentheses when using logical operators. --- 2. Unicode/Emoji Restriction CRITICAL: No Unicode in Scripts Purpose ❌ Don't Use ✅ Use --------- ------------- -------- Success ✅ ✓ [OK] [+] Error ❌ ✗ 🔴 [!] [X] Warning ⚠️ 🟡 [] [WARN] Info ℹ️ 🔵 [i] [INFO] Progress ⏳ [...] Rule: Use ASCII characters only in PowerShell scripts. --- 3. Null Check Patterns Always Check Before Access ❌ Wrong ✅ Correct ---------- ----------- $array.Count -gt 0 $array -and $array.Count -gt 0 $text.Length if ($text) { $text.Length } --- 4. String Interpolation Complex Expressions ❌ Wrong ✅ Correct ---------- ----------- "Value: $($obj.prop.sub)" Store in variable first Pattern: --- 5. Error Handling ErrorActionPreference Value Use ------- ----- Stop Development (fail fast) Continue Production scripts SilentlyContinue When errors expected Try/Catch Pattern Don't return inside try block Use finally for cleanup Return after try/catch --- 6. File Paths Windows Path Rules Pattern Use --------- ----- Literal path C:\Users\User\file.txt Variable path Join-Path $env:USERPROFILE "file.txt" Relative Join-Path $ScriptDir "data" Rule: Use Join-Path for cross-platform safety. --- 7. Array Operations Correct Patterns Operation Syntax ----------- -------- Empty array $array = @() Add item $array += $item ArrayList add $list.Add($item) Out-Null --- 8. JSON Operations CRITICAL: Depth Parameter ❌ Wrong ✅ Correct ---------- ----------- ConvertTo-Json ConvertTo-Json -Depth 10 Rule: Always specify -Depth for nested objects. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aiskillstore/powershell-windows

View the source on GitHub

Browse the @skills marketplace