powershell-master

Complete PowerShell expertise system across ALL platforms (Windows/Linux/macOS). PROACTIVELY activate for: (1) ANY PowerShell task (scripts/modules/cmdlets), (2) CI/CD automation (GitHub Actions/Azure DevOps/Bitbucket), (3) Cross-platform scripting, (4) Module discovery and management (PSGallery), (5) Azure/AWS/Microsoft 365 automation, (6) Script debugging and optimization, (7) Best practices and security. Provides: PowerShell 7+ features, popular module expertise (Az, Microsoft.Graph, PnP, AWS Tools), PSGallery integration, platform-specific guidance, CI/CD pipeline patterns, cmdlet syntax mastery, and production-ready scripting patterns.

View on GitHub
Author Josiah Siegel
Namespace @JosiahSiegel/claude-code-marketplace
Category general
Version 1.4.0
Stars 1
Downloads 4
self.md verified
Table of content

Complete PowerShell expertise system across ALL platforms (Windows/Linux/macOS). PROACTIVELY activate for: (1) ANY PowerShell task (scripts/modules/cmdlets), (2) CI/CD automation (GitHub Actions/Azure DevOps/Bitbucket), (3) Cross-platform scripting, (4) Module discovery and management (PSGallery), (5) Azure/AWS/Microsoft 365 automation, (6) Script debugging and optimization, (7) Best practices and security. Provides: PowerShell 7+ features, popular module expertise (Az, Microsoft.Graph, PnP, AWS Tools), PSGallery integration, platform-specific guidance, CI/CD pipeline patterns, cmdlet syntax mastery, and production-ready scripting patterns.

Installation

npx claude-plugins install @JosiahSiegel/claude-code-marketplace/powershell-master

Contents

Folders: agents, commands, scripts, skills

Files: README.md

Documentation

Complete PowerShell expertise across all platforms (Windows, Linux, macOS) for scripting, automation, CI/CD, and cloud management.

๐ŸŽฏ What This Plugin Does

This plugin makes Claude a PowerShell expert with comprehensive 2025 knowledge:

๐Ÿ“ฆ Installation

/plugin marketplace add JosiahSiegel/claude-plugin-marketplace
/plugin install powershell-master@claude-plugin-marketplace

Local Installation (Mac/Linux)

โš ๏ธ Windows users: Use the GitHub marketplace method instead.

# Extract to plugins directory
unzip powershell-master.zip -d ~/.local/share/claude/plugins/

๐Ÿš€ Features

Comprehensive PowerShell Knowledge

This plugin includes expert knowledge of:

  1. PowerShell Syntax & Cmdlets

    • Full cmdlet reference
    • Operators and control flow
    • Functions and pipelines
    • Error handling patterns
  2. Cross-Platform Best Practices

    • Path handling across OS
    • Platform detection
    • Text encoding (UTF-8)
    • Case sensitivity awareness
    • NEW: Shell detection (PowerShell vs Git Bash/MSYS2)
    • NEW: Cross-shell compatibility guidance
  3. Module Ecosystem

    • Azure (Az): Complete Azure resource management
    • Microsoft.Graph: Microsoft 365, Teams, SharePoint
    • PnP.PowerShell: SharePoint Online automation
    • AWS.Tools: AWS resource management
    • Pester: Testing framework
    • PSScriptAnalyzer: Code quality analysis
  4. CI/CD Integration

    • GitHub Actions workflows
    • Azure DevOps Pipelines
    • Bitbucket Pipelines
    • Cross-platform testing
    • Artifact publishing
  5. Security & Performance

    • Credential management
    • Input validation
    • Performance optimization
    • Parallel execution (PS 7+)
    • Code signing

๐Ÿ“‹ Available Commands

/pwsh-script

Create or review PowerShell scripts with best practices, error handling, and cross-platform compatibility.

Example:

/pwsh-script to backup files with retention policy

/pwsh-module

Find, install, and manage PowerShell modules from PSGallery or other sources.

Example:

/pwsh-module to work with Azure VMs

/pwsh-cicd

Set up PowerShell in CI/CD pipelines (GitHub Actions, Azure DevOps, Bitbucket).

Example:

/pwsh-cicd for cross-platform testing

/pwsh-azure

Automate Azure resources using the Az PowerShell module.

Example:

/pwsh-azure to deploy virtual machines

/pwsh-performance (NEW in v1.4.0)

Optimize PowerShell scripts for performance with parallel processing, efficient filtering, and .NET 9 enhancements.

Example:

/pwsh-performance to speed up file processing script

๐Ÿค– PowerShell Expert Agent

The plugin includes a specialized powershell-expert agent with comprehensive PowerShell knowledge.

Automatically activates for:

Invoke explicitly via Task tool:

Use powershell-expert agent to create Azure automation script

๐Ÿ’ก Usage Examples

Example 1: Create Cross-Platform Script

Request: “Create a script to find large files”

Result: Production-ready script with:

Example 2: Azure Automation

Request: “Show me how to manage Azure VMs with PowerShell”

Result: Complete guide including:

Example 3: CI/CD Setup

Request: “Set up PowerShell testing in GitHub Actions”

Result: Full workflow with:

Example 4: Module Discovery

Request: “I need to work with Microsoft Teams”

Result:

๐ŸŒ Platform Support

…(truncated)

Included Skills

This plugin includes 5 skill definitions:

powershell-2025-changes

Critical PowerShell changes, deprecations, and migrations for 2025

View skill definition

PowerShell 2025 Breaking Changes & Migrations

Critical changes, deprecations, and migration paths for PowerShell in 2025.

PowerShell 2.0 Removal (August-September 2025)

What’s Removed

PowerShell 2.0 has been completely removed from:

Why: Security improvements, reduced attack surface, legacy code cleanup

Migration Path

# Check if PowerShell 2.0 is installed
Get-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2Root

# If you still need PowerShell 2.0 (NOT RECOMMENDED)
# - Use older Windows versions
# - Use Windows containers with older base images
# - Upgrade scripts to PowerShell 5.1 or 7+

# Recommended: Migrate to PowerShell 7.5+
winget install Microsoft.PowerShell

Action Required: Audit all scripts and remove -Version 2.0 parameters from any PowerShell invocations.


MSOnline & AzureAD Module Retirement

Retirement Timeline

ModuleStop WorkingRetirement Complete
MSOnlineLate May 2025May 31, 2025
AzureADMarch 30, 2025After July 1, 2025

Critical: These modules will stop functioning - not just deprecated, but completely non-functional.

Migration Path

From MSOnline/AzureAD to Microsoft.Graph:

# OLD (MSOnline) - STOPS WORKING MAY 2025
Connect-MsolService
Get-MsolUser
Set-MsolUser -UserPrinc

...(truncated)

</details>

### powershell-7.5-features

> PowerShell 7.5/7.6 features and enhancements. PROACTIVELY activate for: (1) PowerShell 7.5 stable features, (2) PowerShell 7.6 preview features, (3) ConvertTo-CliXml/ConvertFrom-CliXml, (4) Test-Path -OlderThan/-NewerThan, (5) += operator optimization (8x-16x faster), (6) PSResourceGet 1.1.1/1.2.0, (7) Get-Clipboard -Delimiter, (8) Get-Command -ExcludeModule, (9) DSC v3 resources, (10) .NET 9/.NET 10 integration. Provides: Latest cmdlet usage, performance benchmarks, migration patterns.

<details>
<summary>View skill definition</summary>

# PowerShell 7.5/7.6 Features

## Version Overview

| Version | Status | .NET | Release |
|---------|--------|------|---------|
| **7.5.4** | Stable (LTS) | .NET 9.0.306 | October 2025 |
| **7.6.0-preview.6** | Preview | .NET 10.0.0 GA | December 2025 |

PowerShell 7.5 is the current stable LTS (Long-Term Support) release. PowerShell 7.6 is in preview with new features targeting GA in early 2026.

---

# PowerShell 7.5 Features

PowerShell 7.5 GA (General Availability: January 2025) - Latest stable version 7.5.4 (October 2025) built on .NET 9.0.306 with significant performance and memory enhancements.

## New Cmdlets

### ConvertTo-CliXml and ConvertFrom-CliXml

Convert objects to/from CLI XML format without file I/O:

```powershell
# ConvertTo-CliXml - Convert object to XML string
$process = Get-Process -Name pwsh
$xmlString = $process | ConvertTo-CliXml

# ConvertFrom-CliXml - Convert XML string back to object
$restored = $xmlString | ConvertFrom-CliXml
$restored.ProcessName  # Outputs: pwsh

# Use cases:
# - Serialize objects for API transmission
# - Store object state in databases/caches
# - Share objects across PowerShell sessions
# - Clipboard operations with rich objects

Difference from Export/Import-Clixml:

Enhanced Test-Path Cmdlet

-OlderThan and -NewerThan Parameters

Filter paths by modification time:

# Find files older than 30 days
Test-Path "C:\Lo

...(truncated)

</details>

### powershell-master

> "Complete PowerShell expertise system across ALL platforms (Windows/Linux/macOS). PROACTIVELY activate for: (1) ANY PowerShell task (scripts/modules/cmdlets), (2) CI/CD automation (GitHub Actions/Azure DevOps/Bitbucket), (3) Cross-platform scripting, (4) Module discovery and management (PSGallery), (5) Azure/AWS/Microsoft 365 automation, (6) Script debugging and optimization, (7) Best practices and security. Provides: PowerShell 7+ features, popular module expertise (Az, Microsoft.Graph, PnP, AWS Tools), PSGallery integration, platform-specific guidance, CI/CD pipeline patterns, cmdlet syntax mastery, and production-ready scripting patterns. Ensures professional-grade, cross-platform PowerShell automation following industry standards."

<details>
<summary>View skill definition</summary>

# 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 Auto

...(truncated)

</details>

### powershell-security

> Modern PowerShell security practices including SecretManagement, JEA, WDAC, and credential protection

<details>
<summary>View skill definition</summary>

# PowerShell Security Best Practices (2025)

Modern security practices for PowerShell scripts and automation, including credential management, SecretManagement module, and hardening techniques.

## SecretManagement Module (Recommended 2025 Standard)

### Overview

**Microsoft.PowerShell.SecretManagement** is the official solution for secure credential storage in PowerShell.

**Why use SecretManagement:**
- Never store plaintext credentials in scripts
- Cross-platform secret storage
- Multiple vault provider support
- Integration with Azure Key Vault, 1Password, KeePass, etc.

### Installation

```powershell
# Install SecretManagement module
Install-Module -Name Microsoft.PowerShell.SecretManagement -Scope CurrentUser

# Install vault provider (choose one or more)
Install-Module -Name Microsoft.PowerShell.SecretStore  # Local encrypted vault
Install-Module -Name Az.KeyVault                        # Azure Key Vault
Install-Module -Name SecretManagement.KeePass          # KeePass integration

Basic Usage

# Register a vault
Register-SecretVault -Name LocalVault -ModuleName Microsoft.PowerShell.SecretStore

# Store a secret
$password = Read-Host -AsSecureString -Prompt "Enter password"
Set-Secret -Name "DatabasePassword" -Secret $password -Vault LocalVault

# Retrieve a secret
$dbPassword = Get-Secret -Name "DatabasePassword" -Vault LocalVault -AsPlainText
# Or as SecureString
$dbPasswordSecure = Get-Secret -Name "DatabasePassword" -Vault LocalVault

# List 

...(truncated)

</details>

### powershell-shell-detection

> Shell detection and cross-shell compatibility guidance for PowerShell vs Git Bash/MSYS2 on Windows

<details>
<summary>View skill definition</summary>

# PowerShell Shell Detection & Cross-Shell Compatibility

Critical guidance for distinguishing between PowerShell and Git Bash/MSYS2 shells on Windows, with shell-specific path handling and compatibility notes.

## Shell Detection Priority (Windows)

When working on Windows, correctly identifying the shell environment is crucial for proper path handling and command execution.

### Detection Order (Most Reliable First)

1. **process.env.PSModulePath** (PowerShell specific)
2. **process.env.MSYSTEM** (Git Bash/MinGW specific)
3. **process.env.WSL_DISTRO_NAME** (WSL specific)
4. **uname -s output** (Cross-shell, requires execution)

## PowerShell Detection

### Primary Indicators

**PSModulePath (Most Reliable):**
```powershell
# PowerShell detection
if ($env:PSModulePath) {
    Write-Host "Running in PowerShell"
    # PSModulePath contains 3+ paths separated by semicolons
    $env:PSModulePath -split ';'
}

# Check PowerShell version
$PSVersionTable.PSVersion
# Output: 7.5.4 (PowerShell 7) or 5.1.x (Windows PowerShell)

PowerShell-Specific Variables:

# These only exist in PowerShell
$PSVersionTable    # Version info
$PSScriptRoot      # Script directory
$PSCommandPath     # Script full path
$IsWindows         # Platform detection (PS 7+)
$IsLinux           # Platform detection (PS 7+)
$IsMacOS           # Platform detection (PS 7+)

Shell Type Detection in Scripts

function Get-ShellType {
    if ($PSVersionTable) {
        return "Po

...(truncated)

</details>

## Source

[View on GitHub](https://github.com/JosiahSiegel/claude-code-marketplace)