ワンクリックで
address-findings
Work through the open action items from the latest review entry in progress.md — a
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Work through the open action items from the latest review entry in progress.md — a
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Host orchestrator that drives an issue through the full per-issue lifecycle — dispatches each phase (review-issue → plan-task → review-plan → implement → review-code → triage-reviews → address-findings) as a fresh-context sub-agent, reads each phase's progress.md entry to choose the next action, and pauses at user checkpoints. Local-first: the PR is created at the end, never auto-pushes or auto-merges without confirmation.
Evaluate a GitHub issue against workspace principles and ADRs before work begins. Records findings in progress.md and best-effort posts them as a comment on the issue.
Independent evaluation of a committed work plan before implementation begins. Checks scope, approach, principle alignment, consequences, and ROS conventions.
Activate deployment mode for a live field deployment. Discovers the project's deployment config, detects dev/field side via field_mode.sh, and either creates a new deployment, first-activates an existing one (worktree/main-tree + per-host log + issue-sync push), or resumes an ongoing one. Loads the urgency contract (sterile-cockpit / mitigate-before-diagnose / time-box) into the current agent session.
Close out a field deployment. Verifies dev-side access, finds the open deployment issue, collects field logs, interviews the operator for corrections, consolidates the dev log, reconciles field code via SHA-preserving merge and /import-field-changes, opens the wrap-up PR (Closes
Lead reviewer that orchestrates specialist sub-reviews (static analysis, governance, plan drift, adversarial) to evaluate a PR or pre-push diff. Scales review depth to change risk. Produces a unified structured report and persists findings to progress.md.
SOC 職業分類に基づく
| name | address-findings |
| description | Work through the open action items from the latest review entry in progress.md — a |
/address-findings [--issue <N>]
Run from the issue's worktree (or pass --issue <N>). Operates on the
latest review entry — a ## Integrated Review (post-PR triage) or a
## Local Review (Pre-Push) (pre-push review-code) — in that issue's
.agent/work-plans/issue-<N>/progress.md.
Lifecycle position:
A review phase produces the source review entry — triage-reviews a
## Integrated Review (post-PR), or pre-push review-code a ## Local Review (Pre-Push) (changes-requested). Either is a fix plan of - [ ] checkbox
actions (must-fix and suggestions), plus plain-bullet false positives that are
dismissals, not actions. This skill consumes that entry — it works each open
action, commits the fix atomically, checks the box, and writes one closing
## Implementation entry so the timeline shows what was addressed.
It is deliberately thin: it does not re-classify findings (that was the
review's job — triage-reviews post-PR, review-code pre-push) and does not
re-review its own work (that is the next review-code pass). It only acts on
an agreed fix plan.
Entry type — writes ## Implementation (an existing ADR-0013 type;
no new type is minted). The orchestrator (/run-issue, #492) reads the
last entry: ## Implementation → dispatch a re-review.
Note for #492:
## Implementationis shared — both this skill and a futureimplementskill write it — so the orchestrator can't route on entry type alone (a fresh implement pass and a post-triage fix pass both land as## Implementation). It should disambiguate by what precedes the entry (a## Integrated Reviewor## Local Review (Pre-Push)immediately before ⇒ this was an address-findings pass ⇒ next is re-review). Flagged here for #492's design.
Resolve <N> from --issue or $WORKTREE_ISSUE. The file is
.agent/work-plans/issue-<N>/progress.md in the issue's worktree. If it
doesn't exist, stop with an error — there's no triage to address.
This skill addresses whichever review came last — a ## Integrated Review
(post-PR, from triage-reviews) or a ## Local Review (Pre-Push)
(pre-push, from review-code). Use the shared parser rather than re-parsing
markdown (--type is repeatable):
python3 .agent/scripts/progress_read.py \
.agent/work-plans/issue-<N>/progress.md \
--type "Integrated Review" --type "Local Review (Pre-Push)"
progress_read.py emits JSON. Consider only entries whose base_type is
Integrated Review or Local Review (Pre-Push) — not the raw
--type match, which for "Integrated Review" also surfaces legacy
## External Review (its recognized predecessor), which this skill must not
act on. (--type "Local Review (Pre-Push)" matches only that exact heading —
it does not also return the post-PR ## Local Review, which run-issue
never produces here anyway.) Take the single latest such entry — the source
review entry — and act only on it; never merge findings across entries or fall
back to an older one (so a stale pre-push review is ignored once a later
Integrated Review exists, and vice-versa). Then:
Integrated Review /
Local Review (Pre-Push) is present — no review has run yet): report "no
review entry to address — run review-code (pre-push) or triage-reviews
(post-PR) first" and exit without a commit. Do not fall back to other
entry types.findings[] array. Each finding is
{section, checked, source_hint, text}. The action items are the entries with
checked == false. (False positives are plain bullets, so they never appear
in findings[] — no special handling needed.)"Latest" is progress.md append order — entries are appended chronologically, so the last qualifying entry in file order is the most recent review. (The
run-issueloop never reorders the file.)Pre-push actions all unchecked findings — including suggestions. Post-PR
triage-reviewscurates which findings become- [ ]actions; pre-pushreview-codewrites both must-fix and suggestions as unchecked checkboxes, so address-findings will action the suggestions too. That's intended (suggestions on your own pre-push diff are cheap to apply) — defer any you disagree with via the Step 3.2(deferred: …)path rather than skipping them.
For each unchecked finding, in listed order (cross-confirmed first):
Make the code/doc change the finding calls for. Read the cited
file:line and the surrounding code first — verify the finding
against the current source before acting (a finding can be stale if
an earlier round already touched the area).
If, on inspection, the finding is not actionable (already fixed,
or a genuine false negative on re-read), do not fake a change.
Record it as a deferred item: check its box in the source review
entry with a (deferred: <reason>) annotation and list it in
the ## Implementation deferred actions (step 5). Checking it (rather
than leaving it open) is deliberate: a finding's checkbox should reflect
whether it still needs attention, and a deferred one does not. It also
keeps the skill idempotent — if address-findings is ever re-run against
the same source review entry, it acts only on checked == false
items and so won't re-attempt a deferral. "Checked" here means
consciously handled, not code changed; the (deferred: …) annotation
records which.
From the issue worktree, stage the files for this finding and commit atomically with pre-commit hooks and per-invocation identity (AGENTS.md § Agent Commit Identity):
git -c user.name="$AGENT_NAME" -c user.email="$AGENT_EMAIL" \
commit -m "<area>: <what was fixed> (#<N>)"
Never --no-verify. One logical fix per commit. The source review
entry's box-check (next step) is the one permitted addition to a
finding's commit beyond the finding's own files.
Check the box for that finding in the source review entry
(- [ ] → - [x]) so the timeline tracks resolution — in the same
commit as the fix, or a trailing progress commit.
After the last fix, run the relevant quick checks (the linters
pre-commit already ran, plus any package test touched by the changes).
This is not a full review-code — it's a sanity pass before handing to
the re-review.
## Implementation entryAppend one entry (per ADR-0013; reuse ## Implementation). ADR-0013 lists
## Implementation among the PR/Branch-correlated types, so the entry must
carry a **Branch**:/**PR**: line — without it progress_read.py parses the
entry's correlation as null:
## Implementation
**Status**: complete
**When**: <YYYY-MM-DD HH:MM ±HH:MM>
**By**: <agent name> (<model>)
**Branch**: <branch-name> at `<short-sha>` <!-- or **PR**: #<N> at `<sha>` if a PR exists -->
**Addressed**: <the source review entry's type + When/SHA it consumed>
**Commits**: <short-shas of the fix commits>
### Actions
- [x] <finding addressed> — `file:line`
- [x] <finding consciously deferred — checked, so it reads as handled> — `file:line` (deferred: <reason>)
Deferred / not-actionable findings are written checked with a (deferred: …) annotation — checked means "consciously handled," so the checkbox reflects
that the finding no longer needs attention (and a re-run against the same entry,
which acts only on checked == false items, won't re-attempt it). Never leave a
deliberately-skipped finding unchecked.
Commit (do not push — when dispatched as a sub-agent the host performs pushes; AGENTS.md § Agent Commit Identity). Run from the issue worktree:
git add .agent/work-plans/issue-<N>/progress.md
git -c user.name="$AGENT_NAME" -c user.email="$AGENT_EMAIL" \
commit -m "progress: addressed review findings for #<N>"
Lifecycle: Implementation → review-code (re-review the fixes)
Hand off to a fresh-context sub-agent — independence is what makes the re-review trustworthy. Use the dispatcher:
.agent/scripts/dispatch_subagent.sh --mode in-process --issue <N> --skill review-code
The re-review reads the diff cold and confirms the findings are genuinely
resolved. No auto-chaining (Scope E): this skill never dispatches the next
phase itself — the host orchestrator (/run-issue, #492) drives, pausing at
user checkpoints. This step only emits this prompt and its progress.md entry.
triage-reviews post-PR, or review-code pre-push) already classified each
finding. If you disagree with a finding on inspection, defer it with a reason;
don't silently drop it or argue it in the commit.(deferred: <reason>) so it reads as "handled, not
changed" (see Step 3.2 / Step 5). What you must never do is leave a finding
silently untouched — every finding ends either fixed-and-checked or
deferred-checked-with-reason.review-code
pass is the quality gate on this work.