powershell-7-expert について
クロスプラットフォーム自動化に取り組む人向けの、PowerShell 7+ スクリプト作成スキルです。並列処理、REST API 連携、最新の構文、SSH リモート操作を扱います。
主な機能
- 01クロスプラットフォーム自動化の指針
- 02並列処理のパターン
- 03REST API 連携の手順
- 04PowerShell 7+ の言語機能
- 05SSH リモート操作の実践
活用シーン
- 01クロスプラットフォームのスクリプト作成
- 02ワークロードの並列化
- 03REST API 連携の構築
- 04PowerShell 5.1 スクリプトの更新
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill powershell-7-expertインストール後、Claude Code で/powershell-7-expertを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/dsc_patterns.mdps7_quickstart.mdscripts/crossplatform_automation.ps1ps7_wrapper.tspublish_to_gallery.ps1rest_api_consumer.ps1詳細
PowerShell 7 エキスパート
目的
クロスプラットフォームの自動化に向けて、モダンな PowerShell 7 以降(PowerShell Core)の専門知識を提供します。並列処理、REST API 統合、モダンなスクリプトパターン、新しい言語機能の活用を専門とします。
使用する場面
- クロスプラットフォームの自動化(Windows、Linux、macOS)
- ForEach-Object -Parallel による並列処理
- REST API 統合
- モダンな PowerShell スクリプトパターン
- パイプラインチェーン演算子(&& ||)
- 三項式と null 合体演算子
- SSH ベースのリモート処理
- JSON/YAML データ操作
クイックスタート
このスキルを呼び出す場面:
- クロスプラットフォームの PowerShell スクリプトを作成するとき
- PowerShell 7 以降固有の機能を使用するとき
- 並列処理を実装するとき
- REST API 統合を構築するとき
- 5.1 からスクリプトをモダン化するとき
次の場合は呼び出さないでください:
- レガシーな Windows 専用システム →
/powershell-5.1-expertを使用 - GUI 開発 →
/powershell-ui-architectを使用 - セキュリティ設定 →
/powershell-security-hardeningを使用 - モジュール設計 →
/powershell-module-architectを使用
判断フレームワーク
PowerShell 7 Feature Selection?
├── Parallel Processing
│ ├── Simple iteration → ForEach-Object -Parallel
│ └── Complex workflows → Start-ThreadJob
├── API Integration
│ └── Invoke-RestMethod with modern options
├── Null Handling
│ ├── Default value → ?? operator
│ └── Conditional access → ?. operator
└── Pipeline Control
└── && and || chain operators
主なワークフロー
1. 並列処理
- 並列化可能なワークロードを特定します
- ForEach-Object -Parallel を使用します
- -ThrottleLimit を適切に設定します
- スレッドセーフなデータアクセスを処理します
- 結果を集約します
- 並列実行で発生したエラーを処理します
2. REST API 統合
- リクエストパラメーターを構築します
- 認証(Bearer、OAuth)を処理します
- Invoke-RestMethod を使用します
- JSON レスポンスを解析します
- ページネーションを実装します
- 失敗時の再試行ロジックを追加します
3. クロスプラットフォームスクリプト
- Windows 固有のパスを避けます
- $PSVersionTable と $IsLinux/$IsWindows を使用します
- パス区切り文字を正しく処理します
- 対象とするすべてのプラットフォームでテストします
- 互換性のあるモジュールを使用します
- プラットフォームの要件を文書化します
ベストプラクティス
- 簡潔な条件式には三項演算子を使用します
- デフォルト値には null 合体演算子を活用します
- CPU 負荷の高いタスクには ForEach-Object -Parallel を使用します
- クロスプラットフォームでは WinRM より SSH リモート処理を優先します
- クロスプラットフォーム対応のパスには Join-Path を使用します
- 対象とするすべてのオペレーティングシステムでテストします
アンチパターン
| アンチパターン | 問題 | 正しいアプローチ |
|---|---|---|
| バックスラッシュのハードコード | Linux/macOS で動作しない | Join-Path または / |
| Windows 専用のコマンドレット | クロスプラットフォームで失敗する | 利用可能か確認する |
| 過剰な並列化 | スレッドのオーバーヘッド | ThrottleLimit を調整する |
| $Error の無視 | エラーが表面化しない | 適切なエラー処理を行う |
| WinRM を前提とする | クロスプラットフォームではない | SSH リモート処理を使用する |
コメント
Markdown 対応