Synthesize discovery findings into actionable implementation tickets
Synthesizes discovery findings into actionable implementation tickets and comprehensive documentation.
/plugin marketplace add jeffallan/claude-skills/plugin install jeffallan-fullstack-dev-skills@jeffallan/claude-skills<source-url> [source-url...] [--target=<epic-key>]project/discovery/Arguments: $ARGUMENTS
Parse the arguments to extract:
{Source_URLs} - One or more Confluence document URLs (space-separated){Target_Epic} - Optional target implementation epic (via --target=CC-XX)Examples:
/synthesize-discovery https://confluence/doc1 → Single source, auto-detect target epics/synthesize-discovery https://confluence/doc1 https://confluence/doc2 → Multiple sources/synthesize-discovery https://confluence/doc1 --target=CC-62 → Single source, specific target epic/synthesize-discovery doc1-url doc2-url doc3-url --target=CC-62 → Multiple sources, specific targetSupported Source Types:
/create-epic-discovery)/create-epic-discovery <epic-key> → Discovery Document
↓
[Manual research, interviews, experiments]
↓
/synthesize-discovery <doc-urls...> → Synthesis Document (YOU ARE HERE)
↓
Creates tickets in target implementation epics
↓
/create-implementation-plan <overview-doc> → Implementation planning continues
Fetch all source documents from the provided URLs
Extract from each source:
Identify target implementation epics:
--target specified, use that epicFAILURE CONDITION - Missing Information:
If sources cannot be fetched or no target epics identified:
STOP and prompt the user:
I was unable to retrieve required information.
Sources Retrieved: [count]/[total]
Failed Sources: [list URLs that failed]
Target Epics Found: [list or "None"]
Please provide:
1. Confirm source URLs are accessible
2. Target implementation epic(s): [e.g., CC-62, CC-60]
DO NOT PROCEED until confirmed.
MANDATORY CHECKPOINT - Sources Confirmation:
Please confirm before I proceed:
Sources to Synthesize:
1. [URL] - [Document Title] ([type])
2. [URL] - [Document Title] ([type])
...
Target Implementation Epic(s): [list]
Is this correct? (Yes / No / Correct)
DO NOT PROCEED without explicit user confirmation.
Consolidate findings across all sources:
Create findings inventory:
| Finding ID | Source(s) | Category | Finding | Confidence | Actionable |
|---|---|---|---|---|---|
| F1 | Doc1, Doc2 | User Need | Users want X | High | Yes |
| F2 | Doc1 | Technical | API supports Y | Med | Yes |
| F3 | Doc3 | Business | ROI is Z | Low | Needs validation |
Identify patterns:
Catalog remaining unknowns:
Generate feature recommendations: For each actionable finding, determine:
Create recommendation matrix:
| Rec ID | Based On | Title | Type | Target Epic | Priority | Dependencies |
|---|---|---|---|---|---|---|
| R1 | F1, F2 | Implement X feature | Story | CC-62 | High | None |
| R2 | F3 | Validate ROI assumption | Spike | CC-60 | Med | R1 |
| R3 | F1 | Design user flow for X | Task | CC-62 | High | None |
Identify scope decisions needed:
Create a comprehensive synthesis document:
| ID | Original Hypothesis | Validation Status | Evidence | Implications |
|---|---|---|---|---|
| H1 | [statement] | Validated | [sources] | [what this means] |
| H2 | [statement] | Partially Validated | [sources] | [caveats] |
| H3 | [statement] | Invalidated | [sources] | [pivot needed] |
| ID | Question | Answer | Confidence | Source(s) |
|---|---|---|---|---|
| Q1 | [question] | [answer] | High/Med/Low | [docs] |
Narrative summary of the most important learnings, organized by theme:
User/Customer Insights:
Technical Insights:
Business Insights:
| ID | Unknown | Impact | Recommendation | Priority |
|---|---|---|---|---|
| U1 | [what we don't know] | [why it matters] | [next step] | High/Med/Low |
For each target implementation epic:
Recommended Tickets:
| # | Title | Type | Priority | Story Points | Dependencies | Based On |
|---|---|---|---|---|---|---|
| 1 | [title] | Story | High | 5 | None | F1, F2 |
| 2 | [title] | Task | Med | 3 | #1 | F3 |
Scope Recommendations:
Risk Adjustments:
Decisions that need to be made before implementation:
| Decision | Options | Recommendation | Rationale | Owner | Deadline |
|---|---|---|---|---|---|
| [decision] | A, B, C | B | [why] | [who] | [when] |
Map findings back to sources:
| Source | Key Contributions | Findings Referenced |
|---|---|---|
| [Doc1 URL] | [what this doc contributed] | F1, F2, F5 |
| [Doc2 URL] | [what this doc contributed] | F3, F4 |
Complete list of all findings extracted from sources with full detail.
MANDATORY CHECKPOINT - Synthesis Review:
## Synthesis Document Preview
[Full synthesis document content]
---
Summary:
- Sources Analyzed: [count]
- Findings Extracted: [count]
- Hypotheses Validated: [count] / Invalidated: [count]
- Recommended Tickets: [count]
- Target Epics: [list]
Ready to proceed? (Yes / No / Modify)
DO NOT PROCEED without explicit approval.
MANDATORY CHECKPOINT - Ticket Creation Approval:
Before creating any tickets, present the full list:
## Proposed Tickets from Discovery Synthesis
### Epic: {Epic_Key_1}
| # | Title | Type | Points | Priority |
|---|-------|------|--------|----------|
| 1 | [title] | Story | 5 | High |
| 2 | [title] | Task | 3 | Med |
### Epic: {Epic_Key_2}
| # | Title | Type | Points | Priority |
|---|-------|------|--------|----------|
| 1 | [title] | Spike | 2 | High |
Total: [count] tickets across [count] epics
Create these tickets? (Yes / No / Modify)
DO NOT CREATE TICKETS without explicit approval.
For each approved ticket:
Create ticket in Jira under the target epic
Set ticket fields:
from-discovery, {Discovery_Epic_Key}Populate description using template:
## Source
- Discovery Epic: [{Discovery_Epic_Key}]({url})
- Synthesis Document: [{Synthesis_Doc}]({url})
- Based on Findings: [F1, F2, ...]
## Context
[Why this ticket was created based on discovery findings]
## Summary
[What this ticket accomplishes]
## Acceptance Criteria
- [ ] [Criterion derived from findings]
- [ ] [Criterion derived from findings]
## Notes from Discovery
- [Relevant insights that inform implementation]
- [Constraints or considerations discovered]
---
*This ticket was generated from discovery synthesis. See source documents for full context.*
Publish synthesis document to Confluence:
/epics/Discovery/{Discovery_Epic_Key}/Synthesis/Update discovery document with link to synthesis
Update target epic(s) with:
When complete, you MUST provide:
## Discovery Synthesis Complete!
**Synthesis Document:** {Synthesis_Document_URL}
### Sources Analyzed
1. [Doc1 Title]({url})
2. [Doc2 Title]({url})
...
### Summary
- Total Findings: [count]
- Validated Hypotheses: [count]
- Invalidated Hypotheses: [count]
- Remaining Unknowns: [count]
### Tickets Created
#### {Epic_Key_1}: {Epic_Title}
| Key | Title | Type | Points |
|-----|-------|------|--------|
| CC-XXX | [title] | Story | 5 |
| CC-XXX | [title] | Task | 3 |
#### {Epic_Key_2}: {Epic_Title}
| Key | Title | Type | Points |
|-----|-------|------|--------|
| CC-XXX | [title] | Spike | 2 |
**Total:** [count] tickets, [sum] story points
### Decisions Pending
1. [Decision needing resolution]
2. [Decision needing resolution]
### Next Steps
1. Resolve pending decisions listed above
2. Review and refine created tickets
3. Run implementation planning:
/create-implementation-plan {Target_Epic_Overview_Doc}
| Condition | Action |
|---|---|
| Source URL not accessible | List failed URLs, ask for alternatives |
| No target epic specified or found | Ask user to specify target epic(s) |
| Conflicting findings across sources | Document conflicts, ask user to resolve |
| Jira ticket creation fails | Log error, continue with remaining tickets |
| Confluence publish fails | Provide document content for manual publishing |
Before synthesis:
During ticket creation: