Update existing design documents (Design Doc / PRD / ADR) with review
npx skills add https://github.com/shinpr/claude-code-workflows --skill recipe-update-doc
Execute Skill: llm-friendly-context before writing Agent prompts, handoffs, or generated artifacts.
Execute Skill: subagents-orchestration-guide before making workflow decisions, invoking agents, or resolving findings.
Context: Dedicated to updating existing design documents.
Core Identity: "I am an orchestrator." (see subagents-orchestration-guide skill)
Local authority gate: Make this recipe's workflow decisions and validate each returned result directly; delegate semantic deliverable production to the named specialist.
Review Resolution Gate [MANDATORY]: Resolve every actionable deliverable-review finding through subagents-orchestration-guide Review Resolution before correction or progression; include declined IDs with governing reasons and evidence in the final user report.
Before the first finding disposition, read references/review-resolution.md from the loaded subagents-orchestration-guide skill.
First Action: Register Steps 1-6 using TaskCreate before any execution.
Execution Protocol:
[Stop: ...] marker → Wait for user approval before proceedingCRITICAL: Execute document-reviewer and all stopping points — each serves as a quality gate for document accuracy.
Target document → [Stop: Confirm changes]
↓
technical-designer / technical-designer-frontend / prd-creator (update mode)
↓ (Design Doc only)
code-verifier → document-reviewer → [Stop: Review approval]
↓ (Design Doc only)
design-sync → [Stop: Final approval]
Included in this skill:
Out of scope (redirect to appropriate skills):
Responsibility Boundary: This skill completes with updated document approval.
Target document: $ARGUMENTS
# Check existing documents
ls docs/design/*.md docs/prd/*.md docs/adr/*.md 2>/dev/null | grep -v template
Decision flow:
| Situation | Action |
|-----------|--------|
| $ARGUMENTS specifies a path | Use specified document |
| $ARGUMENTS describes a topic | Search documents matching the topic |
| Multiple candidates found | Present options with AskUserQuestion |
| No documents found | Report and end (document creation is out of scope) |
Determine type from document path, then determine the layer to select the correct update agent:
| Path Pattern | Type | Update Agent | Notes |
|-------------|------|--------------|-------|
| docs/design/*.md | Design Doc | technical-designer or technical-designer-frontend | See layer detection below |
| docs/prd/*.md | PRD | prd-creator | - |
| docs/adr/*.md | ADR | technical-designer or technical-designer-frontend | See layer detection below |
Layer detection (for Design Doc and ADR):
Read the document and determine its layer from content signals:
ADR Update Guidance:
Use AskUserQuestion to clarify what changes are needed:
Confirm understanding of changes with user before proceeding.
Pass approved items, covered sections, and any stated total size budget to update or revision agents. Before the next approval gate, map every diff hunk to an approved item or required consistency update; request a scope decision for unmapped or over-budget changes.
Invoke the update agent determined in Step 2:
subagent_type: [Update Agent from Step 2]
description: "Update [Type from Step 2]"
prompt: |
Operation Mode: update
Existing Document: [path from Step 1]
## Changes Required
[Changes clarified in Step 3]
Update the document to reflect the specified changes.
Add change history entry.
For Design Doc updates only: Before document-reviewer, invoke code-verifier:
subagent_type: code-verifier
description: "Verify updated Design Doc"
prompt: |
doc_type: design-doc
document_path: [path from Step 1]
Verify the updated Design Doc against current codebase.
Verification focus: Pay special attention to literal identifier referential
integrity in the updated sections (paths, endpoints, type names, config keys).
Store output as: $CODE_VERIFICATION_OUTPUT
Invoke document-reviewer:
subagent_type: document-reviewer
description: "Review updated document"
prompt: |
Review the following updated document.
doc_type: [DesignDoc / PRD / ADR]
target: [path from Step 1]
mode: composite
review_context: update (Design Doc only; omit for PRD/ADR)
code_verification: $CODE_VERIFICATION_OUTPUT (Design Doc only, omit for PRD/ADR)
Focus on:
- Consistency of updated sections with rest of document
- No contradictions introduced by changes
- Completeness of change history
Store output as: $STEP_5_OUTPUT
On review result:
apply findings exist, using the following prompt: subagent_type: [Update Agent from Step 2]
description: "Revise [Type from Step 2]"
prompt: |
Operation Mode: update
Existing Document: [path from Step 1]
## Adjudicated Review Findings
[apply findings with IDs, basis, smallest correction, and affected sections]
Treat these findings as the complete revision scope and preserve adjacent content.
prior_feedback as [{id, disposition, correction?, reason?, evidence}]decline and every user_decision_required item is resolved → Proceed to Step 6Present review result to user for approval.
Skip condition: Document type is PRD or ADR → Proceed to completion.
For Design Doc, invoke design-sync:
subagent_type: design-sync
description: "Verify consistency"
prompt: |
Verify consistency of the updated Design Doc with other design documents.
Updated document: [path from Step 1]
On consistency result:
| Error | Action |
|-------|--------|
| Target document not found | Report and end (document creation is out of scope) |
| Sub-agent update fails | Log failure, present error to user, retry once |
| design-sync detects conflicts | Present to user for resolution decision |
Document update completed.
Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks
Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.
Presentation creation, editing, and analysis. When Claude needs to work with presentations (.pptx files) for: (1) Creating new presentations, (2) Modifying or editing content, (3) Working with layouts, (4) Adding comments or speaker notes, or any other presentation tasks
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.
Use this skill any time a .pptx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates, layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx filename, regardless of what they plan to do with the content afterward. If a .pptx file needs to be opened, created, or touched, use this skill.
Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
Take shinpr/recipe-update-doc from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.