shinpr/claude-code-workflows-recipe-update-doc
Update existing design documents (Design Doc / PRD / ADR) with review
This is a copy. The original lives at shinpr/recipe-update-doc.
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.
Take shinpr/claude-code-workflows-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.