Claude Code Plugins

Community-maintained marketplace

Feedback
11
0

Replans Stories when Epic requirements change. Compares IDEAL vs existing, categorizes operations (KEEP/UPDATE/OBSOLETE/CREATE), executes in Linear.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name ln-223-story-replanner
description Replans Stories when Epic requirements change. Compares IDEAL vs existing, categorizes operations (KEEP/UPDATE/OBSOLETE/CREATE), executes in Linear.

Story Replanner

Universal replanner worker for updating Stories in Epic when requirements change. Invoked by ln-220-story-coordinator (count ≥ 1).

When Invoked

ln-220-story-coordinator REPLAN MODE (Phase 5b):

  • Epic has existing Stories (Linear query count ≥ 1)
  • IDEAL plan generated (Phase 3)
  • Standards Research completed by ln-221 (Phase 2, may be updated)
  • Epic requirements changed (AC modified, features added/removed, standards updated)
  • Parameters: epicData, idealPlan, standardsResearch, existingStoryIds, teamId, autoApprove

Input Parameters

From ln-220-story-coordinator:

{
  epicData: {id, title, description},
  idealPlan: [{number, title, statement, ac, technicalNotes, estimatedHours, testCounts}],
  standardsResearch: "OAuth 2.0 (RFC 6749)...",  // May differ from existing
  existingStoryIds: ["STORY-123", "STORY-124"],  // Metadata only
  teamId: "team-id",
  autoApprove: true
}

Workflow

Phase 1: Load Existing Stories

Progressive Loading for token efficiency:

Step 1: Orchestrator provides Story metadata (ID, title, status)

Step 2: Load FULL descriptions ONE BY ONE

for each story_id:
  get_issue(id=story_id)  // ~5,000 tokens per Story

Token Rationale: 10 Stories × 5,000 = 50,000 tokens. Load sequentially to manage context.

Step 3: Parse 8 sections for each Story

  • Story Statement (persona, capability, value)
  • Context
  • Acceptance Criteria (3-5 GWT)
  • Test Strategy
  • Technical Notes (Standards Research in Library Research subsection)
  • Definition of Done
  • Dependencies

Step 4: Extract metadata

  • ID, number, title, status
  • Persona, capability, value
  • AC scenarios
  • Standards Research (from Technical Notes)

Output: Array of N existing Story structures ready for comparison.

Phase 2: Compare IDEAL vs Existing

Algorithm: See replan_algorithm_stories.md

Match by goal, persona, capability:

For EACH Story in IDEAL:

  • Extract: Title, Persona, Capability
  • Search existing: Fuzzy match title, check persona/capability overlap
  • Result: Match → KEEP/UPDATE | No match → CREATE

For EACH existing Story:

  • Extract: Title, Persona, Capability (from Story Statement)
  • Search IDEAL: Fuzzy match
  • Result: Match → KEEP/UPDATE | No match → OBSOLETE

Categorize operations:

Operation Criteria Status Constraint Action
KEEP Goal + Persona + Capability + AC + Standards Research same Any None
UPDATE Match + (AC OR Standards Research OR Technical Notes changed) Backlog/Todo ✅
In Progress/Review ⚠️
Done ❌
update_issue
OBSOLETE No match + Feature removed Backlog/Todo ✅
In Progress/Review ⚠️
Done ❌
update_issue(state="Canceled")
CREATE In IDEAL + No match + New requirement N/A Generate doc + create_issue

Edge Cases:

Case Action
In Progress OBSOLETE ⚠️ NO auto-cancel, show warning
Done conflicts Preserve Done, CREATE follow-up
Story Split (1 → 2+) ⚠️ UPDATE first + CREATE new
Story Merge (2+ → 1) ⚠️ UPDATE first + OBSOLETE rest
Ambiguous match (>70% similarity) Show all, select highest

Details: replan_algorithm_stories.md

Phase 3: Show Operations Summary

REPLAN SUMMARY for Epic 7: OAuth Authentication

IDEAL PLAN:
1. US004: Register OAuth client (Persona: Third-party developer)
2. US005: Request access token ← AC5 ADDED! ← RFC 7636 PKCE ADDED!
3. US006: Validate access token
4. US009: Token scope management (NEW!)

EXISTING STORIES:

✓ US004 - Status: Done - KEEP
⚠ US005 - Status: Todo - UPDATE
   Changes: Add AC5, Add RFC 7636 to Technical Notes, Add 2 Integration tests
   Diff (AC): + AC5 "Given public client, When request with PKCE..."
   Diff (Technical Notes): + RFC 7636 (PKCE)
✗ US008 - Status: Todo - OBSOLETE (feature removed)
+ US009 - NEW (14h, 20 tests, OAuth 2.0 Scope standard)

OPERATIONS: 2 keep, 1 update, 1 cancel, 1 create

WARNINGS:
- ⚠️ US005 (Todo): AC changed, Standards Research updated
- ⚠️ US008 (Todo): Feature removed - check dependencies

Type "confirm" to execute.

Diffs show:

  • AC changes (line-by-line)
  • Standards Research changes (added/removed RFCs)
  • Test Strategy changes (test counts)

Warnings for:

  • Status conflicts (In Progress/Review affected)
  • Story Split/Merge detected
  • Ambiguous matches

Phase 4: User Confirmation

If autoApprove=true: Skip → Phase 5 Otherwise: Wait for "confirm"

Adjustment: User can request changes → Recategorize → Show updated summary → Loop until "confirm"

Phase 5: Execute Operations

Sequence: UPDATE → OBSOLETE → CREATE → Update kanban

UPDATE operations:

  1. Generate new Story document (story_template_universal.md from ln-222/references/)
  2. Validate INVEST (same as ln-222-story-creator Phase 2)
  3. update_issue(id, description=new_description)
  4. Add comment: "Story updated: AC changed (AC5 added), Standards Research updated (RFC 7636)"

OBSOLETE operations:

  1. update_issue(id, state="Canceled")
  2. Add comment: "Story canceled: Feature removed from Epic Scope In. Reason: [details]"

CREATE operations:

  1. Generate Story document (same as ln-222-story-creator Phase 1)
  2. Validate INVEST
  3. create_issue({title, description, project=Epic, team, labels=["user-story"], state="Backlog"})

Update kanban_board.md:

DELETE (OBSOLETE): Remove canceled Story lines, remove task lines if any, remove Epic header if empty

CREATE (NEW): Find ### Backlog → Search Epic group → Add Stories (2-space indent)

UPDATE Epic Story Counters: Last Story, Next Story

Return:

REPLAN EXECUTED for Epic 7

OPERATIONS SUMMARY:
✓ Kept: 2 Stories
✓ Updated: 1 Story (AC/Standards Research changed)
✓ Canceled: 1 Story (feature removed)
✓ Created: 1 Story (new requirement)

UPDATED: [ID: US005](url) - AC5 added, RFC 7636 PKCE added
CANCELED: US008 Custom token formats
NEW: [ID: US009](url) - Token scope management

WARNINGS: US005 (Todo) AC changed

✓ kanban_board.md updated
✓ Standards Research updates: RFC 7636 PKCE added to US005

NEXT STEPS:
1. Review warnings
2. Run ln-320-story-validator on updated/created Stories
3. Use ln-310-story-decomposer to create/replan tasks

Critical Rules

Rule Description
Status Constraints UPDATE/OBSOLETE: Backlog/Todo ✅, In Progress/Review ⚠️, Done ❌
Preserve Done Never update/cancel Done Stories (CREATE follow-up if conflicts)
Story Split/Merge Detect 1→2+ OR 2+→1, show warnings (complex, impacts Tasks)
Clear Diffs Show before/after for UPDATE (AC, Standards Research, Technical Notes)
Meaningful Comments Explain why updated/canceled (reference removed capabilities)
Conservative Updates Prefer CREATE over UPDATE when in doubt
Progressive Loading Load Stories ONE BY ONE (not all at once, token efficiency)

Definition of Done

✅ Phase 1:

  • Existing Story IDs queried
  • FULL descriptions fetched ONE BY ONE
  • 8 sections parsed
  • Metadata extracted (persona, capability, AC, Standards Research)

✅ Phase 2:

  • Stories matched by goal/persona/capability
  • Operations categorized (KEEP/UPDATE/OBSOLETE/CREATE)
  • Edge cases detected (Split/Merge, Ambiguous)

✅ Phase 3:

  • Operations summary shown
  • Diffs shown for UPDATE (AC, Standards Research, Technical Notes)
  • Warnings shown

✅ Phase 4:

  • autoApprove=true OR user confirmed

✅ Phase 5:

  • All operations executed (UPDATE/OBSOLETE/CREATE)
  • kanban_board.md updated
  • Summary returned (URLs + warnings)

Reference Files

replan_algorithm_stories.md

Location: references/ (owned by this skill) Purpose: Detailed comparison logic for REPLAN mode (Story level) Contents: KEEP/UPDATE/OBSOLETE/CREATE rules, Match criteria, Status constraints, Edge cases, Examples Usage: Applied in Phase 2

story_template_universal.md

Location: ln-222-story-creator/references/ (ln-222 ownership) Purpose: Universal Story template (8 sections) Usage: Read when generating updated Story documents for UPDATE/CREATE operations

Integration

Called by: ln-220-story-coordinator (Phase 5b, count ≥ 1)

Returns:

  • Success: Operations summary + URLs + warnings
  • 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)
  • Build IDEAL plan (receives from orchestrator)

Version: 1.0.0 Last Updated: 2025-11-20