複雑な自動化スクリプトに苦労することなくCI/CDパイプラインにインテリジェンスを注入する方法を探しているなら、Claude Code Skillsはまさにあなたが必要としているものかもしれません。これらのカスタムAI駆動ワークフローは、プレコミットセキュリティチェックからデプロイメント検証まで、あらゆるものを自動化します。壊れやすいシェルスクリプトの代わりに、自然言語の指示を使用してそれらを定義します。
CI/CDにおいてClaude Code Skillsが強力である理由:
- 自然言語による自動化: 複雑なYAMLではなく、平易な英語でワークフローを定義
- インテリジェントな意思決定: AIがコンテキストを分析し、修正案を提示し、さまざまなシナリオに適応
- 再利用可能なワークフロー: 一度作成すれば、シンプルなスラッシュコマンドでどこでも呼び出し可能
- Git連携: Gitイベント(pre-commit、pre-push、post-merge)に直接フック
- 拡張性: Bash、ファイル操作、ウェブ検索など15以上のツールにアクセス可能
このガイドでは、Claude Code Skillsとは何か、カスタムCI/CDワークフローを構築する方法、そして今日から実装できる実世界の例を探ります。
Claude Code Skillsを理解する
スキルとは何か?
Claude Code Skillsは、Claude Codeの機能を拡張するカスタムの再利用可能なAIワークフローです。これらは、次のようなインテリジェントなスクリプトと考えることができます。
- 複雑な多段階タスクを自律的に実行
- コンテキストを認識した意思決定を行う
- ファイルへのアクセス、コマンドの実行、ウェブ検索などを行う
- セッション間で状態を維持する
- 既存の開発ツールと統合する

厳格なロジックに従う従来のスクリプトとは異なり、スキルはClaudeの推論能力を活用して、エッジケースを処理し、改善を提案し、変化する状況に適応します。
スキルの仕組み
スキルはいくつかの主要なメカニズムを通じて動作します。
1. ユーザーが呼び出し可能なコマンド
# Run a skill with a slash command
/deploy-validation --env production
/security-review
/ci-pipeline-monitor --branch main
2. 許可されたツール
スキルは使用できるツールを指定します。
Bash: シェルコマンドを実行Read,Write,Edit: ファイル操作Glob,Grep: 検索操作WebFetch,WebSearch: 外部データTask: 複雑なタスクのためにサブエージェントを生成
3. ライフサイクルフック
スキルは特定のポイントでアクションをトリガーできます。
SessionStart: スキルが開始されたときPreToolUse: 各ツール実行前PostToolUse: 各ツール実行後Stop: スキルが終了したとき
4. プランニングファイル
スキルは、進行状況を追跡し、発見を保存し、再開可能なワークフローを可能にするために、マークダウンファイルを使用して状態を維持できます。
スキルがCI/CDで優れている理由
従来のCI/CDスクリプトは、予期せぬ状況に直面すると簡単に破損します。スキルは自動化にインテリジェンスをもたらします。
- コンテキストの理解: ログを読み取り、エラーを理解し、修正を提案できる
- 適応的行動: さまざまなプロジェクト構造や構成に調整できる
- 自己文書化: 自然言語の指示によりワークフローが透過的になる
- エラー回復: 問題を診断し、解決策を提案できる
- 継続的学習: 結果に基づいてワークフローを改善する
スキルの解剖学:コンポーネントと構造
ディレクトリ構造
スキルは.claude/skills/に以下のレイアウトで配置されます。
.claude/
├── skills/
│ ├── deploy-validation/
│ │ ├── SKILL.md # Skill manifest and instructions
│ │ ├── planning.md # State tracking (optional)
│ │ └── scripts/ # Helper scripts (optional)
│ ├── security-review/
│ │ └── SKILL.md
│ └── ci-monitor/
│ └── SKILL.md
└── skills.md # Index of all skills
SKILL.md マニフェスト
すべてのスキルは、YAMLフロントマターとそれに続くMarkdown命令で始まります。
---
name: deploy-validation
version: "1.0.0"
description: Validates deployment readiness with comprehensive checks
user-invocable: true
allowed-tools:
- Bash
- Read
- Edit
- Grep
- Glob
hooks:
SessionStart:
- matcher: command
command: "echo '[Deploy Validator] Starting pre-deployment checks...'"
Stop:
- matcher: command
command: "echo '[Deploy Validator] Checks complete. Review output above.'"
---
# Deployment Validation Skill
Comprehensive pre-deployment validation for production releases.
## Usage
```bash
/deploy-validation --env production
/deploy-validation --env staging --dry-run
/deploy-validation --skip-tests # Use cautiously
このスキルが行うこと
環境検証
- 必須環境変数の存在チェック
- 設定ファイルの検証
- サービス依存関係へのアクセス検証
コード品質チェック
- リンティングの実行(ESLint、Pylintなど)
- コードのフォーマットチェック
- デバッグステートメントが残っていないことの検証
テスト
- ユニットテストスイートの実行
- 結合テストの実行
- コードカバレッジのしきい値チェック
ビルド検証
- アプリケーションのコンパイル/ビルド
- ビルド成果物の検証
- バンドルサイズが制限を超えていないかのチェック
セキュリティスキャン
- 依存関係の脆弱性スキャン
- ハードコードされたシークレットのチェック
- 権限とアクセス制御の検証
ドキュメントチェック
- CHANGELOGが更新されていることを確認
- APIドキュメントがコードと一致していることを検証
- 必要に応じてマイグレーションガイドをチェック
デプロイメントレポート
- 包括的なレポートを生成
- `deployment-reports/{timestamp}.md`に保存
- 合格/不合格を示すステータスコードで終了
Claudeへの指示
呼び出されたら、次のプロセスに従います。
- コマンドライン引数を解析し、環境とオプションを決定する
- 現在のgitブランチとコミットSHAをチェックする
- 各検証ステップを順次実行する
- 各失敗について、問題をログに記録し続行する(すべてのエラーを収集する)
- すべてのチェック後、概要レポートを生成する
- 重要なチェックが失敗した場合、エラーコード1で終了する
- すべてのチェックが合格した場合、コード0で終了し、成功メッセージを表示する
---
## CI/CDユースケース
### 1. プレコミット検証
**スキル: `/pre-commit-guard`**
コミット前に変更を自動的に検証します:
- リンティングとフォーマット
- シークレットのセキュリティスキャン
- ユニットテストの実行
- ファイルサイズチェック
- 破壊的変更の検出
**メリット**: コードベースに入る前に問題を捕捉します。
### 2. プルリクエスト分析
**スキル: `/pr-review`**
インテリジェントなPRレビューが実行する内容:
- コード変更の品質問題を分析する
- セキュリティ脆弱性をチェックする
- テストカバレッジを検証する
- 改善案を提案する
- レビューコメントを生成する
**メリット**: 人間によるボトルネックなしで、一貫性のある徹底的なコードレビューを実現します。
### 3. 自動テストワークフロー
**スキル: `/test-runner`**
スマートなテスト実行が実行する内容:
- 変更に関連するテストを検出する
- 最適な順序でテストを実行する
- 失敗を分析し、修正を提案する
- カバレッジレポートを生成する
- テストパフォーマンスの傾向を追跡する
**メリット**: インテリジェントなテスト選択により、より迅速なフィードバックが得られます。
### 4. デプロイメント検証
**スキル: `/deploy-validator`**
デプロイ前のチェックには以下が含まれます:
- 環境構成の検証
- 依存関係の検証
- データベースマイグレーションのチェック
- API互換性テスト
- パフォーマンスリグレッションの検出
**メリット**: デプロイメントの失敗が起こる前に防ぎます。
### 5. CIパイプライン監視
**スキル: `/ci-monitor`**
パイプラインの健全性を監視します:
- ビルド成功率を追跡する
- 不安定なテストを特定する
- パフォーマンスの傾向を分析する
- 劣化時にアラートを出す
- 最適化を提案する
**メリット**: プロアクティブなパイプラインメンテナンスと最適化。
### 6. リリース自動化
**スキル: `/release-manager`**
リリースプロセスをオーケストレートします:
- バージョン更新
- チェンジログ生成
- タグ作成
- ビルド成果物の検証
- リリースノートの草稿作成
**メリット**: 一貫性のある、エラーのないリリース。
### 7. APIテスト自動化
**スキル: `/api-test-runner`**
APIを構築しているチームのために、Claude Code Skillsと[Apidog](https://apidog.com)を組み合わせて、包括的なAPI検証を実現しましょう:
- **テストケースの生成**: OpenAPI/Swagger仕様からAPIテストを作成
- **自動テストの実行**: パイプラインでApidogテストコレクションを実行
- **レスポンスの検証**: ステータスコード、スキーマ、応答時間をチェック
- **依存関係のモック化**: 隔離されたテストのためにモックサーバーをセットアップ
- **カバレッジの追跡**: APIエンドポイントのテストカバレッジを監視
**スキル統合の例:**
```bash
/api-test-runner --collection ./tests/api-collection.json --env production
メリット: 視覚的なデバッグと詳細なレポートにより、デプロイ前にAPIのリグレッションを捕捉します。ApidogのCI/CD統合により、APIテストを任意のパイプラインに簡単に追加できます。

初めてのCI/CDスキルを作成する
実用的なスキル、つまりコミット前にコードをチェックするセキュリティレビューツールを構築しましょう。
ステップ1: スキルディレクトリを作成する
mkdir -p .claude/skills/security-review
ステップ2: スキルマニフェストを作成する
`.claude/skills/security-review/SKILL.md`を作成します。
---
name: security-review
version: "1.0.0"
description: Security scan for common vulnerabilities and secrets
user-invocable: true
allowed-tools:
- Bash
- Read
- Grep
- Glob
- Write
hooks:
SessionStart:
- matcher: command
command: "echo '[Security Review] Starting security scan...'"
Stop:
- matcher: command
command: "echo '[Security Review] Scan complete'"
---
# Security Review Skill
コミット前にコードのセキュリティ問題をスキャンします。
## 使用法
```bash
/security-review # Scan all changed files
/security-review --all # Scan entire codebase
/security-review --file src/auth.js # Scan specific file
検出パターン
このスキルは以下をチェックします:
ハードコードされたシークレット
- APIキー
- パスワード
- プライベートキー
- アクセストークン
一般的な脆弱性
- SQLインジェクションパターン
- XSS脆弱性
- コマンドインジェクション
- パストラバーサル
安全でない設定
- デバッグモードが有効
- 安全でないデフォルト設定
- 認証の欠落
- 弱い暗号化
依存関係の問題
- 既知の脆弱なパッケージ
- 古い依存関係
- 不審なパッケージ
指示
呼び出されたら:
スキャン範囲を決定する
- `--all`フラグの場合: コードベース全体をスキャン
- `--file`が指定された場合: そのファイルをスキャン
- デフォルト: gitでステージング/変更されたファイルのみをスキャン
シークレットを検索する
- Grepを使用して次のようなパターンを見つける:
- `(api[_-]?key|password|secret|token)\s*[:=]\s*['"]\w+['"]`
- `-----BEGIN (RSA |)PRIVATE KEY-----`
- 一般的なシークレット形式(AWS、GitHubなど)
- `.gitignore`内のファイルを無視する
- `node_modules`、`vendor`などをスキップする
脆弱性パターンをチェックする
- SQLインジェクション: 文字列連結を使用した生のSQL
- XSS: HTML内のエスケープされていないユーザー入力
- コマンドインジェクション: ユーザー入力を使用したシェル実行
- Readツールでコードを読み込み、コンテキストを分析する
依存関係をスキャンする
- `package-lock.json`、`requirements.txt`などをチェックする
- Bashを使用してセキュリティスキャナーを実行する:
- Node.jsには`npm audit`
- Pythonには`pip-audit`
- Rubyには`bundle audit`
レポートを生成する
- すべての発見を以下とともにリストアップする:
- ファイルパスと行番号
- 問題の種類と深刻度
- 推奨される修正
- `.claude/security-reports/{date}.md`に保存
- ターミナルに概要を表示する
終了ステータス
- 問題が検出されなければ0で終了
- HIGH深刻度の問題があれば1で終了
- スキャンが完了しなかった場合は2で終了
### ステップ3: スキルを登録する
`.claude/skills.md`に追加:
```markdown
# 利用可能なスキル
## セキュリティと品質
### /security-review
脆弱性とシークレットのセキュリティスキャン。
- **バージョン**: 1.0.0
- **使用法**: `/security-review [--all] [--file PATH]`
- **使用タイミング**: コミット前、PRレビュー中
ステップ4: スキルをテストする
# In Claude Code
/security-review
これでClaudeはセキュリティレビューワークフローを実行し、コードの問題をチェックします。
高度なスキルパターン
パターン1: プランニングファイルを使用したステートフルワークフロー
複数ステップのプロセスでは、プランニングファイルを使用して進行状況を追跡します:
---
name: release-manager
version: "1.0.0"
user-invocable: true
allowed-tools:
- Bash
- Read
- Write
- Edit
---
# リリース管理者
完全なリリースプロセスを管理します。
## 状態管理
このスキルは`planning.md`を使用してリリースの進行状況を追跡します:
```markdown
# リリースv2.5.0の進捗
## フェーズ1: リリース前検証 [完了]
- [x] フルテストスイートを実行
- [x] コードカバレッジ > 80%をチェック
- [x] セキュリティ問題をスキャン
## フェーズ2: バージョンアップ [進行中]
- [x] package.jsonを更新
- [ ] CHANGELOG.mdを更新
- [ ] ドキュメントを更新
## フェーズ3: ビルドとタグ付け [保留中]
- [ ] プロダクションビルドを作成
- [ ] スモークテストを実行
- [ ] gitタグを作成
- [ ] レジストリにプッシュ
## フェーズ4: リリース後 [保留中]
- [ ] GitHubリリースを作成
- [ ] リリースノートを更新
- [ ] チームに通知
指示
`planning.md`が存在するかチェックする
- 存在する場合: 最後に未完了だったフェーズから再開
- 存在しない場合: 新しいプランニングファイルを作成
各フェーズを実行する:
- タスク完了時にチェックボックスを更新
- 各ステップ後に進捗を保存
- 中断されても、後で再開できる
各タスクについて:
- 前提条件を検証する
- アクションを実行する
- 結果を検証する
- プランニングファイルを更新する
### パターン2: 条件付きワークフロー
スキルはプロジェクトタイプに基づいて適応できます:
```markdown
## Instructions
1. **プロジェクトタイプを検出**
- `package.json`をチェック → Node.jsプロジェクト
- `requirements.txt`をチェック → Pythonプロジェクト
- `Cargo.toml`をチェック → Rustプロジェクト
2. **適切なテストを実行**
- Node.js: `npm test`
- Python: `pytest`
- Rust: `cargo test`
3. **カバレッジレポートを生成**
- Node.js: Jest/Istanbulを使用
- Python: pytest-covを使用
- Rust: tarpaulinを使用
パターン3: 並行実行
独立したタスクは、並行して実行します:
## Instructions
1. **並行チェック**(同時に実行):
- リンティング (ESLint, Prettier)
- 型チェック (TypeScript)
- セキュリティスキャン (npm audit)
- ドキュメントビルド
2. **結果を収集**
- すべてのタスクの完了を待つ
- 発見をまとめる
- 失敗を報告する
パターン4: 対話型意思決定
スキルはユーザー入力を求めることができます:
## Instructions
1. **デプロイメントリスクを分析**
- 破壊的変更をチェック
- マイグレーションスクリプトをレビュー
- ロールバックの複雑さを評価
2. **HIGHリスクが検出された場合**
- ユーザーに調査結果を提示
- 尋ねる: 「それでもデプロイしますか? (はい/いいえ/キャンセル)」
- はいの場合: デプロイメントを続行
- いいえの場合: 中止し、決定をログに記録
- キャンセルの場合: 何もせず終了
3. **LOWリスクの場合**
- デプロイメントを自動承認
- 監査のために決定をログに記録
スキルとGitHub Actionsの統合
方法1: スキルの直接呼び出し
GitHub ActionsワークフローにClaude Codeを追加する:
# .github/workflows/security-scan.yml
name: Security Scan
on:
pull_request:
branches: [main, develop]
jobs:
security-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install Claude Code
run: |
curl -fsSL https://install.claude.com | sh
- name: Run Security Review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude /security-review --all
- name: Upload Report
if: always()
uses: actions/upload-artifact@v3
with:
name: security-report
path: .claude/security-reports/
方法2: カスタムGitHubアクション
再利用可能なアクションを作成する:
# .github/actions/claude-skill/action.yml
name: 'Run Claude Code Skill'
description: 'CIでClaude Codeスキルを実行'
inputs:
skill-name:
description: '実行するスキルの名前'
required: true
skill-args:
description: 'スキルに渡す引数'
required: false
default: ''
api-key:
description: 'Anthropic APIキー'
required: true
runs:
using: 'composite'
steps:
- name: Setup Claude
shell: bash
run: |
curl -fsSL https://install.claude.com | sh
- name: Run Skill
shell: bash
env:
ANTHROPIC_API_KEY: ${{ inputs.api-key }}
run: |
claude /${{ inputs.skill-name }} ${{ inputs.skill-args }}
ワークフローでの使用法:
# .github/workflows/deploy.yml
name: Deploy
on:
push:
branches: [main]
jobs:
validate-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Pre-Deployment Validation
uses: ./.github/actions/claude-skill
with:
skill-name: deploy-validation
skill-args: '--env production'
api-key: ${{ secrets.ANTHROPIC_API_KEY }}
- name: Deploy
if: success()
run: ./deploy.sh production
- name: Post-Deployment Check
uses: ./.github/actions/claude-skill
with:
skill-name: health-check
skill-args: '--url https://api.example.com'
api-key: ${{ secrets.ANTHROPIC_API_KEY }}
方法3: マトリクステスト
複数の環境でスキルを実行する:
# .github/workflows/test-matrix.yml
name: Test Matrix
on: [push, pull_request]
jobs:
test:
strategy:
matrix:
node-version: [16, 18, 20]
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Run Test Skill
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude /test-runner --node-version ${{ matrix.node-version }}
Gitフックの統合
Gitフックのセットアップ
Gitフックにより、Gitイベントでスキルが自動的に実行されます。
プレコミットフック
コミットが行われる前に不正なコミットを防ぐ:
# .git/hooks/pre-commit
#!/bin/bash
echo "プレコミットセキュリティレビューを実行中..."
# Run Claude Code security review
claude /security-review
if [ $? -ne 0 ]; then
echo "失敗: セキュリティ問題が検出されました。コミットはブロックされました。"
echo "上記の問題を修正するか、'git commit --no-verify'を使用してバイパスしてください(非推奨)"
exit 1
fi
echo "成功: セキュリティチェックに合格しました"
exit 0
実行可能にする:
chmod +x .git/hooks/pre-commit
プレプッシュフック
リモートにプッシュする前に検証する:
# .git/hooks/pre-push
#!/bin/bash
echo "プレプッシュ検証を実行中..."
# Get the branch being pushed
BRANCH=$(git rev-parse --abbrev-ref HEAD)
# Run different checks based on branch
if [ "$BRANCH" = "main" ]; then
echo "mainにプッシュ中 - 完全な検証を実行中..."
claude /deploy-validation --env production
elif [ "$BRANCH" = "develop" ]; then
echo "developにプッシュ中 - ステージング検証を実行中..."
claude /deploy-validation --env staging
else
echo "フィーチャーブランチ - 簡易検証を実行中..."
claude /quick-check
fi
if [ $? -ne 0 ]; then
echo "失敗: 検証に失敗しました。プッシュはブロックされました。"
exit 1
fi
echo "成功: 検証に合格しました"
exit 0
ポストマージフック
ブランチのマージ後に実行する:
# .git/hooks/post-merge
#!/bin/bash
echo "マージ後のチェック..."
# Check if dependencies changed
if git diff-tree -r --name-only --no-commit-id HEAD@{1} HEAD | grep -q "package-lock.json"; then
echo "依存関係が変更されました - セキュリティ監査を実行中..."
claude /dependency-audit
fi
# Check if database migrations exist
if git diff-tree -r --name-only --no-commit-id HEAD@{1} HEAD | grep -q "migrations/"; then
echo "マイグレーションが検出されました - 検証中..."
claude /migration-validator
fi
exit 0
Huskyの統合
Gitフックの管理にHuskyを使用しているチーム向け:
// package.json
{
"husky": {
"hooks": {
"pre-commit": "claude /security-review && claude /lint-check",
"pre-push": "claude /test-runner --quick",
"post-merge": "claude /dependency-audit"
}
}
}
またはHusky v6+の場合:
# .husky/pre-commit
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
claude /security-review
claude /lint-check
まとめ
Claude Code Skillsは、壊れやすいスクリプトからインテリジェントで適応性の高いワークフローへとCI/CDを変革します。AIの推論と従来の自動化を組み合わせることで、スキルは次のことを行えます:
- コンテキストを理解し、さまざまなシナリオに適応する
- 失敗を報告するだけでなく、改善を提案する
- コードベースのパターンから学習する
- 自然言語の指示を通じて自己文書化する
CI/CDパイプラインにAPIエンドポイントが含まれている場合、Claude Code SkillsとApidogを組み合わせることで、両方の良い点を享受できます:
| 機能 | 利点 |
|---|---|
| ビジュアルAPIテスト | コードを書かずにテストケースを作成 |
| OpenAPIインポート | 仕様から自動的にテストを生成 |
| モックサーバー | バックエンドが準備できる前に統合をテスト |
| CI/CD CLI | 任意のパイプラインでApidogテストを実行 |
| チームコラボレーション | チーム全体でテストコレクションを共有 |
APIワークフローを合理化する準備はできましたか? Apidogを無料でダウンロードして、数分で最初のAPIテストコレクションを作成してください。
