Files
gh-levnikolaevich-claude-co…/skills/ln-222-story-creator/diagram.html
2025-11-30 08:37:27 +08:00

98 lines
4.9 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ln-222-story-creator Workflow</title>
<link rel="stylesheet" href="../shared/css/diagram.css">
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
<script>
mermaid.initialize({
startOnLoad: true,
theme: 'base',
themeVariables: {
primaryColor: '#4A90E2',
primaryTextColor: '#fff',
primaryBorderColor: '#2E5C8A',
lineColor: '#5C6BC0',
secondaryColor: '#7E57C2',
tertiaryColor: '#26A69A'
}
});
</script>
</head>
<body>
<div class="container">
<h1>ln-222-story-creator: Story Creator</h1>
<div class="diagram-section">
<h2>Workflow Diagram</h2>
<div class="mermaid">
graph TD
Start([Input: epicData, idealPlan, standardsResearch]) --> Phase1[Phase 1: Generate Story Documents]
Phase1 --> ReadTemplate[Read story_template_universal.md]
ReadTemplate --> GenerateDocs[For EACH Story in idealPlan:<br/>Generate 8 sections<br/>INSERT Standards Research]
GenerateDocs --> Phase2[Phase 2: Validate INVEST]
Phase2 --> ValidateAll[For EACH Story:<br/>Check I-N-V-E-S-T criteria]
ValidateAll --> CheckInvest{All pass?}
CheckInvest -->|No| Error[❌ STOP<br/>Report to orchestrator]
CheckInvest -->|Yes| Phase3[Phase 3: Show Preview]
Phase3 --> ShowPreview[Display:<br/>Story summaries<br/>Totals<br/>Standards Research<br/>INVEST: ✓]
ShowPreview --> Phase4[Phase 4: User Confirmation]
Phase4 --> CheckApprove{autoApprove?}
CheckApprove -->|true| Phase5
CheckApprove -->|false| WaitConfirm[Wait for 'confirm']
WaitConfirm --> Phase5[Phase 5: Create in Linear + Update Kanban]
Phase5 --> CreateLinear[For EACH Story:<br/>create_issue<br/>project=Epic, labels=user-story]
CreateLinear --> UpdateKanban[Update kanban_board.md:<br/>Epic Grouping Algorithm<br/>Update Epic Story Counters]
UpdateKanban --> Summary[Display Summary:<br/>URLs, Standards Research, Next Steps]
Summary --> End([Done])
style Start fill:#4A90E2,stroke:#2E5C8A,color:#fff
style End fill:#26A69A,stroke:#1B5E20,color:#fff
style Phase1 fill:#7E57C2,stroke:#4A148C,color:#fff
style Phase2 fill:#7E57C2,stroke:#4A148C,color:#fff
style Phase3 fill:#7E57C2,stroke:#4A148C,color:#fff
style Phase4 fill:#7E57C2,stroke:#4A148C,color:#fff
style Phase5 fill:#26A69A,stroke:#1B5E20,color:#fff
style Error fill:#F44336,stroke:#B71C1C,color:#fff
style CheckInvest fill:#FF9800,stroke:#E65100,color:#fff
style CheckApprove fill:#FF9800,stroke:#E65100,color:#fff
</div>
</div>
<div class="info-section">
<h2>Key Information</h2>
<ul>
<li><strong>Type:</strong> Worker (L3)</li>
<li><strong>Phases:</strong> 5 (Generate → Validate → Preview → Confirm → Create)</li>
<li><strong>Invoked by:</strong> ln-220-story-coordinator (Phase 5a, CREATE MODE)</li>
<li><strong>Input:</strong> epicData, idealPlan (5-10 Stories), standardsResearch, teamId, autoApprove</li>
<li><strong>Output:</strong> N Story URLs in Linear + kanban_board.md updated</li>
<li><strong>Validation:</strong> INVEST criteria (stop if ANY fails)</li>
<li><strong>Version:</strong> 1.0.0</li>
</ul>
</div>
<div class="notes-section">
<h2>Important Notes</h2>
<ul>
<li><strong>Phase 1:</strong> Generate 8-section Story documents for ALL Stories, INSERT Standards Research in Technical Notes → Library Research</li>
<li><strong>Phase 2:</strong> Validate INVEST (Independent, Negotiable, Valuable, Estimable, Small, Testable) for ALL Stories before creation</li>
<li><strong>Phase 3:</strong> Show preview with story summaries, totals (hours, tests), Standards Research included, INVEST validation passed</li>
<li><strong>Phase 4:</strong> autoApprove=true (automation mode) skips user confirmation, otherwise wait for "confirm"</li>
<li><strong>Phase 5:</strong> Create ALL Stories in Linear (project=Epic, labels=user-story, state=Backlog), update kanban_board.md with Epic Grouping Algorithm</li>
<li><strong>Standards Research:</strong> Inserted in EVERY Story (from ln-221-standards-researcher via ln-220 Phase 2), reused for consistency</li>
<li><strong>Epic Grouping:</strong> Reuse Epic header if exists (search by Epic number), don't duplicate</li>
<li><strong>Story Numbering:</strong> Sequential across ALL Epics (read Next Story from kanban_board.md Epic Story Counters)</li>
</ul>
</div>
</div>
</body>
</html>