🎯

ln-221-story-creator

🎯Skill

from levnikolaevich/claude-code-skills

VibeIndex|
What it does

Generates user stories for Linear by creating 8-section documents from IDEAL plans or user requests, with automatic INVEST validation.

πŸ“¦

Part of

levnikolaevich/claude-code-skills(85 items)

ln-221-story-creator

Installation

Claude CodeAdd plugin in Claude Code
/plugin add levnikolaevich/claude-code-skills
git cloneClone repository
git clone https://github.com/levnikolaevich/claude-code-skills.git ~/.claude/skills
πŸ“– Extracted from docs: levnikolaevich/claude-code-skills
11Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

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.

Overview

# Story Creator

Universal factory worker for creating Stories. Supports two modes:

  • CREATE MODE: Epic has no Stories β†’ create from IDEAL plan (5-10 Stories)
  • ADD MODE: Epic has Stories β†’ append new Story(s) from user request

Invoked by ln-220-story-coordinator (Phase 5a for CREATE, Phase 5c for ADD).

When Invoked

1. ln-220-story-coordinator CREATE MODE (Phase 5a):

  • Epic has NO existing Stories (Linear query count = 0)
  • IDEAL plan generated (Phase 3)
  • Standards Research completed by ln-001 (Phase 2)
  • Parameters: epicData, idealPlan, standardsResearch, teamId, autoApprove

2. ln-220-story-coordinator ADD MODE (Phase 5c):

  • Epic HAS existing Stories, user wants to ADD more (not replan)
  • Single Story or few Stories from user request
  • Parameters: epicData, appendMode: true, newStoryDescription, standardsResearch, teamId

Input Parameters

For CREATE MODE (from ln-220-story-coordinator Phase 5a):

```javascript

{

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

}

```

For ADD MODE (from ln-220-story-coordinator Phase 5c with appendMode):

```javascript

{

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

}

```

  • appendMode: true signals ADD MODE - append to existing Stories
  • newStoryDescription: User's request for new Story(s) to add
  • NO idealPlan - creates only what user requested (single Story or few)

Workflow

> [!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)

Phase 1: Generate Story Documents

Load story template (see "Template Loading" section) and use 8 sections.

For EACH Story in IDEAL plan:

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

Output: Array of N complete Story documents (5-10) with Standards Research inserted.

Phase 2: Validate INVEST

For EACH Story, check:

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

Error if ANY Story fails β†’ Report to orchestrator, stop execution.

Phase 3: Show Preview

```

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

  1. 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.

```

Phase 4: User Confirmation

If autoApprove=true: Skip confirmation β†’ Phase 5

Otherwise: Wait for "confirm"

Phase 5: Create in Linear + Update Kanban

Create Linear Issues:

```javascript

for each Story:

create_issue({

title: Story.number + ": " + Story.title,

description: Story.generated_document,

project: epicData.id,

team: teamId,

labels: ["user-story"],

state: "Backlog"

})

```

Update kanban_board.md:

Epic Grouping Algorithm:

  1. Find ### Backlog
  2. Search Epic {epicNumber}: {epicTitle}

- Found: use existing Epic group

- NOT found: create Epic N: Epic Title

  1. Add Stories under Epic (2-space indent, πŸ“– emoji)

Format:

```markdown

Epic 7: OAuth Authentication

πŸ“– [ID: US004 Register OAuth client](url)

_(tasks not created yet)_

πŸ“– [ID: US005 Request access token](url)

_(tasks not created yet)_

```

Update Epic Story Counters table:

  • Last Story: US008
  • Next Story: US009

Return:

```

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

```

Critical Rules

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

Definition of Done

βœ… Phase 1:

  • [ ] All N Stories have 8 sections
  • [ ] Standards Research inserted in Technical Notes β†’ Library Research

βœ… Phase 2:

  • [ ] All Stories pass INVEST validation

βœ… Phase 3:

  • [ ] Preview shown (summaries, totals, Standards Research, ordering)

βœ… Phase 4:

  • [ ] autoApprove=true OR user confirmed

βœ… Phase 5:

  • [ ] All N Stories created in Linear (project=Epic, labels=user-story, state=Backlog)
  • [ ] kanban_board.md updated (Backlog + Epic Story Counters)
  • [ ] Summary returned (URLs + next steps)

Template Loading

Template: story_template.md

Loading Logic:

  1. Check if docs/templates/story_template.md exists in target project
  2. IF NOT EXISTS:

a. Create docs/templates/ directory if missing

b. Copy shared/templates/story_template.md β†’ docs/templates/story_template.md

c. Replace placeholders in the LOCAL copy:

- {{TEAM_ID}} β†’ from docs/tasks/kanban_board.md

- {{DOCS_PATH}} β†’ "docs" (standard)

  1. Use LOCAL copy (docs/templates/story_template.md) for all operations

Rationale: Templates are copied to target project on first use, ensuring:

  • Project independence (no dependency on skills repository)
  • Customization possible (project can modify local templates)
  • Placeholder replacement happens once at copy time

Reference Files

story_template.md

Location: shared/templates/story_template.md (centralized)

Local Copy: docs/templates/story_template.md (in target project)

Purpose: Universal Story template (8 sections)

Template Version: 9.0.0

Integration

Called by: ln-220-story-coordinator

  • Phase 5a (CREATE MODE, count = 0) - full IDEAL plan
  • Phase 5c (ADD MODE, count β‰₯ 1, appendMode) - user-requested Story(s)

Returns:

  • Success: Story URLs + summary + next steps
  • Error: "Story USXXX violates INVEST: [details]"

Worker does NOT:

  • Query Linear for Epic (already in context)
  • Analyze Epic complexity (orchestrator Phase 3)
  • Research standards (orchestrator Phase 2 delegates to ln-001)
  • Build IDEAL plan (receives from orchestrator)

---

Version: 3.0.0

Last Updated: 2025-12-23

More from this repository10

πŸͺ
levnikolaevich-claude-code-skillsπŸͺMarketplace

Official marketplace for Agile Linear Workflow plugin - complete end-to-end automation for software development teams using Linear. Includes 7XX Project Bootstrap series for technology-agnostic project migration.

🎯
ln-140-test-docs-creator🎯Skill

Generates comprehensive test documentation with testing strategy and test organization structure for software projects.

🎯
ln-110-project-docs-coordinator🎯Skill

Coordinates project documentation by gathering context once, detecting project type, and delegating document creation to 5 specialized workers.

🎯
ln-114-frontend-docs-creator🎯Skill

Generates design guidelines documentation for frontend projects with WCAG 2.1 compliance when a frontend framework is detected.

🎯
ln-113-backend-docs-creator🎯Skill

Generates backend documentation files (API spec and database schema) automatically when backend or database technologies are detected in a project.

🎯
ln-610-code-comments-auditor🎯Skill

Audits code comments and docstrings across 6 quality categories, generating a comprehensive compliance score and actionable recommendations for improvement.

🎯
ln-115-devops-docs-creator🎯Skill

Generates a comprehensive runbook.md for DevOps setup, dynamically tailored to project's Docker configuration and deployment specifics.

🎯
ln-772-error-handler-setup🎯Skill

Configures global exception handling middleware for .NET and Python backend applications with standardized error responses.

🎯
ln-120-reference-docs-creator🎯Skill

Generates reference documentation structure and smart documents for project tech stack, creating only justified architectural decision records and guides.

🎯
ln-625-dependencies-auditor🎯Skill

Audits dependencies for outdated packages, unused imports, unnecessary libraries, and custom implementations, providing actionable recommendations.