skills/cli-scripting/powershell/7.6/SKILL.md
PowerShell 7.6 LTS version agent. Released March 2026, 3-year LTS on .NET 10. Graduated features: PSFeedbackProvider (command suggestions), PSRedirectToVariable (redirect streams to variables), PSNativeWindowsTildeExpansion. New: Join-Path multi-child, ThreadJob module renamed, extensive tab completion improvements, PSReadLine 2.4.5. Includes 5.1 vs 7.x comparison guidance.
npx skillsauth add chrishuffman5/domain-expert cli-powershell-7.6Install 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: March 18, 2026 | LTS: 3 years | Runtime: .NET 10
PowerShell 7.6 is the latest LTS release, graduating several experimental features and shipping on .NET 10 for improved performance.
# Mistype a command — PS 7.6 suggests corrections
# Example: type "get-chiditem" → "Did you mean Get-ChildItem?"
# Register custom feedback providers
Register-PSFeedbackProvider -Name 'MyProvider' -ScriptBlock { }
# Redirect error stream to variable using Variable: drive
Get-ChildItem /nonexistent 2> Variable:myErrors
$myErrors # contains ErrorRecord objects
# Redirect info stream
Write-Information 'test' 6> Variable:infoLog
# Before 7.6: ~ did NOT expand in native command arguments on Windows
# After 7.6: ~ expands correctly
notepad.exe ~/Documents/notes.txt # works like Linux/macOS now
# Before: had to chain Join-Path calls
# Join-Path C:\ -ChildPath 'Program Files' | Join-Path -ChildPath 'App'
# After (7.6): -ChildPath accepts string[]
$path = Join-Path 'C:\' -ChildPath 'Program Files', 'MyApp', 'config.xml'
# Result: C:\Program Files\MyApp\config.xml
# Path completion across all providers
# Module short-name completion (e.g., 'PSRead' → PSReadLine)
# Value completion for additional cmdlet parameters
# NativeFallback completer for native tools
Register-ArgumentCompleter -NativeFallback -ScriptBlock {
param($wordToComplete, $commandAst, $cursorPosition)
# fallback completer for ALL native commands
}
# Before 7.6:
Import-Module ThreadJob
# PS 7.6: renamed to Microsoft.PowerShell.ThreadJob
Import-Module Microsoft.PowerShell.ThreadJob
# Start-ThreadJob cmdlet name unchanged
Lone backticks now correctly escaped. Test wildcard patterns that use backticks.
# Bug fixes for crashes and incorrect behavior
# Enhanced prediction stability
Set-PSReadLineOption -PredictionSource HistoryAndPlugin
Set-PSReadLineOption -PredictionViewStyle InlineView
# Windows (winget)
winget install Microsoft.PowerShell --version 7.6.0
# Verify
$PSVersionTable.PSVersion # 7.6.x
[System.Runtime.InteropServices.RuntimeInformation]::FrameworkDescription
# .NET 10.x.x
| Aspect | PS 5.1 | PS 7.x |
|--------|--------|--------|
| Runtime | .NET Framework 4.x | .NET 10 (7.6) |
| Executable | powershell.exe | pwsh.exe |
| Platform | Windows only | Windows, Linux, macOS |
| Default encoding | UTF-16 LE | UTF-8 (no BOM) |
| Ternary ? : | Not supported | Supported |
| Null operators ?? ??= ?. | Not supported | Supported |
| Pipeline chains && \|\| | Not supported | Supported |
| ForEach-Object -Parallel | Not available | Available |
| SSH remoting | Not available | Available |
| Write-Host stream | Not capturable | Goes to Information stream (6) |
# Detect version at runtime
if ($PSVersionTable.PSVersion.Major -ge 7) {
$result = $x ?? 'default'
} else {
$result = if ($null -ne $x) { $x } else { 'default' }
}
# Use #Requires to enforce
#Requires -PSEdition Core # PS 7.x only
#Requires -PSEdition Desktop # Windows PS 5.1 only
# Run 5.1 modules from PS7
Import-Module -UseWindowsPowerShell ActiveDirectory
# Check module compatibility
$module = Get-Module -Name MyModule -ListAvailable
$module.CompatiblePSEditions
-Depth 10tools
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.