本文へ移動
cccskills
無料GitHub で公開

gh-ci-investigate

GitHub Actions の CI 失敗を調査するスキル。

失敗した run / PR / job の URL(例: https://github.com/OWNER/REPO/actions/runs/RUNID、…/pull/PR、…/job/JOBID)や run_id・PR 番号を貼られて「このCIが失敗している、原因を調査して」「ビルド/テストがコケた、なぜ落ちたか調べて」「workflow が failed、修正案を出して」「job のログを見て」と頼まれたら必ず使う。

WebFetch では github.com のログは取れない(PreToolUse hook が差し戻し、HTML しか返らない)ため、gh(`gh run view --log-failed` / `gh run view --job` / `gh pr checks` / `gh api`)で失敗ジョブ・ステップと失敗ステップのログだけを決定論スクリプトで収集し、失敗原因を特定して修正案を提示する。

GitHub Actions 以外(GitLab CI 等)や、URL がログではなくソース閲覧目的のときは対象外。GitHub(gh) 前提。`/gh-ci-investigate` で明示起動も可。

インストール方法を見る

含まれるファイル(2)

  • SKILL.md5.9 KB
  • scripts/gh-ci-investigate.sh8.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

gh-ci-investigate — gh 経由の GitHub Actions 失敗調査

このスキルの目的

CI 失敗調査で毎回同じことをする——失敗した run を開き、どのジョブ・ステップが落ちたかを見て、失敗ステップのログから原因を読む——を、決定論スクリプトに寄せて安定させる。

肝は WebFetch を使わないこと。github.com への WebFetch は plugin hooks の webfetch-github-guard が差し戻すうえ、通っても Actions 画面の HTML が返るだけでログにならない。失敗ジョブ・ステップと「失敗ステップだけのログ」は gh で確実かつ簡潔に取れる。だから run/PR/job の URL を渡された時点で scripts/gh-ci-investigate.sh に解決させ、そこから調査に入る(グローバル CLAUDE.md の「GitHub 情報は gh で取得」ルールの具体実装)。

前提

  • gh auth status でログイン済みであること。private リポジトリのログ取得にはトークンの read 権限が要る。
  • 対象は GitHub(github.com / GitHub Enterprise)の Actions。GitLab CI 等 gh が扱わない CI は対象外——その場合はこのスキルを使わず該当 CLI を案内する。
  • URL がソース閲覧・PR 差分の確認目的(失敗調査でない)なら、無理にこのスキルを通さず通常の gh / Read で足りる。

ワークフロー

入力(URL / run_id / #PR / 空)の解釈、run の要約、失敗ログ取得はすべて決定論的なので、gh を手で並べ直さず scripts/gh-ci-investigate.sh を使う。<skill-dir> はこのファイルのあるディレクトリ。

1. preflight(何が落ちたかを掴む)

bash <skill-dir>/scripts/gh-ci-investigate.sh preflight "<url|run_id|#PR|(空=現在ブランチ最新)>"

=== SECTION === 区切りで 対象 repo・認証状態・失敗ジョブとステップ・結論 が出る。ここでまず「どの workflow の・どのジョブの・どのステップが・どの結論(failure / cancelled / timed_out)で落ちたか」をユーザーに提示する。ERROR: が出たら(未認証・URL 不正・repo 特定不可など)先にそれを解決する。

PR URL / #PR を渡した場合は、その PR の checks 一覧と、失敗している check に対応する run の要約が出る。

2. logs(失敗ステップのログだけ取る)

bash <skill-dir>/scripts/gh-ci-investigate.sh logs "<url|run_id|#PR>" [--job <job_id>]

gh run view --log-failed で失敗ステップのログだけを取る(full log ではないので context を食い潰さない)。特定ジョブに絞るときは job URL を渡すか --job <id> を付ける。run がまだ実行中でログ未確定のときは要約にフォールバックする。

ログが大量なときは、まず末尾やエラー行(Error, FAIL, Exception, exit code, AssertionError, スタックトレース)に当たりを付けてから該当箇所を精読する。

3. 原因特定とコード突き合わせ

ログで掴んだ失敗箇所を、リポジトリの該当コード・設定(テストコード、workflow yaml、依存定義など)と突き合わせて根本原因を絞る。必要なら該当ファイルを Read / Grep する。ログの時刻に言及するときは JST に直す。

4. 修正案の提示

原因と修正案をまとめて提示する。修正はこのスキルの役割ではない——コードやワークフローの変更はユーザーの承認を得てから、通常の編集フロー(必要なら commit-flow / pr-create)で行う。リリース PR やインフラ適用が絡むときは影響範囲を明示する。

出力の型

調査結果は次の順で簡潔にまとめる:

## 失敗の要約
- workflow / job / step / 結論(と run URL)
## 根本原因
- ログの該当行を最小限引用し、なぜ落ちたかを事実ベースで
## 修正案
- 具体的な変更点(ファイル・行)。複数案あるときは推奨を先頭に

制約

  • WebFetch で github.com を叩かない。ログ・run 情報は必ず gh 経由。
  • 修正の自動適用はしない。原因特定と修正案の提示まで。変更はユーザー承認後に別途行う。
  • private リポジトリや GitHub Enterprise で認証が通らないときは、gh auth status / gh auth login --hostname <host> を案内し、憶測で進めない。
  • ログにトークン・認証情報・顧客データ様の文字列が含まれうる。引用は原因説明に必要な最小限にとどめ、秘匿様の文字列は伏せる。
  • 関連スキル: リモートの取り込みは [[gh-fetch]]、push は [[gh-push]]。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

agent-teams

無料日本語概要

Claude Code の並列エージェント(agent teams・teammate)の後始末と無応答時の打ち切りルール。`name` を付けて Agent を起動するとき、TeamCreate でチームを組むとき、teammate から `idle_notification` が届いたとき、評価ループ等で次のイテレーションのエージェントを起動する前、エージェントの返信が届かないときに参照する。`name` を付けない通常のサブエージェント起動だけなら対象外。

yasunori0418/skills82026年10月12日 更新

basic-design

無料日本語概要

spec.md の REQ-# を入力に、機能一覧・モジュール構成・インターフェース・データフローを持つ docs/dev/<対象>/basic-design.md を作成・改訂するスキル。/basic-design <対象名> で明示的に呼び出されたときのみ使用する。

yasunori0418/skills82026年10月12日 更新

biz-translate

無料日本語概要

技術的な内容を、技術用語を排したビジネス職向けの平易な説明文に翻訳する。`/biz-translate` と明示的に呼ばれたときのみ実行する。

yasunori0418/skills82026年10月12日 更新

commit-flow

無料日本語概要

`git commit` / `git commit --amend` を実行する前、または「commit」「amend」「コミット」「コミットして」の一語・短文だけを渡された時点で必ず発火する git コミット実施ルール。理由や差分の説明が一切無くても、ファイル全文を読んでメッセージを組み立てる前に先に参照する。主目的は論理的に独立した修正を都度・適切な粒度でコミットすること。メッセージは Conventional Commits 形式、素材は同梱の決定論スクリプト commit-context.sh が出す staged diff のみ。「コミット分けて」と依頼される、独立した複数修正をまとめるか分けるか判断する、レビューコメント対応をコミットする、rebase / squash / cherry-pick 後のメッセージを整える、`gh pr create` の PR タイトルをコミット流儀へ揃える場面でも参照する。plan モードでのコミット計画の立案は commit-plan スキルの領分。

yasunori0418/skills82026年10月12日 更新

commit-plan

無料日本語概要

実装計画・リファクタリング計画・レビュー対応計画・並列作業のタスク分解など、計画を成果物として書き出すときに必ず参照するコミット計画ルール。plan モードでは ExitPlanMode で plan を提示する前に必須、計画ドキュメントや job-graph のタスク分解・エージェントへの指示文でも同様に適用する。計画成果物にコミット計画セクション(論理的に独立した修正単位での分割と Conventional Commits 形式のメッセージ)が無ければ実装に入らない。「実装計画を立てて」「planを立てて」「実行計画を作って」「リファクタリング計画を立てて」「コミット計画を立てて」「タスクを分解して」と依頼される、複数の独立した修正をまとめるか分けるか計画段階で判断する等の場面では、ユーザーが「コミット」に一切言及していなくても必ず発火する。コミットの実施(素材収集・メッセージ確定・git commit 実行)は commit-flow スキルが担う。

yasunori0418/skills82026年10月12日 更新

def-done

無料日本語概要

プロジェクトに 1 つの「完成の定義」docs/dev/definition-of-done.md を対話で構築・改訂し、機械判定節と人判定節の二部構成で書き出すスキル。/def-done で明示的に呼び出されたときのみ使用する。

yasunori0418/skills82026年10月12日 更新

yasunori0418 のスキルをすべて見る

このスキルの問題を報告する