Use when explaining System V AMD64, ARM AAPCS, RISC-V psABI, stack frames, variadic calls, or FFI register rules. Not for the Rust FFI binding layer: use rust-ffi.
日本語の概要は準備中です。原文の説明を表示しています。
Use when "CI is red", "fix the checks", or "make CI green", one check needs classifying, or a bounded sweep runs. Not for deploys, credentials, or rerun-as-fix. Non-CI bugs: use strike-the-root.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Repair, classify, or sweep failing CI on a PR or branch. Three modes: fix (default; interactive or autonomous), classify (read-only diagnosis), and sweep (bounded background monitor). Never widen workflow permissions, never add pull_request_target, never offer a rerun in place of a code fix. Merge conflicts route to resolve-merge-conflicts; non-CI bugs route to strike-the-root.
| Field | Bound contract |
|---|---|
| Trigger | Fix: user asks to diagnose or repair failing CI on a PR or branch; autonomous fix only when the user explicitly asks for the fix to be pushed. Classify: a check is failed, absent, pending too long, unstable, or reported unexpectedly and no patch is requested. Sweep: a recurring or requested sweep monitors CI failures over a bounded attempt window. |
| Authority | Human-gated: classify is read-only and writes nothing. Fix interactive writes only named source files after plan approval; rollback is version control. Fix autonomous pushes a fix branch, never opens a PR, and is a remote mutation that requires explicit human invocation. Sweep writes one minimal isolated repair in a worktree; rollback is discarding the worktree; it never pushes, merges, or publishes. |
| Side effect | Classify: chat output only. Fix interactive: named local source files edited and a local-equivalent check passes; remote CI unchanged. Fix autonomous: a fix branch pushed with the approved change set and a new CI run observed. Sweep: one worktree repair plus one independent verifier run, returned as a proposal. |
| Done | Classify: one deterministic failure class supported by observed evidence, a next owner, a one-sentence next action, and a fix plan when a PR and gh are available; nothing mutated. Fix interactive: failing checks identified, the approved local fix applied, and every local equivalent passes; return local-fix-ready because remote CI is unchanged. Fix autonomous: a new run on ci-fix/<original-branch> is green and the ordered root-cause record is delivered; checks-pass is claimed only after a green remote run is observed. Sweep: root cause reproduced or classified non-actionable; any patch is minimal, independently verified, and returned as a proposal; retries stop at the configured cap without symptom patching. |
mode: fix (default), classify, or sweep.repo: path inside the repo (default .). Must be a Git repository.gh authenticated for the repo host with workflow/repo scopes. Classify stands alone without gh; in fix and sweep an unauthenticated CLI stops the skill before any change.classify when the user asks for a diagnosis or plan without a patch, sweep when a bounded monitor over an attempt window is requested, fix otherwise. Done when: the mode is stated and its inputs above are present, or the missing input is reported.GH_PAGER=cat on every gh invocation; the CLI has no global --no-pager option and blocks on a pager in non-interactive contexts without it. Verify authentication with gh auth status. In fix and sweep, stop and ask the user to run gh auth login when unauthenticated; no mutation before this. In classify, continue without gh; the classification stands alone. Done when: an authenticated identity is confirmed by gh auth status output, the handoff is asked and no mutation has occurred, or classify proceeds without gh and says so.gh pr view --json number,url; non-PR branch or supplied run ID: gh run list --branch <branch> --status failure --limit 5, then gh run view <run-id>. Done when: classify has the check name, status, and run identifier recorded, or fix and sweep have one failing run identified by its run ID and branch name from command output.python "<path-to-skill>/scripts/inspect_pr_checks.py" --repo "." --pr "<number-or-url>" (--json for machine output).GH_PAGER=cat gh pr checks <pr> --json name,state,bucket,link,startedAt,completedAt,workflow; rerun with the fields gh accepts if one is rejected. Extract the run id from detailsUrl, then GH_PAGER=cat gh run view <run_id> --json name,workflowName,conclusion,status,url,event,headBranch,headSha, GH_PAGER=cat gh run view <run_id> --log-failed for the failed jobs only or --log for all, GH_PAGER=cat gh run view <run-id> --log --job <job-id> for one failing job; for evidence logs cannot supply, gh run download <run-id> -D .artifacts/<run-id>. If a run log is still in progress, fetch job logs via gh api "/repos/<owner>/<repo>/actions/jobs/<job_id>/logs".detailsUrl is not a GitHub Actions run is external: report the URL only; do not attempt Buildkite or other providers.
Done when: every failing check has a name, URL, and a log snippet from command output, or an explicit log_pending/log_unavailable marker; never a fabricated snippet. In classify, preserve the exact failure line, signal, or message.regression (the change introduced or exposed the failure; the failing path is in the diff), flake/watch (timing-, order-, or environment-dependent; passes on retry or across runs without a code change), infrastructure (runner, network, quota, service outage, or resource exhaustion, not the code under test), configuration (build, config, dependency, or environment setup, not product logic), policy/absent-CI (absent, skipped, not configured, or blocked by a branch-protection or policy rule), or human escalation (evidence insufficient, contradictory, or outside the five classes; a human must decide). If a prior classification of the same check matches the new evidence, note the repeat; if it contradicts, re-classify from the new evidence. Done when: the failure is classified into exactly one class from observed evidence.gh are available: view the PR with GH_PAGER=cat gh pr view <branch> --json number,title,url,state and fetch the check rollup with --json statusCheckRollup; extract each failed check's logs with GH_PAGER=cat gh run view <run-id> --log-failed, collecting error messages with file paths and line numbers, compilation errors, lint names, test failure messages and stack traces, and build root causes. If any check is still in progress, report the partial state and stop; do not diagnose incomplete checks. Then write the plan: a problem statement summarizing the failing checks, the current state listing each error and its location, proposed changes grouped by category (formatting, linting, compilation, test failures, platform-specific), and validation steps (fmt, lint, tests, presubmit). Fix one category at a time. Apply no code change. Mark any unread run as untriaged. Done when: the plan carries the problem statement, current state, per-category proposed changes, and validation steps, or the plan is skipped and reported because no PR or gh is available. Then stop; if any further step would require a write, return human escalation.git diff --name-only lists only the approved file paths and the diff summary matches the approved plan.gh pr checks <pr>. Interactive mode has not pushed, so report local-fix-ready with the local proof and the observed red or pending remote checks; never imply that local edits changed CI. If the remote checks are already green because another actor updated the branch, report the observed green state without attributing it to the local patch. Done when: the current gh pr checks output is captured and the result is local-fix-ready with remote status quoted, or an independently updated remote run is observed green with its output quoted.
Autonomous branch (explicit user ask only): enter only when the user asks for the fix to be pushed (for example "push the fix" or "land it on a fix branch"); never self-initiated. Before any mutation, preview the failing job, the exact change set, and the target branch ci-fix/<original-branch>; the plan approval from fix step 2 doubles as the push approval once the preview is acknowledged.permissions: minimal, never broaden token access, no pull_request_target unless the user explicitly requested it. Done when: git diff on workflow files touches no permission key outside the previewed set.git checkout -b ci-fix/<original-branch>. Existing: show its current commits, confirm reuse with the user, git checkout ci-fix/<original-branch>, then git pull origin <original-branch>. Done when: the branch is checked out and git log --oneline -1 shows it carries only the previewed change.git add -- <paths>, then inspect the staged path list and patch. Stop if the staged set contains any extra path. Commit fix: resolve CI failure in <job-name>, then push git push -u origin ci-fix/<original-branch> (plain git push once upstream is set). Done when: git diff --cached --name-only lists only the approved paths and git push succeeds with the remote branch at the pushed SHA confirmed by git rev-parse origin/ci-fix/<original-branch>.gh run list --branch ci-fix/<original-branch> --limit 1 for the new run id, then gh run watch <new-run-id> --exit-status. Re-trigger only failed jobs with gh run rerun <new-run-id> --failed when the evidence is infrastructure or a confirmed flake and the user approves; a rerun never substitutes for a deterministic fix. Done when: gh run view <new-run-id> --json conclusion reports success, or the failure and recovery section applies.human escalation naming the missing evidence, or stating both signals when they imply different classes; never average or pick arbitrarily.policy/absent-CI; surface it, never treat it as passing or skip it. A check pending past the expected window or blocked by policy is surfaced with its next owner, never marked done. No PR for the branch: classification stands alone, skip the fix plan, and report that no PR exists; do not create one.gh run view --log-failed empty or erroring: report the unread run, continue triaging the remaining failed checks, and mark the unread run untriaged in the plan. CI still running: report the partial state and stop; do not diagnose incomplete checks.gh run list --branch ci-fix/<original-branch> --limit 1 and resume watching; never re-push blindly.Classify: one chat record with the check name, run identifier, observed failure signal, the single deterministic class, the next owner, and the one-sentence next action; no-CI and blocked states are included as their own classes, never omitted; the reviewable fix plan follows when a PR and gh are available, with untriaged checks explicitly marked and no code changes applied. Fix interactive: failing-check report (check name, run URL, log snippet, missing-log notes), then the ordered root-cause record (per root cause: check name, root cause, changed paths), applied diff, local-check results, and the observed current gh pr checks status; terminal local-fix-ready, blocked with the exact reason, or non-converged. Fix autonomous: the ordered root-cause record plus a summary in fixed order: failing run (link or ID), root cause, fix (what changed), verification (new run link showing green); terminal checks-pass, blocked (exact reason), or non-passing (link and analysis). Sweep: a terminal classification per swept check, reproduced (with the minimal verified patch as a proposal, verifier evidence, and the attempt count), non-actionable (handoff record with the accumulated evidence), or blocked (stopping reason and accumulated evidence).
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Use when explaining System V AMD64, ARM AAPCS, RISC-V psABI, stack frames, variadic calls, or FFI register rules. Not for the Rust FFI binding layer: use rust-ffi.
日本語の概要は準備中です。原文の説明を表示しています。
Use when configuring ADC sampling time, DMA-driven ADC, calibration, or DAC channel setup on bare-metal MCUs. Not for the DMA stream itself: use dma-baremetal.
日本語の概要は準備中です。原文の説明を表示しています。
Use when creating AF_XDP sockets, configuring UMEM and XSK rings, writing an XDP redirect program, or choosing copy versus zero-copy mode. Not for full kernel bypass: use dpdk.
日本語の概要は準備中です。原文の説明を表示しています。
Use when a completed session needs an agent-environment retrospective. Not for an engineering retrospective from telemetry: use engineering-retrospective.
日本語の概要は準備中です。原文の説明を表示しています。
Use when a redacted, trimmed agent transcript must be appended to a GitHub PR or issue body, with human approval and preview. Not for automated or model-initiated insertion.
日本語の概要は準備中です。原文の説明を表示しています。
Use when a repo needs agent setup, AGENTS.md added or made lean, CLAUDE.md audited, or agent instructions scored or pruned. Not for remote, credential, publish, deploy, or irreversible changes.
日本語の概要は準備中です。原文の説明を表示しています。