Megatron-LM CI Failure Triage
NVIDIA/Megatron-LM
Investigates a failing GitHub Actions run or job for Megatron-LM, finds the root cause plus the PR and test author involved, and files a structured bug issue.
Diagnoses failing CI pipelines and tests, deciding first whether the test or the implementation is at fault, and hands hard cases to a dedicated fixer subagent.
SKILL.md written in Japanese; this summary is our English description.
$ npx skills add Chachamaru127/claude-code-harness --skill ci -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Chachamaru127/claude-code-harness ci --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ci .claude/skills/ci && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ci" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/ci into .claude/skills/ci/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/ciType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Chachamaru127/claude-code-harness --skill ci -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Chachamaru127/claude-code-harness ci --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ci .agents/skills/ci && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ci" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/ci into .agents/skills/ci/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Chachamaru127/claude-code-harness --skill ci -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Chachamaru127/claude-code-harness ci --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ci .cursor/skills/ci && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ci" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/ci into .cursor/skills/ci/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Chachamaru127/claude-code-harness.git --path skills/ci--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Chachamaru127/claude-code-harness --skill ci -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Chachamaru127/claude-code-harness ci --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ci .gemini/skills/ci && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ci" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/ci into .gemini/skills/ci/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Chachamaru127/claude-code-harness ciInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Chachamaru127/claude-code-harness --skill ci -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ci .github/skills/ci && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ci" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/ci into .github/skills/ci/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Chachamaru127/claude-code-harness --skill ci -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Chachamaru127/claude-code-harness ci --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Chachamaru127/claude-code-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ci .opencode/skills/ci && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ci" agent skill from https://github.com/Chachamaru127/claude-code-harness/tree/main/skills/ci into .opencode/skills/ci/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ci", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ciDiagnoses failing CI pipelines and tests, deciding first whether the test or the implementation is at fault, and hands hard cases to a dedicated fixer subagent.
Written in Japanese, the skill reacts to reports such as a failed CI run, a failed GitHub Actions job, a build error or tests that will not pass. Step 0 is a quality gate that separates test faults from implementation faults before anything is changed. The agent then classifies your intent as analysis or repair, judges the complexity, reads the matching reference (`references/analyzing-failures.md` or `references/fixing-tests.md`) and checks the result, rerunning if needed.
Guard rails prevent tampering: failures are never fixed by skipping tests or deleting assertions, unconfirmed causes are labeled as hypotheses, and changing test expectations or settings requires an approval request with reasons. Structured `git log` options help locate the offending commit. When a fix-and-rerun loop fails twice or errors span several files, a `ci-cd-fixer` subagent is started, defaulting to dry-run mode.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2b2b748. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGrepBashTaskMonitorFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
CI Failure Triage and Repair loads about 1.1k tokens when it runs, and up to ~3.7k if it reads all its reference files. Until then it costs about 54 tokens; SKILL.md has 104 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Grep, Bash, Task, MonitorAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Chachamaru127/claude-code-harness at commit 2b2b748, republished under its MIT licence (© Chachamaru127). 104 words, ~1,056 tokens.
.claude/skills/ci/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.CI/CD パイプラインに関する問題を解決するスキル群です。
| 機能 | 詳細 | トリガー |
|---|---|---|
| 失敗分析 | See references/analyzing-failures.md | 「ログを見て」「原因を調べて」 |
| テスト修正 | See references/fixing-tests.md | 「テストを直して」「修正案を出して」 |
CI 失敗時、まず原因の切り分けを行う:
CI 失敗報告
↓
┌─────────────────────────────────────────┐
│ テスト vs 実装判定 │
├─────────────────────────────────────────┤
│ エラーの原因を分析: │
│ ├── 実装が間違い → 実装を修正 │
│ ├── テストが古い → ユーザーに確認 │
│ └── 環境問題 → 環境修正 │
└─────────────────────────────────────────┘⚠️ CI 失敗時の禁止事項
以下の「解決策」は禁止です:
| 禁止 | 例 | 正しい対応 |
|------|-----|-----------|
| テスト skip 化 | `it.skip(...)` | 実装を修正 |
| アサーション削除 | `expect()` を消す | 期待値を確認 |
| CI チェック迂回 | `continue-on-error` | 根本原因修正 |
| lint ルール緩和 | `eslint-disable` | コードを修正 |ログ、再現条件、仕様、差分を読み、実装不具合・期待値と仕様の不一致・環境不備を自分で切り分ける。 原因調査だけの依頼は診断と根拠を返す。修正依頼なら、承認済み範囲の実装修正を進める。 テスト期待値や設定の変更が必要な場合は、下記の承認手順に従う。原因分類そのものをユーザーに委ねない。 未確認の原因は仮説と明記し、テストの skip 化やアサーション削除で解決しない。
テスト/設定の変更がやむを得ない場合:
## 🚨 テスト/設定変更の承認リクエスト
### 理由
[なぜこの変更が必要か]
### 変更内容
[差分]
### 代替案の検討
- [ ] 実装の修正で解決できないか確認した
ユーザーの明示的な承認を待つCI 失敗時の原因コミット特定に構造化ログを活用します。
# 構造化フォーマットでコミット分析
git log --format="%h|%s|%an|%ad" --date=short -10
# トポロジカル順序で時系列分析
git log --topo-order --oneline -20
# 変更ファイルと原因の紐付け
git log --raw --oneline -5| 用途 | フラグ | 効果 |
|---|---|---|
| 失敗原因の特定 | `--format="%h | %s"` |
| 時系列での追跡 | --topo-order | マージ順序を考慮した追跡 |
| 変更影響の把握 | --raw | ファイル変更の詳細表示 |
| マージ除外分析 | --cherry-pick --no-merges | 実コミットのみを抽出 |
🔍 CI 失敗原因分析
最近のコミット(構造化):
| Hash | Subject | Author | Date |
|------|---------|--------|------|
| a1b2c3d | feat: update API | Alice | 2026-02-04 |
| e4f5g6h | test: add tests | Bob | 2026-02-03 |
変更ファイル(--raw):
├── src/api/endpoint.ts (Modified) ← 型エラー発生
├── tests/api.test.ts (Modified)
└── package.json (Modified)
→ a1b2c3d のコミットが原因の可能性大
型エラー: src/api/endpoint.ts:42以下の条件を満たす場合、Task tool で ci-cd-fixer を起動:
起動パターン:
Task tool:
subagent_type="ci-cd-fixer"
prompt="依頼種別: {診断のみ|承認済み修正}\n目的と理由: {expected_behavior_and_why}\n担当範囲: {owned_paths}\n完了条件: {DoD_and_required_checks}\n仕様と承認の参照: {spec_and_user_instruction}\n観測ログと再現条件: {error_log_and_reproduction}\n範囲内で原因を調べ、依頼種別に応じて診断または修正を完了してください。判断理由、変更箇所、実行コマンドと結果、未確認点を返してください。テスト/設定の変更は既存の承認ゲートに従ってください。"ci-cd-fixer は安全第一で動作(デフォルト dry-run モード)。
詳細は agents/ci-cd-fixer.md を参照。
必要なチェックが通った後の再実行や検証範囲の拡大は、新しい変更、失敗、未解決の懸念がある場合に限る。
🔧 CI が壊れたときの言い方
1. **「CI が落ちた」「赤くなった」**
- 自動テストが失敗している状態
2. **「なんで失敗してるの?」**
- 原因を調べてほしい
3. **「直して」**
- 自動で修正を試みる
💡 重要: テストを「ごまかす」修正は禁止です
- ❌ テストを消す、スキップする
- ⭕ コードを正しく直す
「テストが間違ってそう」と思ったら、
まず確認してから対応を決めましょう© Chachamaru127, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/ci of Chachamaru127/claude-code-harness.
Open the folder on GitHubat commit 2b2b748
We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in Chachamaru127/claude-code-harness, which our catalogue first saw on October 7, 2026.
CI Failure Triage and Repair next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| CI Failure Triage and Repair this skillChachamaru127/claude-code-harness | 3.2k | 1 repos | ~1.1k | Automated safety check: Notes | MIT | |
| Megatron-LM CI Failure TriageNVIDIA/Megatron-LM | 18k | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Lina Community Fix CIlinaproai/linapro | 160 | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| ReleaseSma1lboy/rove | 146 | — | ~3.1k | Automated safety check: Warn | MIT | |
| GreptimeDB Fuzz CI Failure InvestigationGreptimeTeam/greptimedb | 6.7k | — | ~4.4k | Automated safety check: Pass | Apache-2.0 | |
| CI Triagecanton-network/splice | 118 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 |
NVIDIA/Megatron-LM
Investigates a failing GitHub Actions run or job for Megatron-LM, finds the root cause plus the PR and test author involved, and files a structured bug issue.
linaproai/linapro
排查并修复给定的 LinaPro GitHub Actions 失败问题;修复完成后保留本地改动, 禁止自动提交、推送或创建 PR。
Sma1lboy/rove
Autonomously cut a Rove (@sma1lboy/rove) release end-to-end — detect the semver bump from pending changesets (flagging an upstream minor you didn't intend), run the release gates, dispatch the…
GreptimeTeam/greptimedb
Diagnoses a failed GreptimeDB fuzz CI job by pulling its GitHub Actions logs and fuzz artifacts, then matching the evidence to the local source code.
canton-network/splice
Triage a failed splice GitHub Actions job (cn-test-failures ref) into a reproducible evidence packet - fetch job log and artifact, isolate the flagged lines, check the known flake families for…
warpdotdev/oz-skills
Diagnose and fix GitHub Actions CI failures. An agent skill from warpdotdev/oz-skills.
Chachamaru127/claude-code-harness
Hands one implementation task to Cursor Composer in an isolated git worktree, then reviews its diff and cherry-picks the result into the main branch.
Chachamaru127/claude-code-harness
Renders a single HTML page showing each acceptance criterion as verified or not, with a ship, wait, or reject recommendation for non-engineers.
Chachamaru127/claude-code-harness
Repeats a long task as a series of scheduled wake-ups, each re-entering with fresh context and calling harness-work for one task per cycle.
Chachamaru127/claude-code-harness
Creates and maintains Plans.md task plans with a spec delta, updates task markers and syncs plan progress with the implementation.
Chachamaru127/claude-code-harness
Runs a release for any project that keeps a Keep a Changelog file on GitHub, from version bump to merge, tag and GitHub Release after a single approval.
Chachamaru127/claude-code-harness
Routes a review request to the right mode and reference file in the claude-code-harness project: code, plan or scope review, a quick closeout, a dual Claude-and-Codex opinion, or a security-only pass.
Works with
Categories
Diagnoses failing CI pipelines and tests, deciding first whether the test or the implementation is at fault, and hands hard cases to a dedicated fixer subagent. Written in Japanese, the skill reacts to reports such as a failed CI run, a failed GitHub Actions job, a build error or tests that will not pass. Step 0 is a quality gate that separates test faults from implementation faults before anything is changed.
CI Failure Triage and Repair fits situations like: A CI run or GitHub Actions job has gone red; tests fail and you need to know whether the code or the test is wrong; A fix-and-rerun loop keeps failing across several files.
Run `npx skills add Chachamaru127/claude-code-harness --skill ci -a claude-code`. Or copy the skill folder (skills/ci in Chachamaru127/claude-code-harness) into .claude/skills/ci in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Chachamaru127/claude-code-harness --skill ci -a codex`. Or copy the skill folder (skills/ci in Chachamaru127/claude-code-harness) into .agents/skills/ci in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Chachamaru127/claude-code-harness --skill ci -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ci, .gemini/skills/ci, .github/skills/ci and .opencode/skills/ci in your project.
Going by SKILL.md and its folder, CI Failure Triage and Repair needs the command-line tools its instructions call (git). Its frontmatter pre-approves these tools: Read, Grep, Bash, Task, Monitor.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
CI Failure Triage and Repair is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with CI Failure Triage and Repair: Megatron-LM CI Failure Triage (NVIDIA/Megatron-LM, 18k stars), Lina Community Fix CI (linaproai/linapro, 160 stars), Release (Sma1lboy/rove, 146 stars) and GreptimeDB Fuzz CI Failure Investigation (GreptimeTeam/greptimedb, 6.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Chachamaru127 (a GitHub user) maintains it in Chachamaru127/claude-code-harness, which has 3,153 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 5, 2026.
Source: Chachamaru127/claude-code-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.