From dot-claude
Transform technical PRD features into usable user stories. Use when analyzing PRDs, splitting features into stories, or when user mentions story splitting, user stories, or INVEST criteria.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dot-claude:split-prdThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Transform technical PRD features into usable user stories, update the PRD with story references, and create spec files.
Transform technical PRD features into usable user stories, update the PRD with story references, and create spec files.
Every story must be usable end-to-end. A user must be able to complete a real task with the output of a story—not just "see value" but actually use it.
See anti-patterns.md for the full Usability Test, Entry Point Rule, and good vs bad split axes.
Key rules:
Stories use feature-set based IDs: {CODE}-{NN}
Examples: TM-01 (Transaction Management), BT-02 (Budget Tracking)
/split-prd [path] - Analyze PRD and create user stories as specs
Arguments:
path (optional): Path to PRD file. Defaults to docs/PRD.md| Level | Purpose | Output |
|---|---|---|
| Capability | What value can we deliver? | User capabilities |
| Functional | How do users achieve this? | User journey steps |
| Technical | How do we build each step? | Implementation tasks |
Spawn an Explore sub-agent to analyze the PRD and generate the split:
Task: Generate user story split from PRD
1. Read PRD at [path] (or docs/PRD.md if not specified)
2. Read techniques at .claude/skills/split-prd/techniques.md
3. Read anti-patterns at .claude/skills/split-prd/anti-patterns.md
Analysis:
4. Identify problem statement and features
5. Find generic terms (who, what, where)
6. Explore variations using techniques
Capability Slicing:
7. Apply capability slicing - what value can we deliver?
8. Group capabilities into feature sets
9. Derive feature set codes (first letters of words, 2-3 chars uppercase)
Functional Slicing:
10. For each capability, identify user journey steps
11. Find simplest path to deliver value
12. Note what can be deferred to later stories
Output for each story:
- Proposed ID (e.g., TM-01)
- Feature set name and code
- Title
- Description (user-facing)
- Acceptance criteria
- Dependencies (other story IDs)
- PRD reference (section)
Spawn one spec-validator agent per spec, running in parallel. Each agent validates a single spec against all rules defined in validation-rules.md.
Agent: .claude/agents/spec-validator.md
Execution:
Launch all validation agents in a single message with parallel Task tool calls:
For each spec file:
Task(
subagent_type: "spec-validator",
prompt: "Validate spec {SPEC-ID} at specs/{filename}.md"
)
Example with 3 specs:
Task 1: Validate spec TM-01 at specs/TM-01-add-transaction.md
Task 2: Validate spec TM-02 at specs/TM-02-view-transactions.md
Task 3: Validate spec BT-01 at specs/BT-01-set-budget.md
All three run in parallel and return validation reports.
After all agents complete:
Validation Rules Reference:
See validation-rules.md for complete checklist including:
INVEST Criteria:
Update the PRD with:
## Feature Sets
| Code | Name | Description |
| ---- | ---------------------- | -------------------------------------- |
| TM | Transaction Management | Record and view financial transactions |
| BT | Budget Tracking | Set and monitor spending budgets |
### M1: Basic Transaction Flow
**Goal:** User can record and view transactions.
- [TM-01](../specs/TM-01-add-transaction.md): Add a transaction
- [TM-02](../specs/TM-02-view-transactions.md): View transaction list
- [BT-01](../specs/BT-01-view-spending.md): View spending summary
Present summary to user for validation.
Present validation issues one at a time to avoid overwhelming the user. For each issue:
Format for each issue:
## Decision 1 of N: [Story ID]
**Issue:** [Brief description of the problem]
| Option | Description |
|--------|-------------|
| A | [Original approach with noted issues] |
| B | [Alternative split approach] |
| C (Recommended) | [Another alternative if applicable] |
Which do you prefer? (A / B / C / other)
Note: Present 2-4 options depending on the issue. Mark one as recommended if it clearly stands out.
After all issues are resolved:
## All decisions complete
✓ [N] issues resolved
✓ [M] stories ready
Proceed to create specs? (yes / no)
User may:
For each approved story, use the /spec create command:
For each story in order:
/spec create {ID} "{title}" --feature-set "{feature-set}"Report created files and suggest running /spec list to verify.
Note: Using /spec create ensures all specs are validated immediately upon creation.
functional - Core user capability (CRUD, workflow)quality - Performance, reliability, polishcontext - Platform, form factor, environmenttechnical - Spike, infrastructure (should be rare/embedded)Before (Technical):
M2: Expense Display
- D2.1: Expense data layer
- D2.2: Group overview screen
- D2.3: Expense detail screen
- D2.4: Split calculation engine
After (User Value):
Feature Set: ED (Expense Display)
ED-01: View Group Expenses
- Description: User views group expenses and sees who owes what
- Acceptance criteria:
- Group shows all expenses with date, description, amount
- Balance summary shows net amounts owed between members
- Expense detail shows payer and split breakdown
- Split amounts are accurate to the cent
When a story is too complex, propose multiple viable approaches:
Example:
## Decision 1 of 3: BT-01
**Original:** Full budget management with categories, alerts, and reports
**Issue:** Too large, combines multiple user goals
| Option | Description |
|--------|-------------|
| A | Keep as-is (large story, may take multiple sprints) |
| B | Split by feature: set budget → view budget → categories → alerts |
| C (Recommended) | Split by journey: basic budget (set + view) → enhancements (categories, alerts) |
| D | Defer budgets entirely, focus on core expense tracking first |
Which do you prefer? (A / B / C / D / other)
Guidelines for options:
When reviewing a story, identify features that could be added incrementally:
Story: User views transaction details
Incremental additions:
This approach prevents scope creep while documenting the roadmap.
First, show a brief summary:
## Split Analysis
**Feature Sets Identified:**
- TM (Transaction Management): 3 stories
- BT (Budget Tracking): 4 stories
**Validation Results:**
- 5 stories passed validation
- 2 stories need decisions
Starting validation decisions...
Then present one issue at a time:
## Decision 1 of 2: BT-03
**Original:** Full budget management with categories, alerts, and reports
**Issue:** Too large, combines multiple user goals
| Option | Description |
|--------|-------------|
| A | Keep as single story (has noted issues) |
| B | Split by feature: BT-03 (set budget), BT-04 (categories), BT-05 (alerts) |
| C (Recommended) | Split by journey: BT-03 (set & view budget), BT-04 (add categories later) |
Which do you prefer? (A / B / C / other)
Wait for user response. After they decide, show next issue:
## Decision 2 of 2: BT-06
**Original:** Export reports in all formats
**Issue:** Gold plating - too many formats for MVP
| Option | Description |
|--------|-------------|
| A | Keep all export formats |
| B (Recommended) | Start with CSV export only, add others later |
| C | Defer entirely - no export in MVP |
Which do you prefer? (A / B / C / other)
After all decisions are made:
## All decisions complete
✓ 2 issues resolved
✓ 7 stories ready for spec creation
| ID | Title | Status |
|----|-------|--------|
| TM-01 | Add Transaction | Ready |
| TM-02 | View Transactions | Ready |
| BT-01 | Set Budget | Ready |
| ... | ... | ... |
Proceed to create specs? (yes / no)
## Created Specs
- specs/TM-01-add-transaction.md
- specs/TM-02-view-transactions.md
- specs/BT-01-set-budget.md
...
Run `/spec list` to see all specs with status.
Run `/spec features TM` to see Transaction Management stories.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub selrahcd/claude-marketplace --plugin dot-claude