Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
josiahsiegel avatar

Powershell Master

  • 700 installs
  • 49 repo stars
  • Updated June 18, 2026
  • josiahsiegel/claude-plugin-marketplace

powershell-master is a Claude Code skill that embeds reliable PowerShell steps into GitHub Actions, Azure DevOps, and Bitbucket CI/CD pipelines for developers who need Pester tests and PSScriptAnalyzer in multi-platform

About

powershell-master is a Claude Code skill from josiahsiegel/claude-plugin-marketplace that provides reference patterns for embedding PowerShell in GitHub Actions, Azure DevOps Pipelines, and Bitbucket Pipelines. The documentation shows how to install Pester and PSScriptAnalyzer modules, run Pester tests with NUnit XML output, and execute PSScriptAnalyzer lint passes inside CI jobs triggered on push and pull_request events. Developers reach for powershell-master when .NET, Windows automation, or cross-platform pwsh scripts need consistent test and lint stages across multiple CI vendors. The skill uses shell: pwsh in GitHub Actions examples and covers module installation scoped to CurrentUser for pipeline agents. Triggers include wiring PowerShell into GitHub Actions, Azure DevOps, or Bitbucket, or standardizing Pester and PSScriptAnalyzer steps across repositories that share PowerShell build logic.

  • Ready-to-use YAML snippets for GitHub Actions with Pester and PSScriptAnalyzer
  • Multi-platform matrix strategy supporting ubuntu, windows, and macos runners
  • Azure DevOps pipeline examples using the PowerShell@2 task
  • Cross-platform shell configuration using pwsh
  • Reference patterns for installing and running PowerShell modules in CI

Powershell Master by the numbers

  • 700 all-time installs (skills.sh)
  • Ranked #210 of 1,440 DevOps & CI/CD skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/josiahsiegel/claude-plugin-marketplace --skill powershell-master

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs700
repo stars49
Security audit1 / 3 scanners passed
Last updatedJune 18, 2026
Repositoryjosiahsiegel/claude-plugin-marketplace

How do you run Pester tests in GitHub Actions?

Embed reliable PowerShell steps into GitHub Actions, Azure DevOps, and multi-platform CI/CD pipelines.

Who is it for?

Developers maintaining PowerShell modules or automation scripts who need Pester and PSScriptAnalyzer running in GitHub Actions, Azure DevOps, or Bitbucket.

Skip if: Teams with no PowerShell in their stack or pipelines already fully templated without needing CI integration reference patterns.

When should I use this skill?

The user asks to add PowerShell, Pester, or PSScriptAnalyzer steps to GitHub Actions, Azure DevOps, or Bitbucket CI/CD pipelines.

What you get

CI pipeline YAML with Pester NUnit XML output, PSScriptAnalyzer lint stage, and cross-platform pwsh job steps.

  • CI pipeline YAML
  • Pester NUnit XML test output
  • PSScriptAnalyzer lint results

By the numbers

  • Covers 3 CI platforms: GitHub Actions, Azure DevOps, and Bitbucket Pipelines
  • Documents Pester and PSScriptAnalyzer as standard pipeline test and lint modules

Files

SKILL.mdMarkdownGitHub ↗

PowerShell Master

CRITICAL GUIDELINES

Windows File Path Requirements

MANDATORY: Always Use Backslashes on Windows for File Paths

When using Edit or Write tools on Windows, you MUST use backslashes (\) in file paths, NOT forward slashes (/).

Examples:

  • WRONG: D:/repos/project/file.tsx
  • CORRECT: D:\repos\project\file.tsx

This applies to:

  • Edit tool file_path parameter
  • Write tool file_path parameter
  • All file operations on Windows systems

Documentation Guidelines

NEVER create new documentation files unless explicitly requested by the user.

  • Priority: Update existing README.md files rather than creating new documentation
  • Repository cleanliness: Keep repository root clean - only README.md unless user requests otherwise
  • Style: Documentation should be concise, direct, and professional - avoid AI-generated tone
  • User preference: Only create additional .md files when user specifically asks for documentation

---

Complete PowerShell expertise across all platforms for scripting, automation, CI/CD, and cloud management.

---

When to Activate

PROACTIVELY activate for ANY PowerShell-related task:

  • PowerShell Scripts - Creating, reviewing, optimizing any .ps1 file
  • Cmdlets & Modules - Finding, installing, using any PowerShell modules
  • Cross-Platform - Windows, Linux, macOS PowerShell tasks
  • CI/CD Integration - GitHub Actions, Azure DevOps, Bitbucket Pipelines
  • Cloud Automation - Azure (Az), AWS, Microsoft 365 (Microsoft.Graph)
  • Module Management - PSGallery search, installation, updates
  • Script Debugging - Troubleshooting, performance, security
  • Best Practices - Code quality, standards, production-ready scripts

---

Reference Map

Detailed material lives in references/. Load only what the current task needs.

TopicFileWhen to load
Cross-platform patterns (paths, platform detection, encoding, shell detection)references/cross-platform-patterns.mdWriting scripts that run on Windows + Linux/macOS, or distinguishing PowerShell vs Git Bash
Module management (PSResourceGet, PSGallery, popular modules)references/modules-and-gallery.mdInstalling/finding modules, Az 14.5.0, Microsoft.Graph 2.32.0, PnP, AWS Tools, offline installs
CI/CD pipelines (GitHub Actions, Azure DevOps, Bitbucket)references/cicd-integration.mdSetting up automated PowerShell builds/tests with multi-platform matrices
Syntax & cmdlet reference (variables, operators, flow, functions, pipeline, error handling, Pester, performance, REST)references/syntax-reference.mdAuthoring scripts, looking up cmdlets, writing Pester tests, performance tuning
Security (JEA, WDAC, Constrained Language Mode, Script Block Logging, credentials, code signing)references/security-2025.mdProduction security hardening, credential management, audit logging

---

PowerShell Overview

PowerShell Versions & Platforms

PowerShell 7+ (Recommended)

  • Cross-platform: Windows, Linux, macOS
  • Open source, actively developed
  • Better performance than PowerShell 5.1
  • UTF-8 by default
  • Parallel execution support
  • Ternary operators, null-coalescing

Windows PowerShell 5.1 (Legacy)

  • Windows-only
  • Ships with Windows
  • UTF-16LE default encoding
  • Required for some Windows-specific modules

Installation Locations:

  • Windows: C:\Program Files\PowerShell\7\ (PS7) or C:\Windows\System32\WindowsPowerShell\v1.0\ (5.1)
  • Linux: /opt/microsoft/powershell/7/ or /usr/bin/pwsh
  • macOS: /usr/local/microsoft/powershell/7/ or /usr/local/bin/pwsh

---

Core Workflow

1. Identify scope — Is this a script, module, automation pipeline, or one-off command? Note target platform(s). 2. Check version & modules$PSVersionTable.PSVersion, Get-Module -ListAvailable. Confirm PowerShell 7+ unless legacy required. 3. Load the relevant reference(s) from the Reference Map above. Avoid loading material you do not need. 4. Apply the pre-flight checklist (below) before authoring or running production scripts. 5. ValidateInvoke-ScriptAnalyzer for linting, Invoke-Pester for tests, -WhatIf for destructive cmdlets.

---

Pre-Flight Checklist for Scripts

Before running any PowerShell script, ensure:

1. Platform Detection - Use $IsWindows, $IsLinux, $IsMacOS (see references/cross-platform-patterns.md) 2. Version Check - #Requires -Version 7.0 if needed 3. Module Requirements - #Requires -Modules specified 4. Error Handling - try/catch blocks in place 5. Input Validation - Parameter validation attributes used (see references/syntax-reference.md) 6. No Aliases - Full cmdlet names in scripts 7. Path Handling - Use Join-Path or [IO.Path]::Combine() 8. Encoding Specified - UTF-8 for cross-platform 9. Credentials Secure - Never hardcoded (see references/security-2025.md) 10. Verbose Logging - Write-Verbose for debugging

---

Quick Decision Guide

Use PowerShell 7+ when:

  • Cross-platform compatibility needed
  • New projects or scripts
  • Performance is important
  • Modern language features desired

Use Windows PowerShell 5.1 when:

  • Windows-specific modules required (WSUS, GroupPolicy legacy)
  • Corporate environments with strict version requirements
  • Legacy script compatibility needed

Choose Azure CLI when:

  • Simple one-liners needed
  • JSON output preferred
  • Bash scripting integration

Choose PowerShell Az module when:

  • Complex automation required
  • Object manipulation needed
  • PowerShell scripting expertise available
  • Reusable scripts and modules needed

---

Minimal Script Skeleton

#Requires -Version 7.0

<#
.SYNOPSIS
    Brief description
.DESCRIPTION
    Detailed description
.PARAMETER Name
    Parameter description
.EXAMPLE
    PS> .\script.ps1 -Name "John"
#>

[CmdletBinding()]
param(
    [Parameter(Mandatory=$true)]
    [ValidateNotNullOrEmpty()]
    [string]$Name
)

$ErrorActionPreference = "Stop"
Set-StrictMode -Version Latest

try {
    Write-Verbose "Starting script"
    # ... main logic ...
    Write-Verbose "Script completed successfully"
}
catch {
    Write-Error "Script failed: $_"
    exit 1
}
finally {
    # Cleanup
}

Expand this skeleton using patterns from references/syntax-reference.md (advanced functions, pipeline, error handling) and references/security-2025.md (input validation, credential handling).

---

Additional Resources

  • PowerShell Docs: https://learn.microsoft.com/powershell
  • PowerShell Gallery: https://www.powershellgallery.com
  • Az Module Docs: https://learn.microsoft.com/powershell/azure
  • Microsoft Graph Docs: https://learn.microsoft.com/graph/powershell

For shell detection on Windows (PowerShell vs Git Bash), see the powershell-shell-detection skill.

---

Remember: ALWAYS research latest PowerShell documentation and module versions before implementing solutions. The PowerShell ecosystem evolves rapidly, and best practices are updated frequently.

Related skills

How it compares

Choose powershell-master over generic CI templates when the pipeline must run PowerShell-specific Pester and PSScriptAnalyzer stages across multiple CI vendors.

FAQ

Which CI platforms does powershell-master cover?

powershell-master documents PowerShell integration for GitHub Actions, Azure DevOps Pipelines, and Bitbucket Pipelines. Each reference shows pwsh shell steps, module installation, and test or lint execution patterns portable across those three vendors.

What PowerShell test tools does the skill configure?

powershell-master configures Pester for unit tests with NUnit XML output and PSScriptAnalyzer for script linting inside CI jobs. Pipeline examples install both modules with Install-Module before Invoke-Pester and analyzer runs on push or pull_request triggers.

Is Powershell Master safe to install?

skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

DevOps & CI/CDdevopsintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.