Use for MASSIVE work requests requiring multi-epic planning. Creates research spikes, documents all unknowns and decisions, builds resumable architecture documents, and structures work into epics and milestones.
Investigates and structures massive multi-week initiatives by creating research spikes to resolve unknowns, documenting all decisions, and organizing work into epics and milestones. Use when a request is too large for a single epic and requires significant upfront research and planning.
/plugin marketplace add troykelly/claude-skills/plugin install issue-driven-development@troykelly-skillsThis skill is limited to using the following tools:
When work is too large for a single epic, it becomes an initiative. This skill methodically investigates, documents, and structures massive requests into a resumable, tractable plan.
Core principle: Document everything. Every unknown answered, every decision made, every assumption validated. The architecture must be resumable by a fresh context.
Announce at start: "I'm using initiative-architecture to plan this massive request. This will involve investigation, documentation, and structured decomposition."
An initiative is work that:
┌─────────────────────────────────────────────────────────────────────┐
│ INITIATIVE RECEIVED │
│ (from work-intake as MASSIVE) │
└─────────────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 1: DOCUMENT UNKNOWNS │
│ List everything we don't know │
│ Prioritize by: blocks other decisions │
└─────────────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 2: RESEARCH SPIKES │
│ Create issues for each unknown │
│ Time-box investigations │
│ Document findings in issues │
└─────────────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 3: DECISION LOG │
│ Record all decisions made │
│ Document alternatives considered │
│ Note constraints and trade-offs │
└─────────────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 4: EPIC STRUCTURE │
│ Group deliverables into epics │
│ Define dependencies between epics │
│ Create epic tracking issues │
└─────────────────────────────┬───────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ PHASE 5: MILESTONE PLANNING │
│ Create delivery milestones │
│ Assign epics to milestones │
│ Establish order of work │
└─────────────────────────────┬───────────────────────────────────────┘
│
▼
READY FOR IMPLEMENTATION
(via epic-management per epic)
gh issue create \
--title "[Initiative] [NAME]: Architecture & Planning" \
--label "initiative,planning" \
--body "## Initiative: [NAME]
## Original Request
[The original user request verbatim]
## Goal
[What success looks like at the highest level]
## Current Understanding
[What we know so far]
## Unknowns (To Be Investigated)
### Critical Unknowns (Block Architecture)
- [ ] Unknown 1: [Question]
- [ ] Unknown 2: [Question]
### Important Unknowns (Block Implementation)
- [ ] Unknown 3: [Question]
- [ ] Unknown 4: [Question]
### Nice-to-Know (Inform Decisions)
- [ ] Unknown 5: [Question]
## Research Spikes
[Will be populated as spikes are created]
## Decisions Log
[Will be populated as decisions are made]
## Epic Structure
[Will be populated after research]
## Milestones
[Will be populated after epic structure]
---
**Status:** 🔬 Investigating
**Last Updated:** [DATE]
**Context Recovery:** Read this issue + linked spikes + decision log"
| Category | Definition | Action |
|---|---|---|
| Critical | Blocks architecture decisions | Research spike immediately |
| Important | Blocks implementation | Research spike before epic |
| Nice-to-Know | Informs decisions | Research during implementation |
For each critical/important unknown:
gh issue create \
--title "[Spike] [INITIATIVE]: [UNKNOWN QUESTION]" \
--label "spike,research,initiative-[NAME]" \
--body "## Research Spike
**Parent Initiative:** #[INITIATIVE_NUMBER]
**Unknown:** [The question we're answering]
**Time-box:** [X hours/days]
## Investigation Plan
1. [ ] Check existing codebase for [X]
2. [ ] Review documentation for [Y]
3. [ ] Test/prototype [Z]
4. [ ] Document findings
## Findings
[To be filled during research]
## Recommendation
[To be filled after research]
## Decision Needed
[What decision this enables]
---
**Status:** 🔬 Investigating
**Started:** [DATE]
**Due:** [DATE]"
Each spike should:
# Update spike issue with findings
gh issue comment [SPIKE_NUMBER] --body "## Findings Summary
**Answer:** [The answer to the unknown]
**Evidence:**
- [Finding 1]
- [Finding 2]
**Recommendation:** [Recommended approach]
**Confidence:** [High/Medium/Low]
**Trade-offs:**
- Pro: [X]
- Con: [Y]"
# Close spike
gh issue close [SPIKE_NUMBER]
# Update initiative issue
gh issue comment [INITIATIVE_NUMBER] --body "## Spike Complete: #[SPIKE_NUMBER]
**Unknown:** [Question]
**Answer:** [Answer summary]
**Decision enabled:** [What we can now decide]"
In the initiative issue, maintain a decision log:
## Decisions Log
### Decision 1: [Topic]
**Date:** [DATE]
**Context:** [Why this decision was needed]
**Options Considered:**
1. Option A: [Description] - [Pros/Cons]
2. Option B: [Description] - [Pros/Cons]
3. Option C: [Description] - [Pros/Cons]
**Decision:** Option [X]
**Rationale:** [Why this option]
**Implications:** [What this means for implementation]
**Spike:** #[SPIKE_NUMBER] (if applicable)
---
### Decision 2: [Topic]
...
Use this for each decision:
### Decision: [TITLE]
**Date:** YYYY-MM-DD
**Decided by:** [Agent/Human/Both]
**Context:**
[Why this decision was needed now]
**Options:**
| Option | Pros | Cons |
|--------|------|------|
| A: [X] | [+] | [-] |
| B: [Y] | [+] | [-] |
**Decision:** [Chosen option]
**Rationale:**
[Why this option was chosen]
**Reversibility:** [Easy/Hard/Irreversible]
**Related:**
- Spike: #[N] (if applicable)
- Depends on: Decision [X]
- Enables: Decision [Y]
After research spikes complete, group work into epics:
## Epic Structure
### Epic 1: [NAME]
**Goal:** [What this epic delivers]
**Dependencies:** None
**Estimated Issues:** [X-Y]
**Key Deliverables:**
- Deliverable A
- Deliverable B
### Epic 2: [NAME]
**Goal:** [What this epic delivers]
**Dependencies:** Epic 1
**Estimated Issues:** [X-Y]
**Key Deliverables:**
- Deliverable C
- Deliverable D
### Epic 3: [NAME]
**Goal:** [What this epic delivers]
**Dependencies:** Epic 1, Epic 2
**Estimated Issues:** [X-Y]
**Key Deliverables:**
- Deliverable E
# Create initiative label
gh label create "initiative-[NAME]" --color "6E40C9" \
--description "Part of [INITIATIVE NAME] initiative"
# Create epic labels
gh label create "epic-[EPIC1-NAME]" --color "0E8A16" \
--description "[Epic 1 description]"
gh label create "epic-[EPIC2-NAME]" --color "1D76DB" \
--description "[Epic 2 description]"
For each epic, use epic-management skill to create the epic structure.
# Create milestones for delivery phases
gh api repos/{owner}/{repo}/milestones -X POST \
-f title="[Initiative] Phase 1: [NAME]" \
-f description="[Description of what Phase 1 delivers]" \
-f due_on="YYYY-MM-DDTHH:MM:SSZ"
| Milestone | Epics | Goal |
|---|---|---|
| Phase 1 | Epic 1 | [Foundation] |
| Phase 2 | Epic 2, 3 | [Core Features] |
| Phase 3 | Epic 4 | [Polish & Launch] |
The initiative issue must always contain enough information for a fresh context to continue:
## Context Recovery
**To continue this initiative:**
1. Read this issue completely
2. Review open spikes: [links]
3. Review decision log above
4. Check current epic status: [links]
5. Current phase: [Investigation/Architecture/Implementation]
6. Next action: [Specific next step]
**Key files:**
- [Path to any architecture docs]
- [Path to any design docs]
**Key decisions made:**
1. [Decision 1 summary]
2. [Decision 2 summary]
# Store initiative in knowledge graph
mcp__memory__create_entities([{
"name": "Initiative-[NAME]",
"entityType": "Initiative",
"observations": [
"Created: [DATE]",
"Goal: [GOAL]",
"Tracking Issue: #[NUMBER]",
"Status: [STATUS]",
"Epics: [LIST]",
"Current Phase: [PHASE]"
]
}])
Request: "Add the ability for users to log in by clicking on a popup in their phone."
Critical:
Important:
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.