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 landing a queue of open PRs: gate each PR, sweep its review feedback to root cause, then merge, repair, hold, or close it. Human-only.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
| Field | Bound contract |
|---|---|
| Trigger | A set of open PRs needs landing together; the user says "land these PRs", "merge the stack", "clear the PR queue", or names a merge train. |
| Authority | Remote: merges, repairs, pushes to, and closes pull requests on GitHub; requires explicit human invocation. The human authorizes the queue once before the first merge, authorizes every push to a branch they do not own, and says yes once to the previewed close set. |
| Side effect | Root-cause repair commits pushed to PR head branches, review-thread replies and resolutions, PR review comments for unresolved findings, PR closures carrying a rationale comment, and stack merges on GitHub. No merge on a pending or pre-fix head. |
| Done | Every PR reached one of merge, repair, hold, or close; one line per PR; no merge on a pending or pre-fix oid. |
resolve. This skill sweeps feedback only as part of landing a queue.gate-proposed-change.Neither this skill nor resolve can invoke the other, because both are disable-model-invocation: true. That is why the sweep reaches the sibling's scripts by path rather than firing the sibling skill.
OWNER/REPO when the queue is not the current repository. Optional; the two read-only sweep scripts take it, and the two thread-mutating ones need no repository argument.Run one serial loop: gate a PR, act on its findings, reach its terminal, move to the next. Serial because every merge changes the base the next PR is gated against.
statusCheckRollup here; references/gotchas.md carries the failure it causes:gh pr list --state open --limit 100 --json number,title,url,headRefName,baseRefName,headRefOid,isDraft,mergeable,mergeStateStatus,reviewDecision,maintainerCanModify
Done when: every open PR is listed with the exact field set.
Build the stack order. A PR whose baseRefName equals another open PR's headRefName is that PR's child; everything else is a root. Order topologically, parents first, roots by ascending number. Print the order as a tree and take one yes before the first merge. After a parent merges GitHub retargets its children, so re-read the child's baseRefName at its turn rather than trusting the graph drawn at the start. Done when: the stack order is printed as a tree and the human says yes.
For each PR in order, run the gate ladder below and apply the single verdict table. Do not build a mechanical prefilter plus a separate QA pass: a draft flag and an unhandled nil are both findings, differing only in what produced them. Done when: every PR reached one of the four terminals.
Two questions decide the terminal, asked in this order per PR. First, direction: does the PR's stated concern still hold, and is its approach still the one to take? Second, repair bound: is every surviving finding's repair bounded?
| Verdict | Condition | Action |
|---|---|---|
close | The concern is already satisfied, the approach is superseded, or the repair would replace the whole change. | Close with a rationale comment naming the evidence, once the human has said yes to the close set. |
repair | Direction holds and every finding's repair is bounded. | Repair at the root on the PR head branch, push, re-run the checks gate against the new head, merge. |
hold | Direction holds and one finding's repair is unbounded, or a swept thread stayed needs-human. | One PR review via gh pr review <n> --comment --body-file - carrying every unresolved finding. Hold, continue the queue. |
merge | No finding survives the ladder. | Merge at the current headRefOid. |
A repair is bounded when all three hold: it changes no public contract the PR did not already change; the repository verification passes after it; and it needs no decision the PR author has not already made. Otherwise it is unbounded. gh pr diff <n> --name-only is not the allowlist, because a root-cause repair reaches the subsystem that owns the fault rather than staying inside the changed hunk; the file list is the input to the first condition, not the test itself. Use --comment rather than --request-changes, because a comment records the findings without seizing the approval state.
references/reviewer-subagent.md. Done when: every PR in the queue has one returned finding set from a subagent that never saw the merge decision.A finding is evidence about the design that produced it. Name the design-level fault in one sentence before touching a line, repair so the general case absorbs the special case, and re-read the touched surface afterward. A conditional that special-cases the reported input, a wrapper that catches the fault downstream, or a flag that hides it leaves the fault in place and does not count as a repair. A repair that reaches outside the PR file set is still bounded when it meets the three conditions in the verdict table; file identity is not the test.
isDraft: true holds the PR with no comment, because a draft is not asking.mergeable: "CONFLICTING" takes the conflict path in references/gotchas.md.mergeable: "UNKNOWN" means GitHub is still computing: re-read once, then hold.reviewDecision: "CHANGES_REQUESTED" routes to the review-feedback gate rather than terminating here. This does not overrule the human: the sweep answers the reviewer with a repair or a declined-with-evidence reply, and any item the sweep cannot settle stays needs-human and holds the PR.Never gate on mergeStateStatus. references/gotchas.md carries the evidence.
A PR carrying an unresolved thread, a non-empty review body, or a non-bot top-level comment reaches this gate. A PR carrying none of those skips it. The procedure is references/feedback-sweep.md; four rules bind it here:
references/feedback-sweep.md, taken verbatim from resolve's rubric. A fixed or fixed-differently verdict is repaired under the repair posture above, then replied to and resolved.needs-human sets the PR's verdict to hold.Done when: every enumerated item carries a verdict, every fixed and fixed-differently item is repaired and its thread resolved, and the only unresolved threads left are needs-human.
The subagent reports the file set as mixed concerns, as a lockfile or generated path alongside source, or as one concern. Mixed concerns is what makes the revert impossible later, and splitting a PR is a decision its author has not made, so a mixed-concerns finding fails the third bound condition and holds the PR. Criteria are in references/reviewer-subagent.md.
The subagent reads the whole diff once and returns findings in six classes, from wrong-on-a-plausible-input through convention. Each finding names a reachable input or state, a file:line, the design-level fault it is evidence of, and every file its repair would touch. A line that is merely unlovely is not a finding. The classes and the return shape are in references/reviewer-subagent.md.
The returned file list is the input to the bound test, not the test. Read it against the three conditions in the verdict table.
The subagent reports a behavior change with no test that fails without it, and says whether the repository has a suite the change fits and whether the change touches a trust boundary or data at rest. Both answers feed the bound test. Never demand a test for plumbing.
This gate runs last, against the head that will actually merge, because any push from the feedback or repair path moves headRefOid and restarts CI. Reading it earlier means reading a head that no longer exists at merge time.
gh pr view <n> --json number,headRefOid,statusCheckRollup
One PR at a time, and never in the bulk listing. references/gotchas.md carries why, how to read a CheckRun against a legacy status context, and what to do with a check that is still running.
maintainerCanModify: false on a cross-repo PR makes the push impossible, so the repair becomes a comment carrying the patch. Same finding, different delivery, one path.gh pr merge <n> --merge --match-head-commit <current headRefOid>. The flag is the race guard, refusing if the head moved again under a concurrent push.| File | Load when |
|---|---|
references/feedback-sweep.md | The review-feedback gate fires, meaning the PR carries an unresolved thread, a review body, or a top-level comment |
references/reviewer-subagent.md | Dispatching the reading gates for a PR, at procedure step 4 |
references/gotchas.md | The checks gate reads a PR, the listing call fails, mergeStateStatus looks like a gate, or a PR conflicts |
hold with the close rationale posted as the review comment. Never close without the yes.hold. Never merge on an absent review.mergeable: "UNKNOWN": re-read once; still unknown is a hold.gh pr checks <n> --watch --fail-fast, then re-read; never merge on a non-COMPLETED status.maintainerCanModify: false: deliver the repair as a comment carrying the patch; do not attempt a second push flow.--match-head-commit refuses if the head moved; re-read headRefOid and re-merge.One line per PR naming its verdict: merged, repaired-then-merged with the repair SHA, held with the gate and the comment URL, or closed with the rationale comment URL. No merge on a pending or pre-fix oid.
For every PR that reached the review-feedback gate, add its swept-thread counts: enumerated, repaired, replied, resolved, and left needs-human.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
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.
日本語の概要は準備中です。原文の説明を表示しています。