From qq
Automates iterative Claude subagent reviews of design documents or plans, revising until no critical issues or 5 rounds complete. Uses Docs/ MD files or conversation context.
npx claudepluginhub tykisgod/quick-questionThis skill uses the workspace's default tool permissions.
> **Invoke scripts via `${CLAUDE_PLUGIN_ROOT}/bin/<name>`.** That env var is set by Claude Code for every plugin context and gives the absolute path to the marketplace clone — no PATH or cwd assumptions. Bare-command invocation (e.g. `claude-plan-review.sh`) is NOT reliable: the plugin never puts its scripts on PATH, so bare calls exit 127.
Reviews design docs with an 8-point checklist validating problem clarity, success criteria, architecture fit, alternatives, scope, decisions, consistency, and handoff before planning.
Reviews PRDs, tech plans, design docs, and specs for issues using reviewer personas with HIGH/MEDIUM/LOW priority findings from parallel sub-agents.
Reviews design and implementation docs from analysis-process for document quality, internal consistency, and technical soundness before implementation-process.
Share bugs, ideas, or general feedback.
Invoke scripts via
${CLAUDE_PLUGIN_ROOT}/bin/<name>. That env var is set by Claude Code for every plugin context and gives the absolute path to the marketplace clone — no PATH or cwd assumptions. Bare-command invocation (e.g.claude-plan-review.sh) is NOT reliable: the plugin never puts its scripts on PATH, so bare calls exit 127.
Respond in the user's preferred language (detect from their recent messages, or fall back to the language setting in CLAUDE.md).
Arguments: $ARGUMENTS
.md file under Docs/Try in priority order:
Docs/qq/<branch-name>/tmp-review-spec_<YYYYMMDD-HHmm>.md, timestamped with the current time), then review that file. Get the branch name with: git branch --show-current | tr '/' '_'ls -t Docs/**/*.md | grep -v '/qq/' | head -1 to find the most recently modified design document (excluding generated review artifacts)Loop automatically — do not ask the user between rounds. Stop when any of the following is true:
[Critical] issues in the review resultEach round:
Use the Bash tool with run_in_background: true to run in the background:
${CLAUDE_PLUGIN_ROOT}/bin/claude-plan-review.sh <file_path>
The script calls claude -p, with results output to stdout and <filename>_review.md.
The script automatically reads the project root's CLAUDE.md and includes the coding standards in the Claude prompt.
Claude CLI review typically takes 2-5 minutes. Using background execution, the system will automatically notify when the command completes — no need to sleep or poll.
Notify the user that the background task has been submitted and will continue processing automatically when complete.
From round 2 onward: If the previous round had findings deemed over-engineered, append a custom prompt with context:
${CLAUDE_PLUGIN_ROOT}/bin/claude-plan-review.sh <file_path> "Review the updated document using the same review criteria as the first round (architecture, correctness, completeness, feasibility). Additional context: the following suggestions from the previous round were judged as over-engineered and replaced with simpler alternatives: <list items and rationale>. Do not re-suggest more complex approaches unless the simpler version introduces a real defect. Grade by severity: [Critical] [Moderate] [Suggestion]."
After the subagent returns, categorize findings by severity:
Present the summary to the user. Do not modify the spec yet — proceed to the verification step first.
Review Gate: After the review script runs, a PreToolUse hook blocks Edit/Write on
.csandDocs/*.mdfiles until at least 1 verification subagent completes. This is a mechanical constraint — you cannot edit the document until findings are verified.
For each critical and moderate issue, dispatch a subagent to verify it in depth — do not draw conclusions from a quick scan in the main session.
How to execute: Group all findings that need verification, and for each one (or a cluster of related ones) dispatch a subagent using the Agent tool (subagent_type: "general-purpose", model: "opus"), running in parallel. Each subagent's prompt must include the original finding (verbatim), relevant file paths, and the instructions from ../../shared/verification-prompt.md.
After dispatching all verification subagents, write the expected count to the gate file so the gate knows when all verifications are complete:
source "${CLAUDE_PLUGIN_ROOT}/scripts/platform/detect.sh"
IFS=: read -r ts count _ < "$QQ_TEMP_DIR/review-gate-$PPID"
echo "${ts}:${count}:N" > "$QQ_TEMP_DIR/review-gate-$PPID"
(Replace N with the actual number of verification subagents dispatched.)
Aggregate: After all subagents return, consolidate the results and present each finding's verdict and supporting evidence to the user.
[Critical] issues confirmed and fixed → automatically start the next round (back to 2a)[Critical] issues → output "Review passed" and end the loopPrint === Round N/5 === at the start of each round.
After the review loop ends (for any reason), clean up the gate marker:
source "${CLAUDE_PLUGIN_ROOT}/scripts/platform/detect.sh"
rm -f "$QQ_TEMP_DIR/review-gate-$PPID"
After the review loop ends, recommend the next step:
/qq:execute <path> to start implementing?"/qq:execute <path>, or another review round?"--auto mode: run qq-execute-checkpoint.py pipeline-advance --project . --completed-skill "/qq:claude-plan-review" --next-skill "/qq:execute", then invoke /qq:execute <path> --auto.
claude-plan-review.sh and requires Claude CLI (claude) to be availableDocs/qq/<branch-name>/ where branch name is obtained via git branch --show-current | tr '/' '_'