Skip to content
Development
Command

/approve-synthesis

Approve synthesis findings and create implementation tickets from discovery

From plugin
fullstack-dev-skills
11k13 skills13 commands
Install
$ npx -y skills add Jeffallan/claude-skills --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/approve-synthesis

Context preview

What this command does when you run it.

Approve synthesis findings and create implementation tickets from discovery

Command definition

approve-synthesis.md
name: approve-synthesis
description: Approve synthesis findings and create implementation tickets from discovery
argument-hint: <synthesis-url> [--decision=<id>:<value>...]

Approve Discovery Synthesis

**Arguments:** $ARGUMENTS

---

Argument Parsing

Parse the arguments to extract:

  • `{Synthesis_URL}` - Confluence synthesis document URL (required)
  • `{Decisions}` - Optional pre-provided decision resolutions (via `--decision=D1:OptionB`)

**Examples:**

  • `/approve-synthesis https://confluence/synthesis-doc` → Review and approve interactively
  • `/approve-synthesis https://confluence/synthesis-doc --decision=D1:B --decision=D2:Y` → Pre-resolve decisions

---

Workflow Chain

/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

---

Phase 0: Context Retrieval

1. **Fetch the synthesis document** from `{Synthesis_URL}`

2. **Extract from synthesis document:**

  • Discovery Epic link
  • Target implementation epics
  • Proposed tickets JSON (from Section 9, between `<!-- PROPOSED_TICKETS_START -->` and `<!-- PROPOSED_TICKETS_END -->` markers)
  • Blocking decisions and their status
  • Approval status

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.

---

Phase 1: Decision Resolution

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`:

  • Validate the decision ID exists
  • Validate the value is a valid option
  • Mark as resolved

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:

  • Record the chosen option
  • Record resolver (user)
  • Record timestamp
  • Update affected tickets if decision changes scope

---

Phase 2: Ticket Review & Editing

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:**

  • Parse user input for add/remove/modify commands
  • Apply changes to proposed tickets
  • Show updated list after each change
  • Repeat until user says "Done"
  • Return to approval checkpoint

3. **MANDATORY CHECKPOINT - Final Ticket Approval:**

   ## Final Ticket Approval

   The following tickets will be created in Jira:
Read more
Ships withfullstack-dev-skills

66 Specialized Skills for Full-Stack Developers. Transform Claude Code into your expert pair programmer.

Get the whole plugin, auto-invoked
Stats
10,915
Stars
0
Views
1,021
Forks
Active
Maintenance
Python
Language
MIT
License
2h ago
Last commit
9mo ago
Created

Repo: Jeffallan/claude-skills