COMMAND
Surface and validate Claude's hidden assumptions about the project for user confirmation
Approve synthesis findings and create implementation tickets from discovery
> /plugin marketplace add Jeffallan/claude-skills > /plugin install fullstack-dev-skills@fullstack-dev-skills
How it fires
How this command gets triggered: by you, by Claude, or both.
/approve-synthesisContext preview
What this command does when you run it.
Approve synthesis findings and create implementation tickets from discovery
name: approve-synthesis description: Approve synthesis findings and create implementation tickets from discovery argument-hint: <synthesis-url> [--decision=<id>:<value>...]
**Arguments:** $ARGUMENTS
---
Parse the arguments to extract:
**Examples:**
---
/create-epic-discovery <epic-key> → Discovery Document
↓
[Manual research, interviews, experiments]
↓
/synthesize-discovery <doc-urls...> → Synthesis Document
↓
/approve-synthesis <synthesis-url> → Creates Jira Tickets (YOU ARE HERE)
↓
/create-implementation-plan <overview-doc> → Implementation planning continues---
1. **Fetch the synthesis document** from `{Synthesis_URL}`
2. **Extract from synthesis document:**
3. **FAILURE CONDITION - Invalid Synthesis Document:**
If synthesis document cannot be fetched or lacks required sections:
**STOP and prompt the user:**
I was unable to retrieve the synthesis document or it is missing required data.
URL: {Synthesis_URL}
Issue: [document not found / missing Proposed Tickets section / invalid JSON]
Please verify:
1. The URL is correct and accessible
2. The document was created by /synthesize-discovery
3. The "Proposed Tickets Data" section (Section 9) exists**DO NOT PROCEED** until valid document is provided.
4. **FAILURE CONDITION - Already Approved:**
If synthesis is already approved (`approval_status: "approved"`):
**STOP and report:**
This synthesis has already been approved. Approved By: [user] Approved Date: [date] Tickets Created: [list] Options: A) View the created tickets B) Create additional tickets (will append to existing) C) Cancel
**DO NOT PROCEED** without user choice.
5. **MANDATORY CHECKPOINT - Synthesis Overview:**
## Synthesis Document Retrieved
**Discovery Epic:** {Discovery_Epic_Key}
**Synthesis Date:** [date]
**Sources Analyzed:** [count]
**Proposed Tickets:** [count] tickets, [sum] story points
**Target Epics:** [list epic keys]
**Blocking Decisions:** [count] pending / [count] total
Ready to review? (Yes / No)**DO NOT PROCEED** without confirmation.
---
1. **Check for unresolved blocking decisions:**
Parse the `blocking_decisions` array from the JSON data.
2. **Apply any pre-provided decisions** from `--decision` arguments:
For each `--decision=ID:Value`:
3. **FAILURE CONDITION - Unresolved Blocking Decisions:**
If any blocking decisions remain unresolved:
**STOP and present each decision:**
## Blocking Decisions Require Resolution The following decisions must be resolved before tickets can be created: ### Decision D1: [Decision Question] **Options:** A) [Option A description] B) [Option B description] C) [Option C description] **Recommendation:** [Option from synthesis] **Rationale:** [Why this was recommended] **Blocks Tickets:** T1, T3, T5 Please select an option: [A/B/C] --- ### Decision D2: [Decision Question] ...
**DO NOT PROCEED** until all decisions are resolved.
4. **Record decision resolutions:**
For each resolved decision:
---
1. **Present proposed tickets for review:**
## Proposed Tickets for Approval
All blocking decisions have been resolved. Review the tickets below.
### Epic: {Epic_Key_1} - {Epic_Title}
| # | ID | Title | Type | Points | Priority | Dependencies |
|---|-----|-------|------|--------|----------|--------------|
| 1 | T1 | [title] | Story | 5 | High | None |
| 2 | T2 | [title] | Task | 3 | Med | T1 |
### Epic: {Epic_Key_2} - {Epic_Title}
| # | ID | Title | Type | Points | Priority | Dependencies |
|---|-----|-------|------|--------|----------|--------------|
| 1 | T3 | [title] | Spike | 2 | High | None |
**Total:** [count] tickets, [sum] story points
---
**Options:**
- **Approve** - Create all tickets as shown
- **Edit** - Modify tickets before creation
- **Cancel** - Exit without creating tickets
What would you like to do? [Approve / Edit / Cancel]2. **If Edit selected:**
## Edit Proposed Tickets Available actions: - **Add:** Add a new ticket (e.g., "Add Story 'Implement caching' to CC-62") - **Remove:** Remove a ticket (e.g., "Remove T3") - **Modify:** Change ticket details (e.g., "Modify T1 points to 8" or "Modify T2 priority to High") - **Done:** Finish editing and review again Current tickets: [... ticket list ...] Enter your changes (or "Done" to finish):
**Editing loop:**
3. **MANDATORY CHECKPOINT - Final Ticket Approval:**
## Final Ticket Approval The following tickets will be created in Jira:
67 Specialized Skills for Full-Stack Developers. Transform Claude Code into your expert pair programmer.
Repo: Jeffallan/claude-skills
Surface and validate Claude's hidden assumptions about the project for user confirmation
Reference for: Common Ground Load when: Classifying assumptions, determining type or tier
Reference for: Common Ground Load when: Storage operations, project identification, file format
Reference for: Common Ground Load when: Using --graph flag, generating mermaid diagrams
Create a discovery document for research/customer discovery epics
Synthesize discovery findings into a consolidated analysis document with proposed tickets