Loading...
Loading...
Creates Stories from IDEAL plan (CREATE) or appends user-requested Stories (ADD). Generates 8-section documents, validates INVEST, creates in Linear. Invoked by ln-220.
npx skill4agent add levnikolaevich/claude-code-skills ln-221-story-creatorepicDataidealPlanstandardsResearchteamIdautoApproveepicDataappendMode: truenewStoryDescriptionstandardsResearchteamId{
epicData: {id, title, description},
idealPlan: [
{
number: "US004",
title: "Register OAuth client",
statement: {persona, capability, value},
ac: [GWT scenarios],
technicalNotes: {architecture, integrations, performance},
estimatedHours: 12,
testCounts: {e2e: 2, integration: 5, unit: 11}
}
],
standardsResearch: "OAuth 2.0 (RFC 6749)...",
teamId: "team-id",
autoApprove: true
}{
epicData: {id, title, description},
appendMode: true, // Signals ADD MODE - append to existing
newStoryDescription: "User's request for new Story",
standardsResearch: "Focused research for new Story only",
teamId: "team-id",
autoApprove: false // User confirmation recommended
}true[!NOTE] ADD MODE (appendMode: true): When adding Stories to existing Epic, workflow is simplified:
- Phase 1: Generate only requested Story(s) from
newStoryDescription- Skip full IDEAL plan comparison
- Standards Research is focused only on new Story topics
- Other phases proceed normally (INVEST, Preview, Create)
| Section | Content |
|---|---|
| 1. Story Statement | As a [persona] / I want [capability] / So that [value] |
| 2. Context | Current Situation (from Epic Scope Out) / Desired Outcome (from Epic Success Criteria) |
| 3. AC | Copy AC from idealPlan (3-5 GWT scenarios) |
| 4. Tasks | Placeholder: "Tasks created via ln-300-task-coordinator after ln-310-story-validator" |
| 5. Test Strategy | Copy test counts from idealPlan, Risk-Based Testing note |
| 6. Technical Notes | INSERT Standards Research in Library Research subsection |
| 7. DoD | Standard checklist from template |
| 8. Dependencies | Empty OR "Depends On: US00X" if ordering implies dependency |
| Criterion | Check | Pass | Fail |
|---|---|---|---|
| Independent | No circular dependencies | ✅ | ❌ STOP |
| Negotiable | AC focus on WHAT not HOW | ✅ | ❌ STOP |
| Valuable | Clear "So that" value | ✅ | ❌ STOP |
| Estimable | 6-20 hours | ✅ | ❌ STOP |
| Small | 3-5 AC, 10-28 tests | ✅ | ❌ STOP |
| Testable | Measurable AC (GWT format) | ✅ | ❌ STOP |
STORY CREATION PREVIEW for Epic 7: OAuth Authentication
Will create 5 Stories:
1. US004: Register OAuth client
Persona: Third-party developer | Capability: Register app, get credentials
Value: Can integrate with API | AC: 4 | Estimate: 12h | Tests: 18
2. US005: Request access token
Persona: API client | Capability: Exchange credentials for token
Value: Authenticate to API | AC: 5 | Estimate: 18h | Tests: 24
... (3 more)
Total: 5 Stories, 62h, 90 tests
Standards Research: OAuth 2.0 (RFC 6749), RFC 7636 (PKCE), RFC 7009 (Revocation)
Story ordering: Dependency-aware (US004 → US005 → US006)
INVEST validation: ✓
Type "confirm" to create.for each Story:
create_issue({
title: Story.number + ": " + Story.title,
description: Story.generated_document,
project: epicData.id,
team: teamId,
labels: ["user-story"],
state: "Backlog"
})### Backlog**Epic {epicNumber}: {epicTitle}****Epic N: Epic Title****Epic 7: OAuth Authentication**
📖 [ID: US004 Register OAuth client](url)
_(tasks not created yet)_
📖 [ID: US005 Request access token](url)
_(tasks not created yet)_STORIES CREATED for Epic 7: OAuth Authentication
✓ Created 5 Stories in Linear:
1. [ID: US004 Register OAuth client](url)
2. [ID: US005 Request access token](url)
3. [ID: US006 Validate access token](url)
4. [ID: US007 Refresh expired token](url)
5. [ID: US008 Revoke token](url)
✓ kanban_board.md updated (Backlog + Epic Story Counters)
✓ Standards Research included: OAuth 2.0, RFC 7636 PKCE, RFC 7009 Revocation
Total: 5 Stories, 62h, 90 tests
NEXT STEPS:
1. Run ln-310-story-validator to validate Stories (Backlog → Todo)
2. Use ln-300-task-coordinator to create tasks| Rule | Description |
|---|---|
| Standards Research Insertion | MUST insert in EVERY Story Technical Notes → Library Research |
| INVEST Validation | All Stories must pass before creation (stop if ANY fails) |
| Template Ownership | This skill owns story_template_universal.md in references/ |
| Epic Grouping | Reuse Epic header if exists (search by Epic number), don't duplicate |
| Story Numbering | Sequential across ALL Epics (read Next Story from kanban_board.md) |
| No Code | Descriptions contain approach ONLY, not code |
shared/references/template_loading_pattern.mdstory_template.mddocs/templates/story_template.mdshared/references/kanban_update_algorithm.mdshared/references/template_loading_pattern.mdshared/references/linear_creation_workflow.mdshared/templates/story_template.mddocs/templates/story_template.md