bmad-synthesize

Auto-generate BMAD planning artifacts from StackShift reverse-engineering documentation.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "bmad-synthesize" with this command: npx skills add jschulte/claude-plugins/jschulte-claude-plugins-bmad-synthesize

BMAD Synthesize

Auto-generate BMAD planning artifacts from StackShift reverse-engineering documentation.

Estimated Time: 10-30 minutes (depending on mode) Prerequisites: Gear 2 (Reverse Engineer) completed with 9+ docs Output: 4 BMAD artifacts in _bmad-output/planning-artifacts/

Compatibility

Reverse Engineer Version Docs Produced Coverage

v2.0+ (11 docs) Full set 100%

v1.x (9 docs) Missing business-context, decision-rationale ~85% average

Both are fully supported. With 9 docs, some sections will use inferred content from related docs, clearly marked with [INFERRED FROM: source-doc] .

When to Use This Skill

Use this skill when:

  • Gear 2 has generated 9+ reverse-engineering docs

  • You want BMAD artifacts without running the full BMAD conversation flow

  • You chose bmad-autopilot as the implementation framework in Gear 1

  • You want to convert existing reverse-engineering docs into BMAD format

  • You need a PRD, Architecture doc, Epics, or UX spec generated from code analysis

Trigger Phrases:

  • "Generate BMAD artifacts from reverse-engineering docs"

  • "Create PRD from the codebase analysis"

  • "Auto-generate BMAD planning documents"

  • "Synthesize BMAD artifacts"

  • "Run BMAD auto-pilot"

What This Skill Does

Reads all available reverse-engineering docs (9 core + 2 optional) and maps their content into 4 BMAD planning artifacts:

BMAD Artifact Primary Source Docs Coverage (11 docs) Coverage (9 docs) Fallback Sources for Optional Docs

prd.md

functional-specification, business-context [OPTIONAL], technical-debt-analysis, integration-points ~90% ~80% business-context fallback: functional-specification (Executive Summary, User Stories, Success Criteria) + visual-design-system (persona UX context)

architecture.md

data-architecture, integration-points, operations-guide, decision-rationale [OPTIONAL], configuration-reference, observability-requirements ~85% ~75% decision-rationale fallback: configuration-reference (tech stack, framework choices) + data-architecture (schema design decisions) + integration-points (integration choice rationale)

epics.md

functional-specification (FRs grouped by domain), business-context [OPTIONAL] (personas), technical-debt-analysis (migration matrix) ~75% ~70% business-context fallback: functional-specification (User Personas, Product Positioning)

ux-design-specification.md

visual-design-system, business-context [OPTIONAL] (personas), functional-specification (user stories) ~65% ~55% business-context fallback: functional-specification (User Personas) + visual-design-system (user flows, accessibility)

Three Modes

Mode 1: YOLO (Fully Automatic)

Time: ~10 minutes User input: None

  • Maps all available docs (9-11) to BMAD artifacts automatically

  • For questions the docs can't answer, infers from available context

  • Treats [INFERRED] items as accepted

  • Resolves [NEEDS USER INPUT] items with best-effort inference

  • Generates all 4 artifacts in one shot

Best for: Quick artifact generation, overnight runs, batch processing, when you plan to refine later.

Mode 2: Guided (Recommended)

Time: ~15-20 minutes User input: 5-10 targeted questions

  • Auto-populates everything the docs can answer (high confidence)

  • Presents targeted questions ONLY for genuinely ambiguous items:

  • Business vision refinement (from business-context.md [NEEDS USER INPUT] items)

  • Priority trade-offs between competing requirements

  • Persona validation (are the inferred personas correct?)

  • Architecture preferences not visible in code

  • Epic scoping decisions

  • Generates all 4 artifacts with user input incorporated

Best for: Most projects. Good balance of speed and quality.

Mode 3: Interactive

Time: ~25-30 minutes User input: Full conversation

  • Pre-loads all available docs (9-11) as context (you don't start from zero)

  • Walks through each BMAD artifact section by section

  • Shows draft content for each section, asks for approval/changes

  • Most thorough, but slowest

  • Essentially BMAD's collaborative flow with a massive head start

Best for: Critical projects, when precision matters, when you want full control.

Document Mapping (Detailed)

prd.md Generation

Source → BMAD PRD Section ───────────────────────────────────────────────────────────────── business-context.md [OPTIONAL] ├── Product Vision → ## Product Vision ├── Target Users & Personas → ## Target Users ├── Business Goals → ## Success Criteria / ## KPIs ├── Competitive Landscape → ## Market Context ├── Stakeholder Map → ## Stakeholders └── Business Constraints → ## Constraints & Assumptions │ └── [FALLBACK if missing - ~70% coverage for above sections]: functional-specification.md (Executive Summary → Product Vision, User Stories + User Personas → Target Users, Success Criteria → Success Criteria / KPIs, Product Positioning → Market Context) visual-design-system.md (persona UX context → Target Users supplement)

functional-specification.md ├── Functional Requirements → ## FR1: Title, ## FR2: Title, ... ├── Non-Functional Reqs → ## NFR1: Title, ## NFR2: Title, ... ├── User Stories → Embedded in FRs as acceptance criteria ├── Business Rules → ## Business Rules ├── System Boundaries → ## Scope ├── Success Criteria → ## Success Criteria ├── User Personas → Supplements ## Target Users └── Product Positioning → Supplements ## Product Vision

technical-debt-analysis.md ├── Migration Priority Matrix → ## Known Issues & Constraints └── Security Vulnerabilities → ## NFR: Security Requirements

integration-points.md ├── External Services → ## External Dependencies └── Auth Flows → ## NFR: Authentication & Authorization

architecture.md Generation

Source → BMAD Architecture Section ───────────────────────────────────────────────────────────────── data-architecture.md ├── Data Models → ## Data Models ├── API Endpoints → ## API Contracts ├── Database ER Diagram → ## Data Layer ├── JSON/GraphQL Schemas → ## API Contracts (detail) └── Domain Model / Contexts → ## Domain Model

integration-points.md ├── External Services → ## External Integrations ├── Internal Service Deps → ## Service Architecture ├── Data Flow Diagrams → ## System Architecture Diagram ├── Auth Flows → ## Authentication Architecture └── Webhook Integrations → ## Event Architecture

operations-guide.md ├── Deployment Procedures → ## Deployment Architecture ├── Infrastructure Overview → ## Infrastructure ├── Scalability Strategy → ## Scalability & Performance └── Monitoring → ## Observability Architecture

decision-rationale.md [OPTIONAL] ├── Technology Selection → ## Technology Stack ├── ADRs → ## ADR-001: Title, ## ADR-002: Title, ... ├── Design Principles → ## Design Principles └── Trade-offs → ## Trade-offs & Constraints │ └── [FALLBACK if missing - ~60% coverage for above sections]: configuration-reference.md (tech stack, framework choices → Technology Stack) data-architecture.md (schema design decisions → ADRs supplement) integration-points.md (integration choice rationale → ADRs supplement)

configuration-reference.md ├── Environment Variables → ## Configuration Architecture └── Feature Flags → ## Feature Management

observability-requirements.md ├── Logging Strategy → ## Observability Architecture ├── Monitoring Strategy → ## Monitoring & Alerting └── Alerting Rules → ## SLA & SLO Targets

epics.md Generation

Source → BMAD Epics ───────────────────────────────────────────────────────────────── functional-specification.md ├── FRs grouped by domain → ## Epic N: Domain Name ├── User Stories per FR → ### Story N.M: Title └── Acceptance Criteria → Acceptance Criteria per story

business-context.md [OPTIONAL] ├── Personas → "As a [persona]..." in user stories └── Business Goals → Epic priority ordering │ └── [FALLBACK if missing]: functional-specification.md (User Personas → persona names, Product Positioning → priority ordering context)

technical-debt-analysis.md ├── Migration Priority Matrix → ## Epic: Technical Debt Resolution └── Quick Wins → High-priority stories in debt epic

integration-points.md └── External Integrations → ## Epic: Integration & Connectivity

Epic Grouping Strategy:

  • Group FRs by domain/feature area (auth, data management, reporting, etc.)

  • Each group becomes an Epic

  • Each FR within a group becomes a Story

  • Add a "Technical Foundation" epic for infrastructure/debt items

  • Add an "Integration" epic for external service work

  • Priority ordering: P0 epics first, then P1, P2, P3

ux-design-specification.md Generation

Source → BMAD UX Design Section ───────────────────────────────────────────────────────────────── visual-design-system.md ├── Component Library → ## Component Inventory ├── Design Tokens → ## Design Tokens ├── Responsive Breakpoints → ## Responsive Design ├── Accessibility Standards → ## Accessibility Requirements └── User Flows → ## User Flows

business-context.md [OPTIONAL] ├── Personas → ## User Personas (with journey maps) └── Business Constraints → ## Design Constraints │ └── [FALLBACK if missing]: functional-specification.md (User Personas → persona definitions) visual-design-system.md (User Flows, Accessibility → journey context)

functional-specification.md ├── User Stories → ## Key User Journeys └── Business Rules → ## Interaction Patterns

Process

Step 0: Verify Prerequisites

Check that Gear 2 is complete

DOCS_DIR="docs/reverse-engineering"

9 core docs (always produced by reverse-engineer v1.x+)

CORE_DOCS=("functional-specification.md" "integration-points.md" "configuration-reference.md" "data-architecture.md" "operations-guide.md" "technical-debt-analysis.md" "observability-requirements.md" "visual-design-system.md" "test-documentation.md")

2 optional docs (produced by reverse-engineer v2.0+)

OPTIONAL_DOCS=("business-context.md" "decision-rationale.md")

CORE_MISSING=0 OPTIONAL_MISSING=0 OPTIONAL_MISSING_LIST=()

for doc in "${CORE_DOCS[@]}"; do if [ ! -f "$DOCS_DIR/$doc" ]; then echo "MISSING (core): $doc" CORE_MISSING=$((CORE_MISSING + 1)) fi done

for doc in "${OPTIONAL_DOCS[@]}"; do if [ ! -f "$DOCS_DIR/$doc" ]; then echo "MISSING (optional): $doc" OPTIONAL_MISSING=$((OPTIONAL_MISSING + 1)) OPTIONAL_MISSING_LIST+=("$doc") fi done

if [ $CORE_MISSING -gt 0 ]; then echo "ERROR: $CORE_MISSING core docs missing. Run Gear 2 first: /stackshift.reverse-engineer" exit 1 fi

TOTAL_FOUND=$((9 + 2 - OPTIONAL_MISSING))

if [ $OPTIONAL_MISSING -gt 0 ]; then echo "WARNING: $TOTAL_FOUND/11 docs found. Missing optional: ${OPTIONAL_MISSING_LIST[*]}" echo "Proceeding in 9-doc mode (~85% average coverage). Missing content will be inferred from related docs." else echo "All 11 reverse-engineering docs found. Ready to synthesize at full coverage." fi

If core docs are missing: Error. Guide user to run /stackshift.reverse-engineer first. If all 11 exist: Proceed at full coverage. If only 9 core exist: Warn about reduced coverage (~85% average), then proceed to Step 0.5 to infer missing content.

Step 0.5: Infer Missing Documents

Only runs if optional docs are missing. Extracts equivalent content from related core docs.

If business-context.md is missing:

Extract business context from:

  • functional-specification.md : Executive Summary (product vision), User Stories (persona behavior), Success Criteria (business goals), User Personas (target users), Product Positioning (market context)

  • visual-design-system.md : Persona UX context (user flows, accessibility standards imply target audience)

Map inferred content to the sections that would have come from business-context.md:

  • Product Vision → from Executive Summary / Product Positioning

  • Target Users & Personas → from User Personas + visual-design-system user flows

  • Business Goals → from Success Criteria

  • Competitive Landscape → [INFERRED FROM: functional-specification.md - limited data, review recommended]

  • Stakeholder Map → [INFERRED FROM: functional-specification.md - limited data, review recommended]

  • Business Constraints → from NFRs (performance, security, compliance constraints)

Note: Coverage for sections sourced from business-context.md drops to ~70% (vs ~90% with the full doc). Persona depth and competitive landscape are most affected.

If decision-rationale.md is missing:

Extract technology decisions from:

  • configuration-reference.md : Tech stack identification (languages, frameworks, versions from environment variables and config), framework choices (build tools, deployment targets)

  • data-architecture.md : Schema design decisions (why certain data models, relationships, indexing strategies)

  • integration-points.md : Integration choice rationale (why specific external services, API patterns, auth providers)

Map inferred content to the sections that would have come from decision-rationale.md:

  • Technology Stack → from configuration-reference.md environment/config analysis

  • ADRs → synthesized from observable choices across all three docs, marked [INFERRED FROM: configuration-reference.md, data-architecture.md, integration-points.md]

  • Design Principles → [INFERRED FROM: codebase patterns - review recommended]

  • Trade-offs → inferred from technical-debt-analysis.md (debt items imply past trade-offs)

Note: Coverage for sections sourced from decision-rationale.md drops to ~60% (vs ~85% with the full doc). ADR rationale and design principles are most affected since "why" decisions were made is harder to infer than "what" decisions were made.

Step 1: Load All Reverse-Engineering Docs

Read all available docs (9-11) from docs/reverse-engineering/ into memory. If Step 0.5 inferred content for missing optional docs, include that inferred content alongside the core docs. Parse each for structured content:

  • Extract all FRs, NFRs, user stories, personas

  • Extract all data models, API contracts, integration points

  • Extract all ADRs, technology selections, design principles (from docs or inferred in Step 0.5)

  • Extract all business context, goals, constraints (from docs or inferred in Step 0.5)

  • Note all [INFERRED] , [INFERRED FROM: source-doc] , and [NEEDS USER INPUT] markers

Step 2: Choose Mode

Ask the user which mode to use:

How should BMAD artifacts be generated?

A) YOLO - Fully automatic, no questions asked (~10 min) Best for: Quick generation, batch processing, refine later

B) Guided - Auto-fill + 5-10 targeted questions (~15-20 min) (Recommended) Best for: Most projects, good balance of speed and quality

C) Interactive - Section-by-section review (~25-30 min) Best for: Critical projects, maximum precision

Step 3: Generate Artifacts (Mode-Dependent)

YOLO Mode

  • Generate prd.md: Map all source sections per the mapping above. For [NEEDS USER INPUT] items, use best-effort inference and mark with [AUTO-INFERRED - review recommended] .

  • Generate architecture.md: Map all technical docs. Generate Mermaid diagrams for system architecture and data flow.

  • Generate epics.md: Group FRs into domain-based epics. Create stories with "As a [persona]" format. Set priorities from FR priorities.

  • Generate ux-design-specification.md: Map visual design system + persona journey maps.

  • Write all artifacts to _bmad-output/planning-artifacts/ .

  • Generate a coverage report showing what percentage of each artifact was filled from docs vs inferred.

Guided Mode

  • Parse and score: Read all docs, identify [NEEDS USER INPUT] items and low-confidence sections.

  • Auto-fill high-confidence sections: Everything that maps cleanly from docs.

  • Present targeted questions (5-10 max):

  • "The codebase suggests [X] as the primary user persona. Is this accurate, or would you refine it?"

  • "Business goals appear to center on [X]. What are the top 3 success metrics?"

  • "The architecture uses [X]. For the BMAD architecture doc, should we document the current state or a target state?"

  • "FRs group naturally into [N] domains: [list]. Does this epic structure make sense?"

  • "The competitive landscape suggests [X]. Any corrections?"

  • Incorporate answers into artifacts.

  • Write all artifacts.

Interactive Mode

  • Create context brief: One-page summary of all available docs (9-11) for quick reference, noting any inferred content from Step 0.5.

  • Walk through prd.md section by section:

  • Show draft for each section

  • Ask: "Approve as-is, or modify?"

  • Incorporate changes

  • Walk through architecture.md section by section (same approach).

  • Walk through epics.md: Present epic groupings, ask for approval, refine stories.

  • Walk through ux-design-specification.md: Present design system mapping, ask for approval.

  • Write all artifacts.

Step 4: Write Output

Create _bmad-output/planning-artifacts/ directory and write all 4 artifacts:

_bmad-output/ └── planning-artifacts/ ├── prd.md ├── architecture.md ├── epics.md └── ux-design-specification.md

Each artifact includes YAML frontmatter:


stepsCompleted: [1, 2, 3] inputDocuments:

  • docs/reverse-engineering/functional-specification.md
  • docs/reverse-engineering/business-context.md
  • docs/reverse-engineering/integration-points.md

... all source docs used

workflowType: prd # or architecture, epics, ux-design project_name: "<from state file>" date: "<current date>" synthesize_mode: "yolo" # or guided, interactive coverage_score: 92 # percentage of sections filled from docs source_doc_count: 9 # or 11 - how many reverse-engineering docs were available inferred_sections: [] # list of sections that used fallback sources, e.g. ["Product Vision", "ADRs"]

Step 5: Generate Synthesis Report

Output a summary showing:

BMAD Synthesis Complete ═══════════════════════

Mode: Guided Time: 18 minutes

Artifacts Generated: prd.md - 94% from docs, 6% user input architecture.md - 88% from docs, 12% inferred epics.md - 82% from docs, 18% structured from FRs ux-design-specification.md - 68% from docs, 32% inferred

Items Requiring Review:

  • prd.md: 2 items marked [AUTO-INFERRED]
  • architecture.md: 1 ADR with [INFERRED] rationale
  • epics.md: Story priorities may need reordering

Next Steps:

  • Review artifacts in _bmad-output/planning-artifacts/
  • Install BMAD: npx bmad-method@alpha install
  • Run: *workflow-init (BMAD will use these artifacts as starting point)
  • Or: Manually refine artifacts before handing off to BMAD

Output Format

prd.md Structure


stepsCompleted: [1, 2, 3, 4, 5] workflowType: prd project_name: "..." date: "..." synthesize_mode: "guided" source_doc_count: 9 # or 11 inferred_sections: ["Product Vision", "Target Users", "Market Context"] # empty if 11 docs

[Product Name] - Product Requirements Document

Product Vision

[From business-context.md Product Vision] [Or INFERRED FROM: functional-specification.md Executive Summary + Product Positioning]

Target Users

[From business-context.md Personas + functional-spec User Personas] [Or INFERRED FROM: functional-specification.md User Personas + visual-design-system.md user flows]

Persona 1: [Name]

  • Role: ...
  • Goals: ...
  • Pain Points: ...

Success Criteria

[From functional-spec Success Criteria + business-context Business Goals]

  • Criterion 1
  • Criterion 2

Functional Requirements

FR1: [Title]

Priority: P0 Description: [From functional-spec FR-001] Acceptance Criteria:

  • Criterion 1
  • Criterion 2

FR2: [Title]

...

Non-Functional Requirements

NFR1: [Title]

Priority: P1 Description: [From functional-spec NFR-001]

External Dependencies

[From integration-points.md]

Constraints & Assumptions

[From business-context.md Business Constraints]

Known Issues

[From technical-debt-analysis.md high-priority items]

architecture.md Structure


stepsCompleted: [1, 2, 3] workflowType: architecture source_doc_count: 9 # or 11 inferred_sections: ["Technology Stack", "ADRs", "Design Principles"] # empty if 11 docs

[Product Name] - Technical Architecture

System Architecture Diagram

[Mermaid diagram from integration-points Data Flow Diagrams]

Technology Stack

[From decision-rationale.md Technology Selection] [Or INFERRED FROM: configuration-reference.md tech stack and framework choices]

Domain Model

[From data-architecture.md Domain Model / Bounded Contexts]

API Contracts

[From data-architecture.md API Endpoints]

GET /api/resource

Description: ... Request: ... Response: ...

Data Models

[From data-architecture.md Data Models]

ModelName

  • field1: type - description
  • field2: type - description

ADR-001: [Decision Title]

Context: [From decision-rationale.md] [Or INFERRED FROM: configuration-reference.md, data-architecture.md, integration-points.md] Decision: ... Rationale: ...

Deployment Architecture

[From operations-guide.md]

Scalability & Performance

[From operations-guide.md Scalability Strategy]

Observability Architecture

[From observability-requirements.md]

Integration with Existing Workflows

From Spec Kit → BMAD Synthesize

If you already ran Gears 1-5 with Spec Kit and want BMAD artifacts too:

  • The reverse-engineering docs are already generated

  • Run /stackshift.bmad-synthesize directly

  • BMAD artifacts supplement (don't replace) .specify/ structure

From BMAD Synthesize → BMAD Workflow

After generating artifacts:

  • Install BMAD: npx bmad-method@alpha install

  • Run *workflow-init

  • BMAD agents will find and use the pre-generated artifacts

  • PM agent refines PRD, Architect agent refines Architecture

  • Much faster than starting from scratch

Batch Mode Integration

When running batch processing (/stackshift.batch ):

  • Batch session can include synthesize_mode: "yolo" in answers

  • Each repo gets BMAD artifacts generated automatically after Gear 2

  • Useful for enterprise-scale documentation of many services

Success Criteria

  • ✅ All 4 BMAD artifacts generated in _bmad-output/planning-artifacts/

  • ✅ prd.md contains FRs, NFRs, personas, success criteria, constraints

  • ✅ architecture.md contains data models, API contracts, ADRs, deployment architecture

  • ✅ epics.md contains domain-grouped epics with user stories

  • ✅ ux-design-specification.md contains design system and user journey maps

  • ✅ Each artifact has YAML frontmatter with source tracking

  • ✅ Synthesis report shows coverage percentages

  • ✅ [AUTO-INFERRED] items clearly marked for review

Next Steps

After BMAD Synthesize:

  • Review artifacts in _bmad-output/planning-artifacts/

  • Refine manually or hand off to BMAD agents for collaborative refinement

  • Install BMAD (if not installed): npx bmad-method@alpha install

  • Run BMAD workflow: *workflow-init — agents will use your artifacts as starting point

  • Or use directly: Artifacts are valid BMAD format, can be used as-is for implementation

Technical Notes

  • Read all available docs (9-11) using the Read tool (parallel reads recommended)

  • If only 9 docs present, run Step 0.5 inference before proceeding to artifact generation

  • For Mermaid diagrams in architecture.md, generate from integration-points.md data flow descriptions

  • Epic grouping uses domain clustering: analyze FR titles and descriptions for common themes

  • User story format: "As a [persona from business-context or functional-specification], I want [FR description], so that [business goal]"

  • Priority inheritance: Stories inherit priority from their source FR

  • ADR numbering: Sequential from decision-rationale.md (or inferred from config/data/integration docs), preserving original order

  • All inferred content must be tagged with [INFERRED FROM: source-doc] so users can verify accuracy

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

reverse-engineer

No summary provided by upstream source.

Repository SourceNeeds Review
General

create-specs

No summary provided by upstream source.

Repository SourceNeeds Review
General

complete-spec

No summary provided by upstream source.

Repository SourceNeeds Review