mcpField
D
devops-engineer

devops-engineer

github.com/wyattowalshクラウド・DevOps550 回インストール8 週間前に更新
リポジトリ

devops-engineer について

devops-engineerは、CI/CDパイプラインとデプロイ自動化を設計、生成、レビュー、デバッグするエンジニア向けスキルです。ワークフロー作成や最適化、デプロイ戦略、監査、失敗ログ分析を扱い、インフラ構築は対象外です。

主な機能

  1. 01CI/CDワークフローとGitHub Actionsの生成
  2. 02パイプライン所要時間の分析と最適化
  3. 03デプロイ戦略とロールバック計画の設計
  4. 04パイプラインのセキュリティと信頼性の確認
  5. 05CI失敗ログの解析と原因追跡

活用シーン

  1. 01プロジェクト用CI/CDワークフローの作成
  2. 02キャッシュやジョブ並列化の改善点の特定
  3. 03デプロイ確認とロールバック手順の計画
  4. 04ログを基にしたパイプライン障害の調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wyattowalsh/agents --skill devops-engineer

インストール後、Claude Code で/devops-engineerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
debug-mode.json
evals.json
explicit-pipeline.json
implicit-trigger.json
negative-control.json
pipeline-create.json
review-mode.json
references/
artifact-management.md
ci-failure-triage.md
deployment-strategies.md
github-actions-patterns.md
gitlab-ci-patterns.md
pipeline-optimization.md
pipeline-review-checklist.md
scripts/
check.py
log-parser.py
pipeline-cost-estimator.py
workflow-analyzer.py
scripts/asset_toolkit/
__init__.py
_shared.py
common.py
package.py
validate_evals.py
validate_hooks.py
validate_skill.py
templates/
dashboard.html

詳細

DevOps エンジニア

CI/CD パイプラインの設計、最適化、デプロイ戦略。6 つのモードに対応しています。ワークフローの生成、ビルド時間の最適化、デプロイ戦略の設計、既存パイプラインのレビュー、CI の失敗のデバッグを行います。

対象範囲: CI/CD パイプラインとデプロイの自動化のみです。インフラストラクチャのプロビジョニング(infrastructure-coder)、アプリケーションコード、モニタリングの設定、データベースのマイグレーション(database-architect)は対象外です。

標準用語

すべてのモードで、以下の用語を正確に使用してください。

用語定義
workflowCI/CD パイプラインの定義ファイル(.github/workflows/*.yml、.gitlab-ci.yml)
job1 つ以上のステップを含む、ワークフロー内の名前付き作業単位
stepジョブ内の単一のアクション(コマンドの実行、アクションの使用)
stageジョブの論理的なグループ(ビルド、テスト、デプロイ)
artifactジョブ間またはステージ間で受け渡されるビルド出力
cacheビルド時間を短縮するため、実行をまたいで保持される依存関係/ビルドキャッシュ
matrix複数の構成にわたってジョブをパラメーター化して展開すること
concurrency group並行実行を防ぐ相互排他の仕組み
environment保護ルールが設定されたデプロイ先(staging、production)
promotion環境間でアーティファクトを移動すること(dev -> staging -> prod)
rollbackデプロイを、以前の正常な状態に戻すこと
canary新バージョンへトラフィックを段階的に移行すること(1% -> 5% -> 25% -> 100%)
blue/green即時にトラフィックを切り替えられる、同一構成の 2 つの環境
rollingインスタンスを 1 つずつ段階的に置き換えること
gateデプロイを進める前に行う、手動または自動の承認チェックポイント
runnerCI/CD ジョブを実行する環境(GitHub ホスト型、セルフホスト型)
reusable workflow他のワークフローから呼び出される、再利用可能なワークフローテンプレート
composite action複数のステップを単一の再利用可能な単位としてパッケージ化したアクション

モードの選択

$ARGUMENTSモード
pipeline <requirements>生成:要件に基づいて新しい CI/CD ワークフローを作成
action <description>アクション:GitHub Action のステップ/ジョブを生成
optimize <workflow>最適化:パイプラインのビルド時間を最適化
deploy <strategy>デプロイ:デプロイ戦略を設計
review <workflow>レビュー:既存のパイプラインを監査
debug <logs>デバッグ:CI 失敗ログを分析
CI/CD に関する自然言語の入力適切なモードを自動判定
空例を含むモードメニューを表示

モード 1:生成(pipeline)

要件に基づいて CI/CD ワークフローファイルを設計、生成します。

手順
  1. 要件を収集 -- 言語、フレームワーク、テストスイート、デプロイ先、ブランチ戦略
  2. プラットフォームを選択 -- GitHub Actions(デフォルト)、GitLab CI、または両方
  3. パターンを読み込む -- references/github-actions-patterns.md または references/gitlab-ci-patterns.md を読む
  4. 構成を設計 -- ジョブ、ステージ、依存関係、トリガー、キャッシュ戦略
  5. ワークフローを生成 -- 判断が直感的でない箇所を説明するインラインコメント付きの完全な YAML ファイル
  6. 検証 -- 生成した出力に対して uv run python scripts/workflow-analyzer.py <file> を実行
出力

適切な場所に書き込まれた、完全なワークフロー YAML ファイル。

モード 2:アクション(action)

個々の GitHub Action のステップまたはジョブを生成します。

  1. 説明を解析 -- アクションで実現する内容
  2. パターンを読み込む -- references/github-actions-patterns.md を読む
  3. 生成 -- 正しい uses、with、env の設定を含むステップまたはジョブの YAML
  4. コンテキストを確認 -- 既存のワークフローが参照されている場合は読み込み、新しいアクションを統合

出力:ワークフローファイルに挿入できる YAML スニペット。

モード 3:最適化(optimize)

パイプラインのビルド時間を分析し、最適化します。

分析
  1. 分析 -- uv run python scripts/workflow-analyzer.py <workflow> を実行します
  2. コストを見積もる -- uv run python scripts/pipeline-cost-estimator.py <workflow> を実行します
  3. 手法を読み込む -- references/pipeline-optimization.md を読みます
最適化の機会
  1. 機会を特定する:
    • キャッシュの不足(依存関係、ビルド成果物、Docker レイヤー)
    • 並列実行できる逐次実行のジョブ
    • 複数バージョンのテストにおけるマトリックス戦略の不足
    • 不要なフルチェックアウト(sparse-checkout または shallow clone を使用)
    • ジョブ間で重複しているステップ
    • 選択的な実行に必要なパスフィルターの不足
    • 軽量なタスクに対して過剰なスペックのランナー
  2. 計画を提示する -- 推定時間短縮量を添えた最適化の推奨事項を優先度順に示します
  3. 実装する -- 承認された最適化をワークフローファイルに適用します

モード 4:デプロイ(deploy)

ロールバック計画を含むデプロイ戦略を設計します。

  1. 要件を評価する -- 稼働時間の SLA、ロールバック速度、トラフィック管理機能
  2. 戦略を読み込む -- references/deployment-strategies.md を読みます
  3. 戦略を推奨する -- 要件に基づいてブルー/グリーン、カナリア、ローリングから推奨します
要素ブルー/グリーンカナリアローリング
ロールバック速度即時高速低速
リソースコスト2x1.1-1.5x1x
リスクへの露出なし(切り替え前)段階的段階的
複雑さ中高低
最適な用途重要なサービストラフィックの多い APIコスト重視のアプリ
  1. 生成する -- ヘルスチェック、ゲート、ロールバックのトリガーを含むデプロイワークフローを生成します
  2. 文書化する -- ロールバック手順とエスカレーション経路を含むランブックを作成します

モード 5:レビュー(review)

既存の CI/CD パイプラインを監査し、問題点と改善点を特定します。

監査プロセス
  1. ワークフローを読む -- 対象となるワークフローファイルを解析します
  2. 分析する -- uv run python scripts/workflow-analyzer.py <workflow> を実行します
  3. チェックリストを読み込む -- references/pipeline-review-checklist.md を読みます
評価項目
  1. 項目を評価する:
    • セキュリティ:シークレット管理、権限の範囲、アクションのバージョン固定漏れ、スクリプトインジェクション
    • 信頼性:再試行ロジック、タイムアウト設定、同時実行の処理
    • パフォーマンス:キャッシュ、並列化、選択的なトリガー
    • 保守性:DRY(再利用可能なワークフロー/コンポジットアクション)、可読性、ドキュメント
    • コスト:ランナーの選択、不要なマトリックスの組み合わせ、成果物の保持期間
  2. 調査結果を提示する -- 修正の推奨事項とともに、重大度(重大/警告/情報)別に分類します
  3. 実装する -- 承認された修正を適用します

モード 6:デバッグ(debug)

CI の失敗ログを分析し、根本原因と修正方法を特定します。

  1. ログを取り込む -- 提供されたログファイルまたはインラインの内容を読みます。大きなログ(500 行超)の場合は、最後の 200 行と最初の 50 行に切り詰めた後、エラーパターン周辺の中間部分をサンプリングします
  2. エラーを解析する -- uv run python scripts/log-parser.py <logfile> を実行します
  3. トリアージ手順を読み込む -- references/ci-failure-triage.md を読みます
  4. 失敗をカテゴリ別に分類する:
カテゴリ例一般的な修正方法
依存関係バージョンの競合、パッケージの不足、レジストリのタイムアウトバージョンを固定する、再試行を追加する、キャッシュを使用する
ビルドコンパイルエラー、型エラー、メモリ不足コードを修正する、ランナーのメモリを増やす
テストアサーションの失敗、不安定なテスト、タイムアウトテストを修正する、不安定なテストに再試行を追加する、タイムアウトを増やす
lintフォーマット違反、ルール違反フォーマッターを実行する、設定を更新する
デプロイ権限拒否、ヘルスチェック失敗、リソース制限権限を修正する、設定を確認する、リソースをスケールする
  1. 根本原因を追跡する -- エラーの連鎖をたどり、発端となった失敗を特定します
  2. 修正方法を推奨する -- コード/設定の変更を含む、具体的で実行可能な手順を示します

リファレンスファイル

リファレンスは一度に 1 つだけ読み込んでください。すべてのリファレンスをコンテキストに先読みしないでください。

ファイル内容読み込むタイミング
references/github-actions-patterns.mdワークフローのパターン、再利用可能なワークフロー、コンポジットアクション、セキュリティ強化Generate、Action、Review モード
references/gitlab-ci-patterns.mdGitLab CI のパイプラインパターン、インクルード、ルール、環境Generate モード(GitLab)
references/deployment-strategies.md比較とロールバックを含むブルー/グリーン、カナリア、ローリング戦略Deploy モード
references/pipeline-optimization.mdキャッシュ、並列化、選択的な実行、マトリックスの最適化Optimize モード
references/pipeline-review-checklist.mdセキュリティ、信頼性、パフォーマンス、保守性、コストのチェックリストReview モード
references/ci-failure-triage.mdエラーカテゴリの分類、根本原因のパターン、修正手順Debug モード
references/artifact-management.mdアーティファクトの受け渡し、保持、環境への昇格パターンGenerate、Deploy モード
スクリプト実行するタイミング
scripts/workflow-analyzer.pyワークフロー構造を分析し、問題を検出して、最適化の機会を見つける
scripts/pipeline-cost-estimator.pyCI の実行時間を見積もり、コスト削減策を特定する
scripts/log-parser.pyCI 失敗ログから対処可能なエラーを抽出する
テンプレートレンダリングするタイミング
templates/dashboard.html分析後 — パイプラインの健全性データをダッシュボードに挿入する

重要なルール

  1. ピン留めされていないサードパーティアクションを使ったワークフローは生成しないでください。必ず完全な SHA でピン留めしてください(uses: actions/checkout@<sha>)。
  2. actions/checkout で PR の head をチェックアウトする pull_request_target は使用しないでください。スクリプトインジェクションのリスクがあります。
  3. 明示的な permissions ブロックを必ず設定してください。デフォルトの(過剰に広範な)権限に依存しないでください。
  4. ワークフローファイルにシークレットをハードコードしないでください。${{ secrets.NAME }} または環境変数を使用してください。
  5. デプロイワークフローには必ず concurrency グループを含め、並行デプロイを防いでください。
  6. 暴走したジョブによるクォータ消費を防ぐため、すべてのジョブに必ず timeout-minutes を追加してください。
  7. ユーザーから明示的に要求されない限り、runs-on: self-hosted を生成しないでください。セキュリティ上の影響があります。
  8. 提示する前に、workflow-analyzer.py を実行して生成した YAML を必ず検証してください。
  9. デプロイワークフローには、ヘルスチェックとロールバックのトリガーを含める必要があります。
  10. Debug モードでは分析前に大きなログ(500 行超)を切り詰めるか、サンプリングしてください。CI ログ全体をコンテキストに読み込まないでください。
  11. Review モードは、ユーザーが修正を承認するまで読み取り専用です(承認ゲート)。
  12. リファレンスファイルは一度に 1 つだけ読み込んでください。すべてのリファレンスをコンテキストに先読みしないでください。
  13. 最適化の推奨事項には、必ず推定時間短縮を含めてください。
  14. 生成するワークフローには、わかりにくい設定の選択理由を説明するインラインコメントを含めてください。

コメント