원클릭으로
quickapps-design-review
// Use when the user asks to review, critique, validate, or approve a design doc under docs/designs/. Appends a Review Notes block; on explicit approval, strips notes and flips Status to Approved.
// Use when the user asks to review, critique, validate, or approve a design doc under docs/designs/. Appends a Review Notes block; on explicit approval, strips notes and flips Status to Approved.
Formats file and URL parameters for tool calls. You must analyze the target tool's parameter names and descriptions to choose the correct format (base64, text, or URL ref).
Use before creating a PR or claiming a change is ready (or on explicit user invocation). Self-reviews the current diff against the patterns this team's reviewers consistently flag.
| name | quickapps-design-review |
| description | Use when the user asks to review, critique, validate, or approve a design doc under docs/designs/. Appends a Review Notes block; on explicit approval, strips notes and flips Status to Approved. |
| context | fork |
| agent | general-purpose |
| model | opus |
| effort | xhigh |
You are running in a forked, isolated context. Read and research freely — only the final summary you return reaches the main conversation. All file edits (appending review notes, flipping Status on approval) happen here.
docs/designs/. If the user gave an explicit path, use it. If they named the doc loosely ("the toolset design"), match it against filenames in docs/designs/. If multiple plausible matches exist, stop and ask which one.docs/designs/.Pick exactly one, based on the user's phrasing and the current state of the doc:
| Mode | Trigger | Action |
|---|---|---|
| Initial review | User asks to review/critique/validate. Doc has no ## Review Notes — Round N section. | Review, append a ## Review Notes — Round 1 block at the bottom. |
| Revision review | Doc already has one or more ## Review Notes — Round N sections; user wants another pass. | Review, append ## Review Notes — Round N+1 below the previous rounds. Preserve prior rounds (they are the history). |
| Approval | User explicitly says "approve", "mark approved", "looks good, approve it", or similar unambiguous approval. | Strip all review-notes sections, flip Status to Approved, add an Approved: date line. Do not perform another review. |
Edge cases:
Approved, Implemented, or Superseded and the user asks for a fresh review, stop and ask them to confirm — the doc is past the review stage.Read — in this order:
docs/designs/README.md — required structure, lifecycle, best practices.docs/designs/template.md — the canonical section list.CLAUDE.md and CLAUDE.local.md — project conventions.CODESTYLE.md if referenced by the doc or relevant to a claim.docs/agent.md, docs/skills.md), only where relevant.goToDefinition, findReferences, hover) for navigation; fall back to Grep/Read only when LSP can't answer.Do not skip this. A review that hasn't verified the doc's claims against the codebase is low-signal noise.
For each dimension, produce a finding only when something is actually off — do not invent filler. Every finding must cite a specific section or quoted snippet from the doc.
docs/designs/README.md present? If one is missing, is the omission defensible for this doc?None handling, and omitted-field semantics explicit?*_module.py + configure(binder)), module boundaries, preview-feature gating (ENABLE_PREVIEW_FEATURES), config schema auto-gen (make dump_app_schema), aidial_sdk vs aidial_client type boundaries.StagedBaseTool._run_in_stage_report_success) rather than inlined?Foo", "this does not require X". The Migration / Non-breaking changes section is the sanctioned home for such facts (and even there, keep it terse); elsewhere they bloat the doc without informing the reader. Recommend cutting.Prefer a small number of sharp findings over exhaustive nitpicking.
Append to the end of the target doc, separated from the existing content by a --- rule, using exactly this structure:
---
## Review Notes — Round N
- **Reviewer:** Claude (quickapps-design-review skill)
- **Date:** YYYY-MM-DD
### Verdict
One of: `Blocking issues must be addressed` | `Ready for approval pending minor suggestions` | `Approval-ready`.
Follow with one short paragraph: what is strong, what blocks approval, what the author should revise.
### Blocking issues
Findings the author must resolve before approval. Omit this subsection if there are none.
1. **[Section name]** — issue description with evidence (quoted doc line, or reference to a codebase file `path/to/file.py:NN`).
**Suggestion:** concrete action the author can take.
### Suggestions
Non-blocking improvements worth considering. Omit if none.
1. **[Section name]** — ...
### Nits
Minor wording, formatting, or consistency tweaks. Omit if none.
1. **[Section name]** — ...
### Changes since previous round
*Revision reviews only.* For each finding from the previous round, mark it **resolved**, **partially addressed**, or **still open**, with a one-line justification. Omit this subsection in Round 1.
Rules:
currentDate).Only when the user has explicitly approved in their message:
## Review Notes — Round N section and the preceding --- rule, from the first review-notes divider to EOF.- **Status:** Draft (or current non-Approved status) to - **Status:** Approved.- **Approved:** YYYY-MM-DD on the line directly below Status.Return a short summary — five lines or fewer. Include:
Do not reproduce the review text — it is already in the doc.
Example:
Reviewed
docs/designs/dial_app_toolset.md(Round 2). Verdict: Ready for approval pending minor suggestions. 0 blocking, 3 suggestions, 1 nit. 2 of 3 Round-1 blocking issues resolved; migration strategy for existingDialDeploymentSimpleToolcallers is still open.
docs/designs/, stop and report what is wrong instead of guessing.