plugins/ed3d-plan-and-execute/skills/requesting-code-review/SKILL.md
Use when completing tasks, implementing major features, or before merging to verify work meets requirements - dispatches code-reviewer subagent, handles retries and timeouts, manages review-fix loop until zero issues
npx skillsauth add ed3dai/ed3d-plugins-testing requesting-code-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Dispatch ed3d-plan-and-execute:code-reviewer subagent to catch issues before they cascade.
Core principle: Review early, review often. Fix ALL issues before proceeding.
Do not use nested subagents. This skill may dispatch code-reviewer and task-bug-fixer as first-level subagents. Those subagents must do their assigned work directly and must not dispatch additional subagents.
If the calling context provides a SCRATCHPAD_DIR, pass it to code-reviewer.
This prevents collisions when multiple planning/execution sessions run in parallel. The SCRATCHPAD_DIR is a namespaced temp directory (e.g., /tmp/plan-2025-01-24-feature-a7f3b2/) that the code-reviewer uses for any scratch files.
Mandatory:
Optional but valuable:
The review process is a loop: review → fix → re-review → until zero issues.
┌──────────────────────────────────────────────────┐
│ │
│ Dispatch code-reviewer │
│ │ │
│ ▼ │
│ Issues found? ──No──► Done (proceed) │
│ │ │
│ Yes │
│ │ │
│ ▼ │
│ Dispatch bug-fixer │
│ │ │
│ ▼ │
│ Re-review with prior issues ◄──────────────────┘
│
└──────────────────────────────────────────────────┘
Exit condition: Zero issues, or issues accepted per your workflow's policy.
Get git SHAs:
BASE_SHA=$(git rev-parse HEAD~1) # or commit before task
HEAD_SHA=$(git rev-parse HEAD)
Dispatch code-reviewer subagent:
<invoke name="Task">
<parameter name="subagent_type">ed3d-plan-and-execute:code-reviewer</parameter>
<parameter name="description">Reviewing [what was implemented]</parameter>
<parameter name="prompt">
Use template at requesting-code-review/code-reviewer.md
WHAT_WAS_IMPLEMENTED: [summary of implementation]
PLAN_OR_REQUIREMENTS: [task/requirements reference]
BASE_SHA: [commit before work]
HEAD_SHA: [current commit]
DESCRIPTION: [brief summary]
SCRATCHPAD_DIR: [session-isolated temp dir, or omit if not applicable]
Do not dispatch or invoke any subagents.
</parameter>
</invoke>
Code reviewer returns: Strengths, Issues (Critical/Important/Minor), Assessment
All categories empty → proceed to next task.
Regardless of category (Critical, Important, or Minor), dispatch bug-fixer:
<invoke name="Task">
<parameter name="subagent_type">ed3d-plan-and-execute:task-bug-fixer</parameter>
<parameter name="description">Fixing review issues</parameter>
<parameter name="prompt">
Fix issues from code review.
Code reviewer found these issues:
[list all issues - Critical, Important, and Minor]
Your job is to:
1. Understand root cause of each issue
2. Apply fixes systematically (Critical → Important → Minor)
3. Verify with tests/build/lint
4. Commit your fixes
5. Report back with evidence
6. Do not dispatch or invoke any subagents.
Work from: [directory]
Fix ALL issues — including every Minor issue. The goal is ZERO issues on re-review.
Minor issues are not optional. Do not skip them.
</parameter>
</invoke>
After fixes, proceed to Step 3.
CRITICAL: Track prior issues across review cycles.
<invoke name="Task">
<parameter name="subagent_type">ed3d-plan-and-execute:code-reviewer</parameter>
<parameter name="description">Re-reviewing after fixes (cycle N)</parameter>
<parameter name="prompt">
Use template at requesting-code-review/code-reviewer.md
WHAT_WAS_IMPLEMENTED: [from bug-fixer's report]
PLAN_OR_REQUIREMENTS: [original task/requirements]
BASE_SHA: [commit before this fix cycle]
HEAD_SHA: [current commit after fixes]
DESCRIPTION: Re-review after bug fixes (review cycle N)
SCRATCHPAD_DIR: [session-isolated temp dir, or omit if not applicable]
PRIOR_ISSUES_TO_VERIFY_FIXED:
[list all outstanding issues from previous reviews]
Verify:
1. Each prior issue listed above is actually resolved
2. No regressions introduced by the fixes
3. Any new issues in the changed code
Do not dispatch or invoke any subagents.
Report which prior issues are now fixed and which (if any) remain.
</parameter>
</invoke>
Tracking prior issues:
Loop back to Step 2 if any issues remain.
If reviewer reports operational errors (can't run tests, missing scripts):
Usually means context limits. Retry with focused scope:
First retry: Narrow to changed files only:
FOCUSED REVIEW - Context was too large.
Review ONLY the diff between BASE_SHA and HEAD_SHA.
Focus on: [list only files actually modified]
Skip: broad architectural analysis, unchanged files, tangential concerns.
WHAT_WAS_IMPLEMENTED: [summary]
PLAN_OR_REQUIREMENTS: [reference]
BASE_SHA: [sha]
HEAD_SHA: [sha]
Second retry: Split into multiple smaller reviews (one per file or logical group).
Third failure: Stop and ask human for help.
| Situation | Action | |-----------|--------| | Zero issues | Proceed | | Any issues | Fix, re-review (or accept per workflow) | | Operational error | Stop, report, wait | | Timeout | Retry with focused scope | | 3 failed retries | Ask human |
Never:
Minor issues are NOT optional. The code reviewer flagged them for a reason. Fix all of them. "Minor" means lower severity, not "ignorable."
If reviewer wrong:
Called by:
Template location: requesting-code-review/code-reviewer.md
development
Use when the user wants to review a Claude Code session for quality — analyzes the current session (or a specified transcript path) for prompting effectiveness, agent performance, and environment gaps, producing actionable recommendations
development
Use when the user wants to review their recent Claude Code sessions for patterns — analyzes the last N sessions (default 5) in the current project, dispatching parallel reviewers per session, then synthesizing cross-session findings
tools
Use when the user wants to export a Claude Code session transcript as a readable Markdown file — converts the current session (or a specified transcript path) into GitHub-flavored Markdown with metadata header, collapsible tool results, and thinking blocks
development
Use when planning features and need current API docs, library patterns, or external knowledge; when testing hypotheses about technology choices or claims; when verifying assumptions before design decisions - gathers well-sourced, current information from the internet to inform technical decisions