recipe-reverse-engineer
recipe-reverse-engineer is a Claude Code workflow that generates Product Requirements Documents and Design Documents from an existing codebase through a multi-phase orchestration process. The workflow performs discovery and analysis of the target codebase, generates PRDs and optionally technical Design Docs (including fullstack variants for frontend and backend), and incorporates verification and human review cycles. Use this when you need to document legacy systems, create specification documents for existing codebases, or establish design baseline documentation without manual analysis.
git clone --depth 1 https://github.com/shinpr/claude-code-workflows /tmp/recipe-reverse-engineer && cp -r /tmp/recipe-reverse-engineer/dev-workflows-fullstack/skills/recipe-reverse-engineer ~/.claude/skills/recipe-reverse-engineerSKILL.md
**Context**: Reverse engineering workflow to create documentation from existing code Target: $ARGUMENTS ## Orchestrator Definition **Core Identity**: "I am an orchestrator." **Execution Protocol**: 1. **Delegate all work through Agent tool** — invoke sub-agents, pass deliverable paths between them, and report results (permitted tools: see subagents-orchestration-guide "Orchestrator's Permitted Tools") 2. **Process one step at a time**: Execute steps sequentially within each unit (2 → 3 → 4 → 5). Each step's output is the required input for the next step. Complete all steps for one unit before starting the next 3. **Pass `$STEP_N_OUTPUT` as-is** to sub-agents — the orchestrator bridges data without processing or filtering it **Task Registration**: Register phases first using TaskCreate, then steps within each phase as you enter it. Update status using TaskUpdate. ## Step 0: Initial Configuration ### 0.1 Scope Confirmation Use AskUserQuestion to confirm: 1. **Target path**: Which directory/module to document 2. **Depth**: PRD only, or PRD + Design Docs 3. **Reference Architecture**: layered / mvc / clean / hexagonal / none 4. **Human review**: Yes (recommended) / No (fully autonomous) 5. **Fullstack design**: Yes / No - Yes: For each functional unit, generate backend + frontend Design Docs - Note: Requires both agents (technical-designer, technical-designer-frontend) ### 0.2 Output Configuration - PRD output: `docs/prd/` or existing PRD directory - Design Doc output: `docs/design/` or existing design directory - Verify directories exist, create if needed ## Workflow Overview ``` Phase 1: PRD Generation Step 1: Scope Discovery (unified, single pass → group into PRD units → human review) Step 2-5: Per-unit loop (Generation → Verification → Review → Revision) Phase 2: Design Doc Generation (if requested) Step 6: Design Doc Scope Mapping (reuse Step 1 results, no re-discovery) Step 7-10: Per-unit loop (Generation → Verification → Review → Revision) ※ fullstack=Yes: each unit produces backend + frontend Design Docs ``` ## Phase 1: PRD Generation **Register using TaskCreate**: - Step 1: PRD Scope Discovery - Per-unit processing (Steps 2-5 for each unit) ### Step 1: PRD Scope Discovery **Agent tool invocation**: ``` subagent_type: dev-workflows-fullstack:scope-discoverer description: "Discover functional scope" prompt: | Discover functional scope targets in the codebase. target_path: $USER_TARGET_PATH reference_architecture: $USER_RA_CHOICE focus_area: $USER_FOCUS_AREA (if specified) ``` **Store output as**: `$STEP_1_OUTPUT` **Quality Gate**: - At least one unit discovered → proceed - No units discovered → ask user for hints - `$STEP_1_OUTPUT.prdUnits` exists - All `sourceUnits` across `prdUnits` (flattened, deduplicated) match the set of `discoveredUnits` IDs — no unit missing, no unit duplicated - Each discovered unit's `unitInventory` has at least one non-empty category (routes, testFiles, or publicExports). Units with all three empty indicate incomplete discovery — re-run scope-discoverer with focus on that unit's relatedFiles **Human Review Point** (if enabled): Present `$STEP_1_OUTPUT.prdUnits` with their source unit mapping. The user confirms, adjusts grouping, or excludes units from scope. This is the most important review point — incorrect grouping cascades into all downstream documents. ### Step 2-5: Per-Unit Processing **FOR** each unit in `$STEP_1_OUTPUT.prdUnits` **(sequential, one unit at a time)**: #### Step 2: PRD Generation **Agent tool invocation**: ``` subagent_type: dev-workflows-fullstack:prd-creator description: "Generate PRD" prompt: | Create reverse-engineered PRD for the following feature. Operation Mode: reverse-engineer External Scope Provided: true Feature: $PRD_UNIT_NAME (from $STEP_1_OUTPUT) Description: $PRD_UNIT_DESCRIPTION Related Files: $PRD_UNIT_COMBINED_RELATED_FILES Entry Points: $PRD_UNIT_COMBINED_ENTRY_POINTS Use provided scope as investigation starting point. If tracing entry points reveals files outside this scope, include them. Create final version PRD based on thorough code investigation. ``` **Store output as**: `$STEP_2_OUTPUT` (PRD path) #### Step 3: Code Verification **Prerequisite**: $STEP_2_OUTPUT (PRD path from Step 2) **Agent tool invocation**: ``` subagent_type: dev-workflows-fullstack:code-verifier description: "Verify PRD consistency" prompt: | Verify consistency between PRD and code implementation. doc_type: prd document_path: $STEP_2_OUTPUT verbose: false ``` Note: Omit `code_paths` — the verifier independently discovers code scope from the document, ensuring independent verification not constrained by scope-discoverer's output. **Store output as**: `$STEP_3_OUTPUT` **Quality Gate**: - consistencyScore >= 70 AND verifiableClaimCount >= 20 → proceed to review - consistencyScore >= 70 BUT verifiableClaimCount < 20 → re-run verifier (investigation too shallow) - consistencyScore < 70 → flag for detailed review #### Step 4: Review **Required Input**: $STEP_3_OUTPUT (verification JSON from Step 3) **Agent tool invocation**: ``` subagent_type: dev-workflows-fullstack:document-reviewer description: "Review PRD" prompt: | Review the following PRD considering code verification findings. doc_type: PRD target: $STEP_2_OUTPUT mode: composite code_verification: $STEP_3_OUTPUT ## Additional Review Focus - Alignment between PRD claims and verification evidence - Resolution recommendations for each discrepancy - Completeness of undocumented feature coverage ``` **Store output as**: `$STEP_4_OUTPUT` #### Step 5: Revision (conditional) **Trigger Conditions** (any one of the following): - Review status is "Needs Revision" or "Rejected" - Critical discrepancies exist in `$STEP_3_OUTPUT` - consistencyScore < 70 **Agent tool invocation**: ``` subagent_type: dev-workflows-fullstack:prd-creator description: "Revise PRD" prompt: | Update PRD based on
Generates integration/E2E test skeletons from Design Doc ACs using ROI-based selection and journey-based E2E reservation. Use when Design Doc is complete and test design is needed, or when "test skeleton/AC/acceptance criteria" is mentioned. Behavior-first approach for minimal tests with maximum coverage.
Validates Design Doc compliance and implementation completeness from third-party perspective. Use PROACTIVELY after implementation completes or when "review/implementation check/compliance" is mentioned. Provides acceptance criteria validation and quality reports.
Validates consistency between PRD/Design Doc and code implementation. Use PROACTIVELY after implementation completes, or when "document consistency/implementation gap/as specified" is mentioned. Uses multi-source evidence matching to identify discrepancies.
Analyzes existing codebase objectively for facts about implementation, user behavior patterns, and technical architecture. Use when existing code needs to be understood without hypothesis bias. Invoked before Design Doc creation to produce focused guidance for technical designers.
Detects conflicts across multiple Design Docs and provides structured reports. Use when multiple Design Docs exist, or when "consistency/conflict/sync/between documents" is mentioned. Focuses on detection and reporting only, no modifications.
Reviews document consistency and completeness, providing approval decisions. Use PROACTIVELY after PRD/UI Spec/Design Doc/work plan creation, or when "document review/approval/check" is mentioned. Detects contradictions and rule violations with improvement suggestions.
Verifies consistency between test skeleton comments and implementation code. Use PROACTIVELY after test implementation completes, or when "test review/skeleton verification" is mentioned. Returns quality reports with failing items and fix instructions.
Comprehensively collects problem-related information and creates evidence matrix. Use PROACTIVELY when bug/error/issue/defect/not working/strange behavior is reported. Reports only observations without proposing solutions.