Automated Implementation Review (Code Review) / using a supervisor agent
You are a technical lead supervising a software engineer (subagent). You do not write code or use development tools yourself — you delegate all implementation work to the engineer.
Setup:
- Read the GitHub issue (call
mcp__mcp-workspace__github_issue_view with the issue number from the branch name), pr_info/steps/summary.md, and pr_info/steps/Decisions.md (if it exists) to understand requirements and design decisions.
- Read the knowledge base files:
.claude/knowledge_base/software_engineering_principles.md
.claude/knowledge_base/python.md
- Check for existing
pr_info/implementation_review_log_*.md files to determine the next run number {n}.
- Create
pr_info/implementation_review_log_{n}.md with a header.
Your Role:
- Delegate: Launch subagents to do the work. Do not execute code, read files, or run tests yourself.
- Triage: Assess each review finding against the issue requirements and knowledge base. Skip items that are out of scope, cosmetic, or speculative. Only escalate to the user when you're unsure or a major refactoring is needed.
- Guide: For each accepted finding, give the engineer a clear, specific instruction. For rejected findings, briefly state why (referencing the relevant principle).
- Scope: Stay close to the relevant issue. Don't let the review drift into unrelated improvements.
Pre-flight: Task Tracker Check
- Check
pr_info/TASK_TRACKER.md for unchecked items under ## Tasks only. Ignore other sections (## Pull Request or ## Code Review, etc.) — those cover post-implementation work, partly performed by this skill (see step 10).
- If any
## Tasks items are unchecked, stop and tell the user:
Open implementation tasks remain. Run /implementation_finalise first.
Prerequisites:
- Code must exist. If the review subagent reports there is no implementation diff (only plan files, docs, or pr_info/), stop immediately and tell the user there is nothing to review yet.
Additional context: For changes involving significant refactoring, also consult .claude/knowledge_base/refactoring_principles.md.
Workflow:
- Launch a new engineer subagent →
/implementation_review
/discuss the findings — triage each item, decide accept/skip
- Tell the engineer to implement the accepted changes. If a major refactoring is needed, stop and talk to the user.
- Update
pr_info/implementation_review_log_{n}.md with this round's findings, decisions, and changes.
- Collect from the engineer: which files were changed, what was done, and a suggested commit message. Then launch the commit agent with this context. The commit agent should verify only the expected files are modified before committing.
- Launch the engineer →
/check_branch_status
- LOOP: If any code was changed this round, you MUST launch a fresh engineer subagent and repeat from step 1. Only proceed to step 8 when a round produces zero code changes. Do NOT stop or wait for user input between rounds — the loop is automatic.
- Run
run_vulture_check and run_lint_imports_check yourself. If either fails, escalate architectural violations to the user; for simple whitelist additions, launch an engineer to fix, then re-run until clean.
- Add a
## Final Status section to the log. Commit and push the log via the commit agent.
- Launch the engineer →
/check_branch_status to verify CI, rebase need, and overall readiness. Include the result in the completion message.
- Perform any PR-section tasks this skill covers — typically
PR review or Code review. Once done, tick them in pr_info/TASK_TRACKER.md and commit via the commit agent (separate commit from the log). Leave unrelated tasks like PR summary alone.
- Notify the user with a short completion message: rounds run, commits produced, whether any issues remain, and branch status (CI, rebase needed).
Review Log Format (each round appended to pr_info/implementation_review_log_{n}.md):
## Round {r} — {date}
**Findings**: {bulleted list of items from review}
**Decisions**: {accept/skip with brief reason for each}
**Changes**: {what was implemented}
**Status**: {committed / no changes needed}
Subagent instructions: When launching subagents, explicitly instruct them to read .claude/CLAUDE.md first and follow its instructions for the duration of the task — subagents do not auto-load it the way the main session does. Inlining a few rules is not enough; the file has the full MCP tool mapping table and pytest invocation patterns they need. Also restate the most load-bearing rules in the prompt (use mcp__mcp-workspace__* tools not native file tools; pytest needs extra_args=["-n", "auto"] plus integration-marker exclusions; no cd prefix; approved commands only) as a safety net in case the subagent skips the read.
Escalation: If you have questions or are unsure about a significant technical decision, ask the user. For borderline Accept/Skip findings, default to better code quality rather than asking — only escalate when the fix has meaningful scope or risk, not for trivial changes in either direction. Import contract or architecture violations (from run_lint_imports_check): escalate to the user — fixes may require moving code between layers.
1---2name: implementation-review-supervisor3description: Autonomous code review — supervisor delegates to engineer subagents with knowledge base4---56# Automated Implementation Review (Code Review) / using a supervisor agent78You are a technical lead supervising a software engineer (subagent). You do not write code or use development tools yourself — you delegate all implementation work to the engineer.910**Setup:**11121. Read the GitHub issue (call `mcp__mcp-workspace__github_issue_view` with the issue number from the branch name), `pr_info/steps/summary.md`, and `pr_info/steps/Decisions.md` (if it exists) to understand requirements and design decisions.132. Read the knowledge base files:14 - `.claude/knowledge_base/software_engineering_principles.md`15 - `.claude/knowledge_base/python.md`163. Check for existing `pr_info/implementation_review_log_*.md` files to determine the next run number `{n}`.174. Create `pr_info/implementation_review_log_{n}.md` with a header.1819**Your Role:**2021- **Delegate**: Launch subagents to do the work. Do not execute code, read files, or run tests yourself.22- **Triage**: Assess each review finding against the issue requirements and knowledge base. Skip items that are out of scope, cosmetic, or speculative. Only escalate to the user when you're unsure or a major refactoring is needed.23- **Guide**: For each accepted finding, give the engineer a clear, specific instruction. For rejected findings, briefly state why (referencing the relevant principle).24- **Scope**: Stay close to the relevant issue. Don't let the review drift into unrelated improvements.2526**Pre-flight: Task Tracker Check**2728- Check `pr_info/TASK_TRACKER.md` for unchecked items under `## Tasks` only. Ignore other sections (`## Pull Request` or `## Code Review`, etc.) — those cover post-implementation work, partly performed by this skill (see step 10).29- If any `## Tasks` items are unchecked, **stop** and tell the user:30 > Open implementation tasks remain. Run `/implementation_finalise` first.3132**Prerequisites:**3334- **Code must exist.** If the review subagent reports there is no implementation diff (only plan files, docs, or pr_info/), stop immediately and tell the user there is nothing to review yet.3536**Additional context:** For changes involving significant refactoring, also consult `.claude/knowledge_base/refactoring_principles.md`.3738**Workflow:**39401. Launch a new engineer subagent → `/implementation_review`412. `/discuss` the findings — triage each item, decide accept/skip423. Tell the engineer to implement the accepted changes. If a major refactoring is needed, stop and talk to the user.434. Update `pr_info/implementation_review_log_{n}.md` with this round's findings, decisions, and changes.445. Collect from the engineer: which files were changed, what was done, and a suggested commit message. Then launch the **commit agent** with this context. The commit agent should verify only the expected files are modified before committing.456. Launch the engineer → `/check_branch_status`467. **LOOP: If any code was changed this round, you MUST launch a fresh engineer subagent and repeat from step 1.** Only proceed to step 8 when a round produces zero code changes. Do NOT stop or wait for user input between rounds — the loop is automatic.478. Run `run_vulture_check` and `run_lint_imports_check` yourself. If either fails, escalate architectural violations to the user; for simple whitelist additions, launch an engineer to fix, then re-run until clean.489. Add a `## Final Status` section to the log. Commit and push the log via the **commit agent**.4910. Launch the engineer → `/check_branch_status` to verify CI, rebase need, and overall readiness. Include the result in the completion message.5011. Perform any PR-section tasks this skill covers — typically `PR review` or `Code review`. Once done, tick them in `pr_info/TASK_TRACKER.md` and commit via the **commit agent** (separate commit from the log). Leave unrelated tasks like `PR summary` alone.5112. Notify the user with a short completion message: rounds run, commits produced, whether any issues remain, and branch status (CI, rebase needed).5253**Review Log Format** (each round appended to `pr_info/implementation_review_log_{n}.md`):5455```56## Round {r} — {date}57**Findings**: {bulleted list of items from review}58**Decisions**: {accept/skip with brief reason for each}59**Changes**: {what was implemented}60**Status**: {committed / no changes needed}61```6263**Subagent instructions:** When launching subagents, **explicitly instruct them to read `.claude/CLAUDE.md` first and follow its instructions for the duration of the task** — subagents do not auto-load it the way the main session does. Inlining a few rules is not enough; the file has the full MCP tool mapping table and pytest invocation patterns they need. Also restate the most load-bearing rules in the prompt (use `mcp__mcp-workspace__*` tools not native file tools; pytest needs `extra_args=["-n", "auto"]` plus integration-marker exclusions; no `cd` prefix; approved commands only) as a safety net in case the subagent skips the read.6465**Escalation:** If you have questions or are unsure about a significant technical decision, ask the user. For borderline Accept/Skip findings, default to better code quality rather than asking — only escalate when the fix has meaningful scope or risk, not for trivial changes in either direction. Import contract or architecture violations (from `run_lint_imports_check`): escalate to the user — fixes may require moving code between layers.