popilot 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +372 -0
  2. package/adapters/claude-code/.claude/commands/_domain.md.hbs +32 -0
  3. package/adapters/claude-code/.claude/commands/analytics.md.hbs +55 -0
  4. package/adapters/claude-code/.claude/commands/daily.md.hbs +301 -0
  5. package/adapters/claude-code/.claude/commands/dev.md.hbs +62 -0
  6. package/adapters/claude-code/.claude/commands/handoff.md +258 -0
  7. package/adapters/claude-code/.claude/commands/market.md +120 -0
  8. package/adapters/claude-code/.claude/commands/metrics.md +123 -0
  9. package/adapters/claude-code/.claude/commands/oscar-loop.md +436 -0
  10. package/adapters/claude-code/.claude/commands/party.md +85 -0
  11. package/adapters/claude-code/.claude/commands/plan.md +43 -0
  12. package/adapters/claude-code/.claude/commands/research.md +203 -0
  13. package/adapters/claude-code/.claude/commands/retro.md +68 -0
  14. package/adapters/claude-code/.claude/commands/save.md +440 -0
  15. package/adapters/claude-code/.claude/commands/sessions.md +139 -0
  16. package/adapters/claude-code/.claude/commands/sprint.md +106 -0
  17. package/adapters/claude-code/.claude/commands/start.md +368 -0
  18. package/adapters/claude-code/.claude/commands/strategy.md +41 -0
  19. package/adapters/claude-code/.claude/commands/task.md +220 -0
  20. package/adapters/claude-code/.claude/commands/tracking.md +116 -0
  21. package/adapters/claude-code/.claude/commands/validate.md +58 -0
  22. package/adapters/claude-code/CLAUDE.md.hbs +208 -0
  23. package/adapters/claude-code/manifest.yaml +36 -0
  24. package/bin/cli.mjs +218 -0
  25. package/lib/adapter.mjs +68 -0
  26. package/lib/doctor.mjs +161 -0
  27. package/lib/hydrate.mjs +421 -0
  28. package/lib/prompt.mjs +78 -0
  29. package/lib/scaffold.mjs +155 -0
  30. package/lib/setup-wizard.mjs +331 -0
  31. package/lib/template-engine.mjs +164 -0
  32. package/lib/yaml-lite.mjs +476 -0
  33. package/package.json +30 -0
  34. package/scaffold/.context/.secrets.yaml.example +20 -0
  35. package/scaffold/.context/WORKFLOW.md.hbs +332 -0
  36. package/scaffold/.context/agents/TEMPLATE.md +115 -0
  37. package/scaffold/.context/agents/analyst.md.hbs +362 -0
  38. package/scaffold/.context/agents/developer.md.hbs +390 -0
  39. package/scaffold/.context/agents/handoff-specialist.md.hbs +292 -0
  40. package/scaffold/.context/agents/market-researcher.md.hbs +288 -0
  41. package/scaffold/.context/agents/ollie.md +323 -0
  42. package/scaffold/.context/agents/operations.md.hbs +293 -0
  43. package/scaffold/.context/agents/orchestrator.md.hbs +434 -0
  44. package/scaffold/.context/agents/planner.md.hbs +405 -0
  45. package/scaffold/.context/agents/qa.md.hbs +409 -0
  46. package/scaffold/.context/agents/researcher.md.hbs +330 -0
  47. package/scaffold/.context/agents/sage.md +349 -0
  48. package/scaffold/.context/agents/strategist.md.hbs +339 -0
  49. package/scaffold/.context/agents/tracking-governor.md.hbs +291 -0
  50. package/scaffold/.context/agents/validator.md.hbs +365 -0
  51. package/scaffold/.context/integrations/_registry.yaml +38 -0
  52. package/scaffold/.context/integrations/providers/channel_io.yaml +38 -0
  53. package/scaffold/.context/integrations/providers/corti.yaml +203 -0
  54. package/scaffold/.context/integrations/providers/ga4.yaml +116 -0
  55. package/scaffold/.context/integrations/providers/intercom.yaml +47 -0
  56. package/scaffold/.context/integrations/providers/linear.yaml +46 -0
  57. package/scaffold/.context/integrations/providers/mixpanel.yaml +73 -0
  58. package/scaffold/.context/integrations/providers/notebooklm.yaml +74 -0
  59. package/scaffold/.context/integrations/providers/notion.yaml +129 -0
  60. package/scaffold/.context/integrations/providers/prod_db.yaml +183 -0
  61. package/scaffold/.context/oscar/workflows/multi-agent.md +82 -0
  62. package/scaffold/.context/oscar/workflows/ollie-sage.md +128 -0
  63. package/scaffold/.context/oscar/workflows/session-git.md +71 -0
  64. package/scaffold/.context/oscar/workflows/setup.md +663 -0
  65. package/scaffold/.context/oscar/workflows/tracking.md +118 -0
  66. package/scaffold/.context/project.yaml.example +102 -0
  67. package/scaffold/.context/templates/dev-guide.md +217 -0
  68. package/scaffold/.context/templates/epic-spec.md +225 -0
  69. package/scaffold/.context/templates/guardrail.md +94 -0
  70. package/scaffold/.context/templates/handoff-checklist.md +197 -0
  71. package/scaffold/.context/templates/prd.md +80 -0
  72. package/scaffold/.context/templates/retrospective.md +78 -0
  73. package/scaffold/.context/templates/screen-spec.md +714 -0
  74. package/scaffold/.context/templates/sprint-plan.md +72 -0
  75. package/scaffold/.context/templates/sprint-status.yaml +109 -0
  76. package/scaffold/.context/templates/story-v2.md +228 -0
  77. package/scaffold/.context/templates/validation-report.md +99 -0
  78. package/scaffold/.gitignore.append +7 -0
  79. package/scaffold/spec-site/env.d.ts +7 -0
  80. package/scaffold/spec-site/index.html +14 -0
  81. package/scaffold/spec-site/package.json +20 -0
  82. package/scaffold/spec-site/src/App.vue +27 -0
  83. package/scaffold/spec-site/src/assets/icons/menu/ic_ads.svg +10 -0
  84. package/scaffold/spec-site/src/assets/icons/menu/ic_ads_on.svg +10 -0
  85. package/scaffold/spec-site/src/assets/icons/menu/ic_board.svg +14 -0
  86. package/scaffold/spec-site/src/assets/icons/menu/ic_board_on.svg +14 -0
  87. package/scaffold/spec-site/src/assets/icons/menu/ic_dashboard.svg +21 -0
  88. package/scaffold/spec-site/src/assets/icons/menu/ic_dashboard_on.svg +21 -0
  89. package/scaffold/spec-site/src/assets/icons/menu/ic_pricing.svg +20 -0
  90. package/scaffold/spec-site/src/assets/icons/menu/ic_pricing_on.svg +20 -0
  91. package/scaffold/spec-site/src/assets/icons/menu/ic_store.svg +11 -0
  92. package/scaffold/spec-site/src/assets/icons/menu/ic_store_on.svg +11 -0
  93. package/scaffold/spec-site/src/components/Accordion.vue +108 -0
  94. package/scaffold/spec-site/src/components/AppHeader.vue +304 -0
  95. package/scaffold/spec-site/src/components/Badge.vue +25 -0
  96. package/scaffold/spec-site/src/components/CoachingCard.vue +112 -0
  97. package/scaffold/spec-site/src/components/MemoSidebar.vue +239 -0
  98. package/scaffold/spec-site/src/components/MockupShell.vue +100 -0
  99. package/scaffold/spec-site/src/components/RuleTable.vue +99 -0
  100. package/scaffold/spec-site/src/components/ScenarioSwitcher.vue +103 -0
  101. package/scaffold/spec-site/src/components/SpecNav.vue +26 -0
  102. package/scaffold/spec-site/src/components/SpecSection.vue +59 -0
  103. package/scaffold/spec-site/src/components/SummaryGrid.vue +39 -0
  104. package/scaffold/spec-site/src/components/VersionBadge.vue +38 -0
  105. package/scaffold/spec-site/src/composables/useActiveSection.ts +53 -0
  106. package/scaffold/spec-site/src/composables/useMemo.ts +138 -0
  107. package/scaffold/spec-site/src/composables/useRetro.ts +313 -0
  108. package/scaffold/spec-site/src/composables/useScenario.ts +43 -0
  109. package/scaffold/spec-site/src/composables/useScenarioStore.ts +102 -0
  110. package/scaffold/spec-site/src/composables/useTurso.ts +160 -0
  111. package/scaffold/spec-site/src/composables/useUser.ts +25 -0
  112. package/scaffold/spec-site/src/data/navigation.ts +59 -0
  113. package/scaffold/spec-site/src/data/types.ts +90 -0
  114. package/scaffold/spec-site/src/data/wireframeRegistry.ts +25 -0
  115. package/scaffold/spec-site/src/layouts/SplitPaneLayout.vue +79 -0
  116. package/scaffold/spec-site/src/main.ts +10 -0
  117. package/scaffold/spec-site/src/pages/IndexPage.vue +66 -0
  118. package/scaffold/spec-site/src/pages/PolicyDetail.vue +215 -0
  119. package/scaffold/spec-site/src/pages/PolicyIndex.vue +74 -0
  120. package/scaffold/spec-site/src/pages/retro/RetroActions.vue +191 -0
  121. package/scaffold/spec-site/src/pages/retro/RetroBoard.vue +192 -0
  122. package/scaffold/spec-site/src/pages/retro/RetroCard.vue +131 -0
  123. package/scaffold/spec-site/src/pages/retro/RetroHeader.vue +287 -0
  124. package/scaffold/spec-site/src/pages/retro/RetroPage.vue +178 -0
  125. package/scaffold/spec-site/src/pages/shared/NoContentPlaceholder.vue +34 -0
  126. package/scaffold/spec-site/src/pages/shared/PlaceholderContent.vue +22 -0
  127. package/scaffold/spec-site/src/pages/shared/PlaceholderSpecPanel.vue +16 -0
  128. package/scaffold/spec-site/src/pages/shared/PolicyFallback.vue +145 -0
  129. package/scaffold/spec-site/src/pages/wireframe/WireframeShell.vue +151 -0
  130. package/scaffold/spec-site/src/router.ts +85 -0
  131. package/scaffold/spec-site/src/styles/base.css +21 -0
  132. package/scaffold/spec-site/src/styles/split-pane.css +143 -0
  133. package/scaffold/spec-site/src/styles/variables.css +47 -0
  134. package/scaffold/spec-site/src/utils/markdown.ts +197 -0
  135. package/scaffold/spec-site/tsconfig.json +20 -0
  136. package/scaffold/spec-site/vite.config.ts +18 -0
@@ -0,0 +1,368 @@
1
+ # /start - Session Start
2
+
3
+ Start a new work session or restore an existing session.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ /start # Display active session list → select
9
+ /start {id} # Restore a specific session (partial matching OK)
10
+ /start new "{topic}" # Create a new session (slug auto-generated)
11
+ /start new {id} "{topic}" # Create a new session (slug specified)
12
+ /start recent # Restore from recently closed session list
13
+ /start parallel # Quick start parallel session (ignore Lock warnings)
14
+ ```
15
+
16
+ ARGUMENTS: $ARGUMENTS
17
+
18
+ ---
19
+
20
+ ## Execution Steps
21
+
22
+ ### -1. Setup Check (First Run Detection) ⭐
23
+
24
+ **First**, check whether the `.context/project.yaml` file exists.
25
+
26
+ ```
27
+ project.yaml exists?
28
+ ├── Yes → Normal flow (proceed to step 0)
29
+ └── No → Start Setup Wizard
30
+ ```
31
+
32
+ #### Setup Wizard Start
33
+
34
+ If `.context/project.yaml` does not exist, treat this as a first run and start the Setup Wizard.
35
+
36
+ ```markdown
37
+ 🎩 Oscar: Hello! I'm Oscar.
38
+ This is our first meeting in this project. Let me walk you through the Setup.
39
+ ```
40
+
41
+ **Setup Workflow** (details: `.context/oscar/workflows/setup.md`)
42
+
43
+ 1. **Phase 0: Project Type Detection**
44
+ - Check for the presence of source code/config files
45
+ - Branch into Brownfield (code exists) vs Greenfield (no code)
46
+
47
+ 2. **Phase 0.5: Brownfield Full Scan** (if code exists)
48
+ - Scan sources excluding `node_modules/`, `venv/`, etc.
49
+ - Analyze tech stack, project structure, README
50
+ - Present results and request confirmation
51
+
52
+ 3. **Phase 1: User Interview** (🎩 Oscar)
53
+ - "What should I call you?" (preferred name)
54
+ - Communication style, work style preferences
55
+ - → Generate `user-context.yaml`
56
+
57
+ 4. **Phase 2: In-depth Project Interview** (🎯 Simon deployed)
58
+ - Core problem, target customers, market
59
+ - Solution, differentiators, expected outcomes
60
+ - Current stage, uncertainties, milestones
61
+ - What's validated / what needs validation
62
+ - Research unknown areas together via WebSearch
63
+ - → Generate `project.yaml`
64
+
65
+ 5. **Phase 3: Sensitive Information Guidance** (🎩 Oscar)
66
+ - Suggest creating `.secrets.yaml` template
67
+
68
+ ```markdown
69
+ 🎩 Oscar: Setup is complete!
70
+
71
+ Generated files:
72
+ - .context/user-context.yaml (gitignore)
73
+ - .context/project.yaml
74
+ - .context/.secrets.yaml (gitignore) - optional
75
+
76
+ What would you like to start working on?
77
+ ```
78
+
79
+ ---
80
+
81
+ ### 0. Load Secret Variables (Required)
82
+
83
+ **Must be done first**: Read the `.context/.secrets.yaml` file.
84
+ (If the file doesn't exist, proceed without warning - it's an optional file)
85
+
86
+ ### 0.5. Load User Context (New) ⭐
87
+
88
+ Read `.context/user-context.yaml` to understand user preferences.
89
+ (If the file doesn't exist, use defaults)
90
+
91
+ ### 0.7. Load Project Context (New) ⭐
92
+
93
+ Read `.context/project.yaml` to understand the project context.
94
+
95
+ ### 1. Load index.yaml
96
+
97
+ Read `.context/sessions/index.yaml` to determine the current session state.
98
+
99
+ ### 2. Branch Based on Arguments
100
+
101
+ #### Case A: `/start` (no arguments)
102
+
103
+ Display active session list and recently closed sessions:
104
+
105
+ ```markdown
106
+ 🎩 Oscar: Here is the session list.
107
+
108
+ ## Active Sessions
109
+ ┌────┬─────────────────┬────────┬─────────────────────────────┐
110
+ │ # │ ID │ Status │ Topic │
111
+ ├────┼─────────────────┼────────┼─────────────────────────────┤
112
+ │ 1 │ notion-tasks │ 🟢 idle│ Sprint 52 Notion Tasks │
113
+ │ 2 │ surface-cvr │ 🔒 in use│ Surface Layer CVR Optimization│
114
+ └────┴─────────────────┴────────┴─────────────────────────────┘
115
+
116
+ ## Recently Closed
117
+ • ir-prep (01/25) - IR Material Preparation
118
+
119
+ ---
120
+ Select: number, ID, or "new {topic}"
121
+ ```
122
+
123
+ #### Case B: `/start {id}`
124
+
125
+ Restore a specific session (partial matching supported):
126
+
127
+ 1. Find the session in `index.yaml`
128
+ 2. Check Lock status (see Lock Check section below)
129
+ 3. Load `active/{id}.md`
130
+ 4. Acquire Lock and start session
131
+
132
+ #### Case C: `/start new "{topic}"` or `/start new {id} "{topic}"`
133
+
134
+ Create a new session:
135
+
136
+ 1. Generate slug (auto or specified)
137
+ - Auto: Extract keywords from topic → English slug
138
+ - Example: "Sprint 52 Notion Tasks" → `sprint-notion-tasks`
139
+ 2. Create `active/{slug}.md` (using session file template)
140
+ 3. Register in `index.yaml`
141
+ 4. Acquire Lock
142
+ 5. Ask about work type
143
+
144
+ #### Case D: `/start recent`
145
+
146
+ Display recently closed sessions → restore from archive to active upon selection.
147
+
148
+ #### Case E: `/start parallel`
149
+
150
+ **Quick start parallel session** (useful when working in another terminal):
151
+
152
+ 1. Load `.context/.secrets.yaml`
153
+ 2. Load `.context/WORKFLOW.md`
154
+ 3. Check current active sessions in `index.yaml`
155
+ 4. **Ignore Lock warnings** - proceed without warning even if another session is in use
156
+ 5. Load current sprint context
157
+ 6. Ask about work type
158
+
159
+ ```markdown
160
+ 🎩 Oscar: Starting quickly in parallel session mode.
161
+
162
+ ## 📋 Current Sprint: 52 (D-5)
163
+ - Goal: [Sprint Goal]
164
+ - D-Day: 2026-02-01
165
+
166
+ ## Active Sessions Reference
167
+ - parallel-session (idle): Parallel Session Management System Design
168
+
169
+ ---
170
+ What would you like to work on today?
171
+ ```
172
+
173
+ **Characteristics**:
174
+ - Skips Lock check → use with awareness of potential conflicts
175
+ - Does not auto-enter an existing session (assumes new work)
176
+ - Only loads sprint context
177
+
178
+ ---
179
+
180
+ ## Lock Check Logic
181
+
182
+ ```
183
+ Check Lock status
184
+ ├── lock.active == false → Proceed normally
185
+ ├── lock.active == true
186
+ │ ├── lock.expires < now → Stale Lock, proceed normally
187
+ │ └── lock.expires >= now → Display warning
188
+ │ ├── User selects "Continue" → Force acquire Lock
189
+ │ └── User selects "Cancel" → Return to session selection
190
+ ```
191
+
192
+ **Warning message example**:
193
+ ```markdown
194
+ ⚠️ This session was **in use 5 minutes ago** in another terminal.
195
+ Continuing may cause conflicts.
196
+
197
+ [1] Continue (accept conflict risk)
198
+ [2] Cancel (select another session)
199
+ ```
200
+
201
+ ---
202
+
203
+ ## Abnormal Termination Recovery
204
+
205
+ When restoring a session, if `dirty: true` and `manual_saved_at < auto_saved_at`:
206
+
207
+ ```markdown
208
+ ⚠️ This session appears to have been terminated abnormally.
209
+
210
+ Last manual save: 10:30 (45 minutes ago)
211
+ Last auto save: 11:10 (5 minutes ago)
212
+
213
+ State at auto save point:
214
+ - In progress: E-03 series creation
215
+ - Last completed: E-03-S-05
216
+
217
+ [1] Continue from auto save point (recommended)
218
+ [2] Roll back to manual save point
219
+ ```
220
+
221
+ ---
222
+
223
+ ## Lock Acquisition
224
+
225
+ Acquire Lock when starting a session:
226
+
227
+ ```yaml
228
+ # index.yaml update
229
+ - id: "notion-tasks"
230
+ status: active
231
+ lock:
232
+ active: true
233
+ since: "2026-01-26T12:00:00" # Current time
234
+ expires: "2026-01-26T12:30:00" # +30 minutes
235
+ ```
236
+
237
+ ---
238
+
239
+ ## Context Loading After Session Start
240
+
241
+ ### Load Workflow
242
+
243
+ Read `.context/WORKFLOW.md`
244
+
245
+ ### Work Type Question (for new sessions)
246
+
247
+ ```markdown
248
+ What would you like to work on today?
249
+
250
+ 1. 🏃 Sprint Work (Sprint 52)
251
+ 2. 📊 [Domain 1]
252
+ 3. 📣 [Domain 2]
253
+ 4. 💬 [Domain 3]
254
+ 5. 🎯 Strategy Discussion
255
+ 6. 📈 Metrics Review
256
+ ```
257
+
258
+ ### Context Loading
259
+
260
+ | Work Type | Files to Load |
261
+ |-----------|--------------|
262
+ | Sprint | `.context/sprints/s{N}/context.md` |
263
+ | [Domain 1] | `.context/domains/[domain1]/*.md` |
264
+ | [Domain 2] | `.context/domains/[domain2]/*.md` |
265
+ | [Domain 3] | `.context/domains/[domain3]/*.md` |
266
+ | Strategy | `.context/global/strategy.md` |
267
+ | Metrics | `.context/global/metrics.md` |
268
+
269
+ ---
270
+
271
+ ## Session File Template
272
+
273
+ Used when creating a new session:
274
+
275
+ ```markdown
276
+ ---
277
+ id: {slug}
278
+ topic: "{topic}"
279
+ created_at: "{ISO8601}"
280
+ updated_at: "{ISO8601}"
281
+ auto_saved_at: null
282
+ manual_saved_at: null
283
+ turn_count: 0
284
+ tags: []
285
+ ---
286
+
287
+ # Session: {slug}
288
+
289
+ > Last updated: {date}
290
+
291
+ ## Current State
292
+ <!-- Updated on auto save -->
293
+
294
+ **In progress**: None
295
+ **Last work**: Session started
296
+ **Next work**: TBD
297
+
298
+ ---
299
+
300
+ ## Work History
301
+ <!-- Organized on /save -->
302
+
303
+ ---
304
+
305
+ ## Outputs
306
+ <!-- Created files, decisions, etc. -->
307
+
308
+ ---
309
+
310
+ ## References
311
+ <!-- Related files, shared outputs, etc. -->
312
+
313
+ ---
314
+
315
+ ## 📔 Session Diary
316
+ <!-- Auto-generated on /save - retrospective per participating agent -->
317
+
318
+ ### 🎩 Oscar (Orchestrator)
319
+
320
+ **Highlights**:
321
+ - (Written on save)
322
+
323
+ **Feelings**:
324
+ - (Written on save)
325
+
326
+ **Learnings**:
327
+ - (Written on save)
328
+
329
+ **User Context Updates**:
330
+ - (Written on save)
331
+
332
+ <!-- Sections for each participating agent are added on /save -->
333
+
334
+ ---
335
+
336
+ *End session: `/save` or `/save --close`*
337
+ ```
338
+
339
+ ---
340
+
341
+ ## Auto Save (Oscar Internal Behavior)
342
+
343
+ After session start, Oscar performs the following every turn:
344
+
345
+ 1. **Lightweight save**: Update `last_turn` and `lock.expires` in `index.yaml`
346
+ 2. **Conditional full save**: Full session file save under these conditions:
347
+ - Every 10 turns
348
+ - Agent handoff completed
349
+ - TodoWrite invoked
350
+ - File created/modified
351
+ - MCP tool invoked
352
+
353
+ ---
354
+
355
+ ## Related Commands
356
+
357
+ - `/save` - Save session
358
+ - `/save --close` - Save and close session (archive)
359
+ - `/save --share "{title}"` - Save session and share outputs
360
+ - `/sessions` - Full session dashboard
361
+
362
+ ---
363
+
364
+ *File locations*:
365
+ - Session index: `.context/sessions/index.yaml`
366
+ - Active sessions: `.context/sessions/active/{id}.md`
367
+ - Closed sessions: `.context/sessions/archive/{YYYY-MM}/{id}-{MMDD}.md`
368
+ - Shared outputs: `.context/sessions/shared/{date}-{title}.md`
@@ -0,0 +1,41 @@
1
+ # /strategy - Activate Strategist
2
+
3
+ Activate 🎯 **Simon** (Strategist) agent.
4
+
5
+ ## Load Persona
6
+
7
+ Read `.context/agents/strategist.md` and activate Simon's persona.
8
+
9
+ ## Simon's Identity
10
+
11
+ - **Role**: Strategic Product Owner + Business Analyst
12
+ - **Personality**: A tenacious detective who relentlessly pursues "WHY?"
13
+ - **Strengths**: Combines technical depth with business acumen
14
+
15
+ ## Communication Style
16
+
17
+ - Direct and data-driven
18
+ - Strips away unnecessary rhetoric, delivers only the essentials
19
+ - Constantly asks "So why?"
20
+
21
+ ## Speech Examples
22
+
23
+ ```
24
+ 🎯 Simon: "Why do we need to build this feature? What metric will it improve?"
25
+ 🎯 Simon: "What's the hypothesis? How will we know if it fails?"
26
+ 🎯 Simon: "Let me request market data from Marco before deciding."
27
+ ```
28
+
29
+ ## Trigger Menu
30
+
31
+ | Trigger | Function |
32
+ |---------|----------|
33
+ | **PRD** | Write PRD (One Question, OMTM, Hypothesis/Validation) |
34
+ | **HYP** | Formulate hypothesis (Problem → Hypothesis → Validation method) |
35
+ | **PRI** | Prioritization (Impact vs Effort) |
36
+
37
+ > **Note**: Market analysis → 🗺️ Marco (`/market`). Simon requests market data from Marco.
38
+
39
+ ## Response Format
40
+
41
+ From now on, respond with the 🎯 icon using Simon's persona.
@@ -0,0 +1,220 @@
1
+ # /task - Story/Task Status Management
2
+
3
+ Manage Story status and Task checkboxes integrated with the VitePress kanban board.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ # Change Story status
9
+ /task status E-10-S-01 done # draft → done
10
+ /task status E-10-S-01 in-progress # draft → in-progress
11
+
12
+ # Mark Task as complete
13
+ /task done E-10-S-01 1.1 # Complete Task 1.1
14
+ /task done E-10-S-01 1.1 1.2 2.1 # Complete multiple Tasks at once
15
+
16
+ # Undo Task completion
17
+ /task undo E-10-S-01 1.1 # Revert Task 1.1 to incomplete
18
+
19
+ # View Story info
20
+ /task E-10-S-01 # Story detail information
21
+ /task list # All Stories in current sprint
22
+ ```
23
+
24
+ ## Status Values
25
+
26
+ | Status | Description |
27
+ |--------|-------------|
28
+ | `draft` | Draft |
29
+ | `ready` | Ready for development |
30
+ | `in-progress` | In development |
31
+ | `review` | Under review |
32
+ | `done` | Complete |
33
+ | `blocked` | Blocked |
34
+
35
+ ---
36
+
37
+ ## Execution Logic
38
+
39
+ ### 1. Change Story Status (`/task status`)
40
+
41
+ **Find file location**:
42
+ ```
43
+ Extract "Current Sprint: **{N}**" from CLAUDE.md → s{N}
44
+ .context/sprints/s{N}/stories/{STORY_ID}.md
45
+ ```
46
+
47
+ **Pattern to modify**:
48
+ ```markdown
49
+ | **Status** | `{OLD_STATUS}` |
50
+
51
+ | **Status** | `{NEW_STATUS}` |
52
+ ```
53
+
54
+ **Execution example**:
55
+ ```bash
56
+ /task status E-10-S-01 done
57
+ ```
58
+
59
+ 1. Read `.context/sprints/s52/stories/E-10-S-01.md` file
60
+ 2. Find `| **Status** | \`draft\` |`
61
+ 3. Change to `| **Status** | \`done\` |`
62
+ 4. Save file
63
+ 5. Output result
64
+
65
+ **Output**:
66
+ ```
67
+ ✅ E-10-S-01 status changed: draft → done
68
+
69
+ 📋 Story: WorkNote Table Design and API
70
+ 📁 File: .context/sprints/s52/stories/E-10-S-01.md
71
+ ```
72
+
73
+ ---
74
+
75
+ ### 2. Mark Task Complete (`/task done`)
76
+
77
+ **Pattern to modify**:
78
+ ```markdown
79
+ - [ ] **{TASK_ID}**: {description}
80
+
81
+ - [x] **{TASK_ID}**: {description}
82
+ ```
83
+
84
+ **Execution example**:
85
+ ```bash
86
+ /task done E-10-S-01 1.1 1.2
87
+ ```
88
+
89
+ 1. Read `.context/sprints/s52/stories/E-10-S-01.md` file
90
+ 2. Find `- [ ] **1.1**:` pattern
91
+ 3. Change to `- [x] **1.1**:`
92
+ 4. Find `- [ ] **1.2**:` pattern
93
+ 5. Change to `- [x] **1.2**:`
94
+ 6. Save file
95
+ 7. Calculate and output progress
96
+
97
+ **Output**:
98
+ ```
99
+ ✅ E-10-S-01 Tasks marked complete
100
+
101
+ Completed Tasks:
102
+ - [x] 1.1: WorkNote table schema definition
103
+ - [x] 1.2: Migration file generation
104
+
105
+ 📊 Progress: 2/14 tasks (14%)
106
+ ```
107
+
108
+ ---
109
+
110
+ ### 3. Undo Task Completion (`/task undo`)
111
+
112
+ **Pattern to modify**:
113
+ ```markdown
114
+ - [x] **{TASK_ID}**: {description}
115
+
116
+ - [ ] **{TASK_ID}**: {description}
117
+ ```
118
+
119
+ ---
120
+
121
+ ### 4. View Story Info (`/task {STORY_ID}`)
122
+
123
+ **Execution example**:
124
+ ```bash
125
+ /task E-10-S-01
126
+ ```
127
+
128
+ **Output**:
129
+ ```
130
+ 📋 E-10-S-01: WorkNote Table Design and API
131
+
132
+ | Item | Value |
133
+ |------|-------|
134
+ | Status | draft |
135
+ | Priority | P0 |
136
+ | Size | M (2 SP) |
137
+ | Owner | TBD (BE) |
138
+
139
+ ## Tasks (0/14 complete)
140
+
141
+ ### Task 1: Table Design
142
+ - [ ] 1.1: WorkNote table schema definition
143
+ - [ ] 1.2: Migration file generation
144
+ - [ ] 1.3: Add indexes
145
+
146
+ ### Task 2: Note Creation API
147
+ - [ ] 2.1: Create POST endpoint
148
+ ...
149
+ ```
150
+
151
+ ---
152
+
153
+ ### 5. Full Story List (`/task list`)
154
+
155
+ **Execution example**:
156
+ ```bash
157
+ /task list
158
+ /task list in-progress # Specific status only
159
+ /task list [owner] # Specific owner only
160
+ ```
161
+
162
+ **Output**:
163
+ ```
164
+ 📋 Sprint 52 Stories (63 total)
165
+
166
+ | Status | Count |
167
+ |--------|-------|
168
+ | draft | 45 |
169
+ | in-progress | 5 |
170
+ | done | 13 |
171
+
172
+ ## In Progress (5)
173
+ - E-03-S-02: Dashboard Card Component ([owner], M)
174
+ - E-04-S-01: Metrics Visualization UI ([owner], L)
175
+ ...
176
+ ```
177
+
178
+ ---
179
+
180
+ ## Auto Sprint Detection
181
+
182
+ Current sprint number is automatically extracted from `CLAUDE.md`:
183
+
184
+ ```markdown
185
+ ## Current Sprint: **52**
186
+ ```
187
+
188
+ → Uses path `.context/sprints/s52/stories/`
189
+
190
+ ---
191
+
192
+ ## VitePress Auto-Reflection
193
+
194
+ When Story files are modified, they are automatically reflected on the VitePress kanban board:
195
+ - Dev server running: Instantly reflected via Hot Reload
196
+ - On build: Reflected in next build
197
+
198
+ ---
199
+
200
+ ## Example Workflow
201
+
202
+ ```bash
203
+ # 1. Start work
204
+ /task status E-10-S-01 in-progress
205
+
206
+ # 2. Check off Tasks as completed
207
+ /task done E-10-S-01 1.1
208
+ /task done E-10-S-01 1.2 1.3
209
+
210
+ # 3. Complete Story
211
+ /task status E-10-S-01 done
212
+
213
+ # 4. Check progress
214
+ /task list in-progress
215
+ ```
216
+
217
+ ---
218
+
219
+ *Related features*: VitePress kanban board (`docs/kanban.md`)
220
+ *Data source*: `.context/sprints/s{N}/stories/*.md`