popilot 0.3.0 β 0.5.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.
- package/lib/hydrate.mjs +6 -1
- package/lib/setup-wizard.mjs +29 -3
- package/package.json +1 -1
- package/scaffold/.claude/commands/_domain.md.hbs +33 -0
- package/scaffold/.claude/commands/analytics.md.hbs +55 -0
- package/scaffold/.claude/commands/daily.md.hbs +301 -0
- package/scaffold/.claude/commands/dev.md.hbs +62 -0
- package/scaffold/.claude/commands/gtm.md +82 -0
- package/scaffold/.claude/commands/handoff.md +259 -0
- package/scaffold/.claude/commands/market.md +120 -0
- package/scaffold/.claude/commands/metrics.md +123 -0
- package/scaffold/.claude/commands/oscar-loop.md +436 -0
- package/scaffold/.claude/commands/party.md +85 -0
- package/scaffold/.claude/commands/plan.md +43 -0
- package/scaffold/.claude/commands/poc.md +69 -0
- package/scaffold/.claude/commands/research.md +203 -0
- package/scaffold/.claude/commands/retro.md +68 -0
- package/scaffold/.claude/commands/save.md +440 -0
- package/scaffold/.claude/commands/sessions.md +139 -0
- package/scaffold/.claude/commands/sprint.md +106 -0
- package/scaffold/.claude/commands/start.md +396 -0
- package/scaffold/.claude/commands/strategy.md +41 -0
- package/scaffold/.claude/commands/task.md +220 -0
- package/scaffold/.claude/commands/tracking.md +116 -0
- package/scaffold/.claude/commands/validate.md +58 -0
- package/scaffold/.context/WORKFLOW.md.hbs +58 -26
- package/scaffold/.context/agents/planner.md.hbs +35 -7
- package/scaffold/.context/integrations/_registry.yaml +6 -0
- package/scaffold/.context/integrations/providers/sqlite_lambda.yaml +24 -0
- package/scaffold/.context/integrations/providers/supabase.yaml +34 -0
- package/scaffold/.context/integrations/providers/turso_cf.yaml +34 -0
- package/scaffold/.context/poc/_skills/build.md +79 -0
- package/scaffold/.context/poc/_skills/scope.md +50 -0
- package/scaffold/.context/poc/_skills/spec.md +80 -0
- package/scaffold/.context/poc/_skills/verify.md +60 -0
- package/scaffold/CLAUDE.md.hbs +210 -0
- package/scaffold/spec-site/.env.example +11 -0
- package/scaffold/spec-site/index.html +2 -2
- package/scaffold/spec-site/sql/schema.sql +224 -0
- package/scaffold/spec-site/src/api/client.ts +131 -0
- package/scaffold/spec-site/src/api/types.ts +177 -0
- package/scaffold/spec-site/src/components/Accordion.vue +1 -1
- package/scaffold/spec-site/src/components/AppHeader.vue +5 -4
- package/scaffold/spec-site/src/components/CoachingCard.vue +1 -1
- package/scaffold/spec-site/src/components/ScenarioSwitcher.vue +1 -1
- package/scaffold/spec-site/src/composables/navTypes.ts +39 -0
- package/scaffold/spec-site/src/composables/pmTypes.ts +134 -0
- package/scaffold/spec-site/src/composables/useAuth.ts +139 -0
- package/scaffold/spec-site/src/composables/useMemo.ts +51 -40
- package/scaffold/spec-site/src/composables/useNavStore.ts +202 -0
- package/scaffold/spec-site/src/composables/usePageContent.ts +208 -0
- package/scaffold/spec-site/src/composables/usePmStore.ts +224 -0
- package/scaffold/spec-site/src/composables/useRetro.ts +181 -95
- package/scaffold/spec-site/src/composables/useScenarioStore.ts +74 -30
- package/scaffold/spec-site/src/composables/useUser.ts +12 -6
- package/scaffold/spec-site/src/data/navigation.ts +7 -42
- package/scaffold/spec-site/src/data/types.ts +13 -43
- package/scaffold/spec-site/src/main.ts +7 -0
- package/scaffold/spec-site/src/pages/PolicyDetail.vue +30 -11
- package/scaffold/spec-site/src/pages/PolicyIndex.vue +22 -7
- package/scaffold/spec-site/src/pages/retro/RetroActions.vue +3 -3
- package/scaffold/spec-site/src/pages/retro/RetroBoard.vue +2 -2
- package/scaffold/spec-site/src/pages/retro/RetroHeader.vue +5 -7
- package/scaffold/spec-site/src/pages/retro/RetroPage.vue +2 -2
- package/scaffold/spec-site/src/pages/shared/NoContentPlaceholder.vue +2 -2
- package/scaffold/spec-site/src/pages/shared/PolicyFallback.vue +25 -13
- package/scaffold/spec-site/src/router.ts +11 -7
- package/scaffold/spec-site/src/styles/base.css +2 -2
- package/scaffold/spec-site/src/styles/split-pane.css +1 -1
- package/scaffold/spec-site/src/styles/variables.css +7 -7
- package/scaffold/spec-site/src/assets/icons/menu/ic_ads.svg +0 -10
- package/scaffold/spec-site/src/assets/icons/menu/ic_ads_on.svg +0 -10
- package/scaffold/spec-site/src/assets/icons/menu/ic_board.svg +0 -14
- package/scaffold/spec-site/src/assets/icons/menu/ic_board_on.svg +0 -14
- package/scaffold/spec-site/src/assets/icons/menu/ic_dashboard.svg +0 -21
- package/scaffold/spec-site/src/assets/icons/menu/ic_dashboard_on.svg +0 -21
- package/scaffold/spec-site/src/assets/icons/menu/ic_pricing.svg +0 -20
- package/scaffold/spec-site/src/assets/icons/menu/ic_pricing_on.svg +0 -20
- package/scaffold/spec-site/src/assets/icons/menu/ic_store.svg +0 -11
- package/scaffold/spec-site/src/assets/icons/menu/ic_store_on.svg +0 -11
- package/scaffold/spec-site/src/composables/useTurso.ts +0 -160
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
# /handoff - Inter-Agent Handoff
|
|
2
|
+
|
|
3
|
+
Perform standardized handoffs between agents.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/handoff # Generate handoff document for current work
|
|
9
|
+
/handoff to penny # Simon β Penny handoff (PRD complete)
|
|
10
|
+
/handoff to hank # Penny β Hank handoff (screen spec request)
|
|
11
|
+
/handoff to dev # Hank β Dev Team handoff (spec complete)
|
|
12
|
+
/handoff to vicky # Penny β Vicky handoff (validation request)
|
|
13
|
+
/handoff to simon # Vicky β Simon handoff (validation results)
|
|
14
|
+
/handoff to tara # Hank β Tara handoff (tracking review)
|
|
15
|
+
/handoff to nora # Penny β Nora handoff (retro/ceremony data)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Handoff Flow
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
π― Simon (PRD complete)
|
|
24
|
+
β
|
|
25
|
+
π Penny (Sprint planning + story writing)
|
|
26
|
+
β
|
|
27
|
+
π Hank (Screen spec + handoff package)
|
|
28
|
+
β ββ π‘ Tara (tracking review)
|
|
29
|
+
π¨ Derek + π§ͺ Quinn (Implementation + QA)
|
|
30
|
+
β
|
|
31
|
+
π Penny (Dev completion confirmation)
|
|
32
|
+
β
|
|
33
|
+
π Vicky (Validation)
|
|
34
|
+
β
|
|
35
|
+
π― Simon (Result interpretation + next hypothesis)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## π―βπ Simon β Penny (PRD Complete)
|
|
41
|
+
|
|
42
|
+
If `$ARGUMENTS` is `to penny`:
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
## π―βπ Handoff: [Feature Name]
|
|
46
|
+
|
|
47
|
+
### PRD Summary
|
|
48
|
+
- **One Question**: [Question]
|
|
49
|
+
- **Hypothesis**: IF [condition] THEN [result] BECAUSE [reason]
|
|
50
|
+
- **OMTM**: [Metric] | Before: [value] | Target: [value]
|
|
51
|
+
- **Validation Period**: [start] ~ [end]
|
|
52
|
+
|
|
53
|
+
### Guard Rail
|
|
54
|
+
- [Metric]: β€[threshold]
|
|
55
|
+
|
|
56
|
+
### Request to Penny
|
|
57
|
+
- [ ] Write sprint plan
|
|
58
|
+
- [ ] Break down stories
|
|
59
|
+
- [ ] Route to Hank for screen specs (if UI)
|
|
60
|
+
- [ ] Route to Tara for tracking plan
|
|
61
|
+
|
|
62
|
+
### Reference Documents
|
|
63
|
+
- PRD: [link]
|
|
64
|
+
- Market data (Marco): [if available]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## πβπ Penny β Hank (Screen Spec Request)
|
|
70
|
+
|
|
71
|
+
If `$ARGUMENTS` is `to hank`:
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
## πβπ Spec Request: [Story ID]
|
|
75
|
+
|
|
76
|
+
### Context
|
|
77
|
+
- PRD: [reference]
|
|
78
|
+
- Story: [story title and AC summary]
|
|
79
|
+
- Sprint: S{N}
|
|
80
|
+
|
|
81
|
+
### Scope
|
|
82
|
+
- [ ] Screen spec needed (which screens?)
|
|
83
|
+
- [ ] Release readiness check needed
|
|
84
|
+
|
|
85
|
+
### Priority
|
|
86
|
+
- Sprint deadline: [date]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## πβπ¨ Hank β Dev Team (Spec Complete)
|
|
92
|
+
|
|
93
|
+
If `$ARGUMENTS` is `to dev`:
|
|
94
|
+
|
|
95
|
+
```markdown
|
|
96
|
+
## πβπ¨ Dev Handoff: [Feature/Story]
|
|
97
|
+
|
|
98
|
+
### Screen Spec
|
|
99
|
+
[7-level spec attached or linked]
|
|
100
|
+
|
|
101
|
+
### Handoff Checklist
|
|
102
|
+
- [ ] All screens specified (Level 1-5 complete)
|
|
103
|
+
- [ ] Data sources identified (Level 3)
|
|
104
|
+
- [ ] Edge cases documented (Level 5)
|
|
105
|
+
- [ ] Tracking events specified (Level 6, reviewed by Tara)
|
|
106
|
+
- [ ] Acceptance criteria testable (Level 7)
|
|
107
|
+
- [ ] Design assets linked
|
|
108
|
+
- [ ] API contracts defined
|
|
109
|
+
|
|
110
|
+
### Open Questions
|
|
111
|
+
[None / list if any]
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## πβπ Penny β Vicky (Validation Request)
|
|
117
|
+
|
|
118
|
+
If `$ARGUMENTS` is `to vicky`:
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
## πβπ Handoff: [Feature Name] Validation Request
|
|
122
|
+
|
|
123
|
+
### Development Complete
|
|
124
|
+
- Deploy date: [date]
|
|
125
|
+
- Deploy scope: [full/partial]
|
|
126
|
+
|
|
127
|
+
### Request to Vicky
|
|
128
|
+
- [ ] Collect baseline data (Before)
|
|
129
|
+
- [ ] Confirm event logging is working (coordinate with Tara)
|
|
130
|
+
- [ ] Collect After data after measurement period
|
|
131
|
+
- [ ] Report hypothesis validation results
|
|
132
|
+
|
|
133
|
+
### Measurement Target Events
|
|
134
|
+
| Event Name | Description |
|
|
135
|
+
|------------|-------------|
|
|
136
|
+
| `event_1` | [description] |
|
|
137
|
+
|
|
138
|
+
### Success/Failure Criteria
|
|
139
|
+
- Success: [metric] β₯ [value]
|
|
140
|
+
- Failure: [metric] < [value]
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## πβπ― Vicky β Simon (Validation Results)
|
|
146
|
+
|
|
147
|
+
If `$ARGUMENTS` is `to simon`:
|
|
148
|
+
|
|
149
|
+
```markdown
|
|
150
|
+
## πβπ― Validation Results: [Feature Name]
|
|
151
|
+
|
|
152
|
+
### Verdict: β
Success / β Failure / π‘ Partial Success
|
|
153
|
+
|
|
154
|
+
### Measurement Results
|
|
155
|
+
| Metric | Before | After | Change | Target | Verdict |
|
|
156
|
+
|--------|--------|-------|--------|--------|---------|
|
|
157
|
+
| OMTM | [value] | [value] | +[N]% | [target] | β
/β |
|
|
158
|
+
|
|
159
|
+
### Guard Rail
|
|
160
|
+
| Metric | Before | After | Allowed Range | Status |
|
|
161
|
+
|--------|--------|-------|---------------|--------|
|
|
162
|
+
| [metric] | [value] | [value] | β€[threshold] | π’/π΄ |
|
|
163
|
+
|
|
164
|
+
### Learnings
|
|
165
|
+
- β
Validated: [content]
|
|
166
|
+
- β Disproved: [content]
|
|
167
|
+
- π‘ New discovery: [content]
|
|
168
|
+
|
|
169
|
+
### Next Hypothesis Proposal
|
|
170
|
+
- [proposal content]
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## πβπ‘ Hank β Tara (Tracking Review)
|
|
176
|
+
|
|
177
|
+
If `$ARGUMENTS` is `to tara`:
|
|
178
|
+
|
|
179
|
+
```markdown
|
|
180
|
+
## πβπ‘ Tracking Review: [Feature/Screen]
|
|
181
|
+
|
|
182
|
+
### Screen Spec Level 6 (Draft)
|
|
183
|
+
| Event | Trigger | Parameters |
|
|
184
|
+
|-------|---------|------------|
|
|
185
|
+
| ... | ... | ... |
|
|
186
|
+
|
|
187
|
+
### Questions
|
|
188
|
+
- Naming convention check?
|
|
189
|
+
- Missing events?
|
|
190
|
+
- Parameter types correct?
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## πβποΈ Penny β Nora (Ceremony Data)
|
|
196
|
+
|
|
197
|
+
If `$ARGUMENTS` is `to nora`:
|
|
198
|
+
|
|
199
|
+
```markdown
|
|
200
|
+
## πβποΈ Sprint Data: S{N}
|
|
201
|
+
|
|
202
|
+
### Sprint Summary
|
|
203
|
+
- Goal: [One Question]
|
|
204
|
+
- Planned SP: [N] | Completed SP: [N] | Velocity: [N]%
|
|
205
|
+
- Stories completed: [N]/[total]
|
|
206
|
+
- Blockers encountered: [list]
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Handoff Checklist
|
|
212
|
+
|
|
213
|
+
### PRD β Sprint (Simon β Penny)
|
|
214
|
+
- [ ] Is the One Question clear?
|
|
215
|
+
- [ ] Is the hypothesis in IF/THEN/BECAUSE format?
|
|
216
|
+
- [ ] Is the OMTM quantified?
|
|
217
|
+
- [ ] Are Guard Rails set?
|
|
218
|
+
|
|
219
|
+
### Story β Spec (Penny β Hank)
|
|
220
|
+
- [ ] Are story ACs in Given/When/Then format?
|
|
221
|
+
- [ ] Are UI screens identified?
|
|
222
|
+
- [ ] Is the sprint deadline communicated?
|
|
223
|
+
|
|
224
|
+
### Spec β Development (Hank β Dev)
|
|
225
|
+
- [ ] Is the 7-level spec complete?
|
|
226
|
+
- [ ] Has Tara reviewed Level 6 (tracking)?
|
|
227
|
+
- [ ] Are acceptance criteria testable?
|
|
228
|
+
|
|
229
|
+
### Development β Validation (Penny β Vicky)
|
|
230
|
+
- [ ] Is deployment complete?
|
|
231
|
+
- [ ] Is event logging working?
|
|
232
|
+
- [ ] Is baseline data available?
|
|
233
|
+
|
|
234
|
+
### Validation β Strategy (Vicky β Simon)
|
|
235
|
+
- [ ] Is the Before/After clear?
|
|
236
|
+
- [ ] Has statistical significance been reviewed?
|
|
237
|
+
- [ ] Have Guard Rails been checked?
|
|
238
|
+
- [ ] Are learning points summarized?
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
242
|
+
## Automatic Handoff Suggestions
|
|
243
|
+
|
|
244
|
+
Automatically suggest handoff at work completion:
|
|
245
|
+
|
|
246
|
+
| Situation | Suggestion |
|
|
247
|
+
|-----------|-----------|
|
|
248
|
+
| PRD writing complete | "Shall we hand off to π Penny?" |
|
|
249
|
+
| Product direction finalized | "Shall we hand off to π£ Mia for GTM planning?" |
|
|
250
|
+
| Story writing complete | "Shall we request screen specs from π Hank?" |
|
|
251
|
+
| Screen spec complete | "Shall we hand off to π¨ Derek?" |
|
|
252
|
+
| Spec has tracking events | "Shall we request review from π‘ Tara?" |
|
|
253
|
+
| Development confirmed complete | "Shall we request validation from π Vicky?" |
|
|
254
|
+
| Validation complete | "Shall we deliver results to π― Simon?" |
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
*Connected agents*: π― Simon, π£ Mia, π Penny, π Hank, π‘ Tara, π¨ Derek, π§ͺ Quinn, π Vicky, ποΈ Nora
|
|
259
|
+
*Related commands*: `/strategy`, `/gtm`, `/plan`, `/market`, `/tracking`, `/validate`, `/retro`
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# /market - Activate Market Researcher
|
|
2
|
+
|
|
3
|
+
Activate πΊοΈ **Marco** (Market Researcher) agent.
|
|
4
|
+
|
|
5
|
+
## Load Persona
|
|
6
|
+
|
|
7
|
+
Read `.context/agents/market-researcher.md` and activate Marco's persona.
|
|
8
|
+
|
|
9
|
+
## Marco's Identity
|
|
10
|
+
|
|
11
|
+
- **Role**: Market Researcher + Competitive Analyst
|
|
12
|
+
- **Personality**: A scout who maps the terrain before battle begins
|
|
13
|
+
- **Strengths**: Combines external market intelligence with internal strategic context
|
|
14
|
+
|
|
15
|
+
## Communication Style
|
|
16
|
+
|
|
17
|
+
- Market-data-centric, always cites sources
|
|
18
|
+
- Comparative tables and positioning maps
|
|
19
|
+
- Separates facts from interpretation
|
|
20
|
+
- Action-oriented recommendations
|
|
21
|
+
|
|
22
|
+
## Speech Examples
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
πΊοΈ Marco: "Three competitors launched similar features in Q4. Here's how they positioned them."
|
|
26
|
+
πΊοΈ Marco: "The market is moving toward subscription models. Our pricing is 20% below average."
|
|
27
|
+
πΊοΈ Marco: "Based on competitor analysis, our differentiator should be X, not Y."
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Usage
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
/market # Activate Marco + display menu
|
|
34
|
+
/market competitor # Competitive analysis
|
|
35
|
+
/market research # Market research
|
|
36
|
+
/market positioning # Positioning analysis
|
|
37
|
+
/market pricing # Price benchmarking
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Trigger Menu
|
|
43
|
+
|
|
44
|
+
| Trigger | Function |
|
|
45
|
+
|---------|----------|
|
|
46
|
+
| **CMP** | Competitive analysis (competitor features, positioning, pricing) |
|
|
47
|
+
| **MKT** | Market research (trends, sizing, opportunity) |
|
|
48
|
+
| **POS** | Positioning analysis (differentiation, value prop) |
|
|
49
|
+
| **PRC** | Price benchmarking (competitor pricing, willingness-to-pay) |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Competitive Analysis (`/market competitor`)
|
|
54
|
+
|
|
55
|
+
If `$ARGUMENTS` is `competitor`:
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
## πΊοΈ Competitive Analysis: [Market/Segment]
|
|
59
|
+
|
|
60
|
+
### Competitor Landscape
|
|
61
|
+
| Competitor | Core Feature | Target | Pricing | Differentiator |
|
|
62
|
+
|-----------|-------------|--------|---------|----------------|
|
|
63
|
+
| [name] | [feature] | [target] | [price] | [diff] |
|
|
64
|
+
|
|
65
|
+
### Feature Comparison Matrix
|
|
66
|
+
| Feature | Us | Comp A | Comp B | Comp C |
|
|
67
|
+
|---------|-----|--------|--------|--------|
|
|
68
|
+
| [feature] | β
/β | β
/β | β
/β | β
/β |
|
|
69
|
+
|
|
70
|
+
### Strategic Implications
|
|
71
|
+
- [What this means for our product]
|
|
72
|
+
|
|
73
|
+
### Sources
|
|
74
|
+
- [URL/reference for each claim]
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Market Research (`/market research`)
|
|
80
|
+
|
|
81
|
+
If `$ARGUMENTS` is `research`:
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
## πΊοΈ Market Research: [Topic]
|
|
85
|
+
|
|
86
|
+
### Market Overview
|
|
87
|
+
- Size: [TAM/SAM/SOM]
|
|
88
|
+
- Growth: [trend]
|
|
89
|
+
- Key drivers: [list]
|
|
90
|
+
|
|
91
|
+
### Segment Analysis
|
|
92
|
+
| Segment | Size | Growth | Our Position |
|
|
93
|
+
|---------|------|--------|-------------|
|
|
94
|
+
| [seg] | [size] | [%] | [position] |
|
|
95
|
+
|
|
96
|
+
### Opportunity Assessment
|
|
97
|
+
- [Opportunity 1]: [evidence]
|
|
98
|
+
- [Opportunity 2]: [evidence]
|
|
99
|
+
|
|
100
|
+
### Sources
|
|
101
|
+
- [citations]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Handoff Flow
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
πΊοΈ Marco (Market intelligence)
|
|
110
|
+
β
|
|
111
|
+
π― Simon (Strategy + PRD)
|
|
112
|
+
β
|
|
113
|
+
π Penny (Sprint planning)
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
*Agent*: πΊοΈ Marco (Market Researcher)
|
|
119
|
+
*Connections*: π― Simon (strategic decisions), π£ Mia (GTM strategy), π Danny (market data validation)
|
|
120
|
+
*Tools*: WebSearch, WebFetch
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# /metrics - Metrics Review and Update
|
|
2
|
+
|
|
3
|
+
Review business metrics and update as needed.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
/metrics # Display current metrics summary
|
|
9
|
+
/metrics update # Update all metrics files
|
|
10
|
+
/metrics update [domain] # Update specific domain metrics only
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
ARGUMENTS: $ARGUMENTS
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Execution Steps
|
|
18
|
+
|
|
19
|
+
### 1. Load Metrics Files
|
|
20
|
+
|
|
21
|
+
Read YAML files in the `.context/metrics/` folder:
|
|
22
|
+
- `business.yaml` - Core KPIs, funnel, targets
|
|
23
|
+
- `[domain].yaml` - Domain-specific metrics
|
|
24
|
+
- `segments.yaml` - Segment-level metrics
|
|
25
|
+
- `team.yaml` - Team/owner information
|
|
26
|
+
|
|
27
|
+
### 2. Branch Based on Arguments
|
|
28
|
+
|
|
29
|
+
#### Case A: `/metrics` (no arguments)
|
|
30
|
+
|
|
31
|
+
Display current metrics summary:
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
π **Business Metrics Overview** (Updated: 2026-01-26)
|
|
35
|
+
|
|
36
|
+
## Core KPIs
|
|
37
|
+
| Metric | Value | vs Target |
|
|
38
|
+
|--------|-------|-----------|
|
|
39
|
+
| Paid Users | 81 | 54% (target 150) |
|
|
40
|
+
| MRR | β©5,163,480 | - |
|
|
41
|
+
| ARPU | β©63,747 | - |
|
|
42
|
+
| Monthly Churn | 12% | β οΈ Exceeds 10% target |
|
|
43
|
+
|
|
44
|
+
## Funnel (2025 Cumulative)
|
|
45
|
+
Signup 3,645 β Linked 476 (13%) β Paid 132 (3.6%)
|
|
46
|
+
|
|
47
|
+
## Domain Metrics
|
|
48
|
+
- Core metric achievement rate: --%
|
|
49
|
+
- Active users: --
|
|
50
|
+
|
|
51
|
+
π Dashboard: [Deployment URL]
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
#### Case B: `/metrics update`
|
|
55
|
+
|
|
56
|
+
Full metrics update:
|
|
57
|
+
|
|
58
|
+
1. **business.yaml**:
|
|
59
|
+
- Query paid users, MRR from MCP `prod-db`
|
|
60
|
+
- Execute date-based aggregation queries
|
|
61
|
+
|
|
62
|
+
2. **[domain].yaml**:
|
|
63
|
+
- Query domain-related tables from MCP `prod-db`
|
|
64
|
+
- Calculate core metrics
|
|
65
|
+
|
|
66
|
+
3. **segments.yaml**:
|
|
67
|
+
- Calculate segment-level retention, conversion rates
|
|
68
|
+
|
|
69
|
+
4. Update `_meta.updated_at` in each file
|
|
70
|
+
|
|
71
|
+
5. Output summary of changes
|
|
72
|
+
|
|
73
|
+
#### Case C: `/metrics update [domain]`
|
|
74
|
+
|
|
75
|
+
Update specific domain metrics only:
|
|
76
|
+
|
|
77
|
+
1. Update only `[domain].yaml`
|
|
78
|
+
2. Display before/after comparison
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Metrics File Structure
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
.context/metrics/
|
|
86
|
+
βββ README.md # Structure description
|
|
87
|
+
βββ business.yaml # MRR, ARPU, funnel, targets
|
|
88
|
+
βββ [domain].yaml # Domain-specific metrics
|
|
89
|
+
βββ segments.yaml # Segment-level metrics
|
|
90
|
+
βββ team.yaml # Team/owner information
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Data Sources
|
|
96
|
+
|
|
97
|
+
| Metric | Source | Query Notes |
|
|
98
|
+
|--------|--------|------------|
|
|
99
|
+
| MRR/ARPU | prod-db | Caution with Settlement table (heavy) |
|
|
100
|
+
| Funnel | GA4 MCP | - |
|
|
101
|
+
| Domain metrics | prod-db | Snapshot table recommended |
|
|
102
|
+
| Segments | prod-db | Index column required |
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## VitePress Dashboard Integration
|
|
107
|
+
|
|
108
|
+
After metrics update:
|
|
109
|
+
1. `npm run build` (VitePress build)
|
|
110
|
+
2. `git push` (Vercel auto-deploy)
|
|
111
|
+
3. Dashboard updated
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Related Commands
|
|
116
|
+
|
|
117
|
+
- `/analytics` - Activate π Danny (deep analysis)
|
|
118
|
+
- `/validate` - Activate π Vicky (hypothesis validation)
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
*File location*: `.context/metrics/`
|
|
123
|
+
*Dashboard*: `/dashboard`
|