skills/cli-scripting/powershell/7.4/SKILL.md
PowerShell 7.4 LTS version agent. Released November 2023, supported through November 2026. Built on .NET 8. Features stable ternary/null-coalescing/null-conditional operators, pipeline chain operators, ForEach-Object -Parallel improvements, web cmdlet timeouts (ConnectionTimeoutSeconds, OperationTimeoutSeconds), Brotli decompression, auto-retry on HTTP 429, and PSReadLine 2.3.6 with predictive IntelliSense.
npx skillsauth add chrishuffman5/domain-expert cli-powershell-7.4Install this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Released: November 2023 | LTS until: November 2026 | Runtime: .NET 8
PowerShell 7.4 is the recommended LTS version for production environments. All operators introduced in 7.0 are fully stable and battle-tested.
# Ternary operator
$label = ($count -gt 0) ? 'has items' : 'empty'
$env = ($isProd) ? 'production' : 'development'
# Null-coalescing
$port = $config.Port ?? 8080
$timeout = $env:TIMEOUT ?? 30
$name = $null ?? $null ?? 'last-resort'
# Null-coalescing assignment
$cache ??= @{}
$list ??= [System.Collections.Generic.List[string]]::new()
# Null-conditional member access
$city = $user?.Address?.City ?? 'Unknown'
$first = $arr?[0]
# Pipeline chain operators
npm install && npm test && npm run build
git pull || Write-Error "Pull failed"
# New timeout parameters
Invoke-RestMethod -Uri $url -ConnectionTimeoutSeconds 10 -OperationTimeoutSeconds 30
# Brotli decompression support — automatic
$r = Invoke-WebRequest -Uri 'https://example.com'
# Auto-retry on HTTP 429 with Retry-After header
Invoke-RestMethod -Uri $rateLimitedApi # respects Retry-After automatically
# Ctrl+C support when connection hangs — no code change needed
# Better error propagation from parallel blocks
# -ThrottleLimit default raised to match processor count
1..100 | ForEach-Object -Parallel {
Get-Process -Id $PID
} -ThrottleLimit 10
# Large enums serialized as numbers (not strings)
[System.DayOfWeek]::Monday | ConvertTo-Json # produces 1 (number), not "Monday"
# BigInteger serialized as number
[System.Numerics.BigInteger]::Parse('999999999999999999') | ConvertTo-Json
# Predictive IntelliSense
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionSource HistoryAndPlugin
Set-PSReadLineOption -PredictionViewStyle InlineView # ghost text
Set-PSReadLineOption -PredictionViewStyle ListView # dropdown
# Tab completion improvements
# - Better hashtable key completion
# - Parameter completion respects ValidateRange
# - Enum parameter completion
Enables "Did you mean Get-ChildItem?" style suggestions for mistyped commands. Graduates to stable in 7.6.
# Windows (winget)
winget install Microsoft.PowerShell
# Linux (apt)
# sudo apt install powershell
# macOS (brew)
# brew install --cask powershell
# Verify
$PSVersionTable.PSVersion # 7.4.x
See the parent powershell/SKILL.md for 5.1 vs 7.x differences. Key points:
powershell.exe (5.1) vs pwsh.exe (7.x)Import-Module -UseWindowsPowerShell for 5.1-only modulestools
kubectl command-line usage and scripting: kubeconfig and context management, output formats (jsonpath, custom-columns, go-template), all major verbs (get, describe, apply, delete, exec, logs, port-forward, rollout, scale, drain), workload resources, config/storage, networking, RBAC, node management, debugging (CrashLoopBackOff, ImagePullBackOff, OOMKilled), and scripting patterns (dry-run, diff, wait, jq, kustomize). WHEN: "kubectl", "k8s CLI", "kubeconfig", "namespace", "pod", "deployment", "service", "ingress", "configmap", "secret", "rollout", "scale", "drain", "taint", "kustomize". Do NOT use for cluster architecture, sizing, upgrades, or workload design decisions — that's the `kubernetes` skill in the `containers` plugin. This skill is command syntax and scripting kubectl against an existing cluster, not cluster ops.
tools
Bash 5.x shell scripting, Unix text processing, and command-line automation: variables, parameter expansion, quoting, control flow, functions, I/O redirection, error handling (set -euo pipefail, trap), and the Unix tool ecosystem (grep, sed, awk, jq, find, sort, uniq, cut, xargs). Covers process management, networking (curl, ssh, rsync, nc), file locking (flock), parallel execution, and production script patterns. WHEN: "Bash", "bash", "shell", "sh", ".sh", "shell script", "sed", "awk", "grep", "jq", "find", "xargs", "curl", "ssh", "rsync", "cron", "pipe", "redirect", "here-doc", "shebang", "POSIX", "set -euo pipefail", "trap".
tools
Azure CLI (az) command syntax and scripting: authentication (interactive, service principal, managed identity, SSO), output formats and JMESPath queries, resource groups, VMs, storage accounts/blobs, networking (VNets, NSGs, load balancers, DNS), Entra ID, AKS, App Service, Functions, databases (SQL, Cosmos DB, MySQL, PostgreSQL), Key Vault, Monitor/alerting, and infrastructure scripting patterns. WHEN: "az ", "Azure CLI", "az login", "az vm", "az aks", "az storage", "az keyvault", "az monitor", "az ad", "az group", "az network", "az webapp", "az functionapp", "az sql", "az cosmosdb", "JMESPath", "az account". Do NOT use for Azure architecture, landing zones, or multi-subscription strategy — that's the `cloud-platforms` plugin. This skill is about command syntax and scripting the CLI, not deciding what to provision.
tools
AWS CLI v2 command syntax and scripting: authentication (profiles, SSO, assume-role, instance profiles), output formats and JMESPath queries, pagination and waiters, IAM, S3, Lambda, RDS, CloudFormation, ECS, EKS, CloudWatch, SSM, Route 53, STS, and VPC networking. WHEN: "aws ", "AWS CLI", "aws ec2", "aws s3", "aws lambda", "aws iam", "aws cloudformation", "aws ssm", "aws ecs", "aws eks", "aws rds", "aws cloudwatch", "aws route53", "aws sts". Do NOT use for AWS architecture, service selection, multi-account strategy, or FinOps — that's the `cloud-platforms` plugin. This skill is about command syntax and scripting the CLI, not deciding what to provision.