solo-cto-agent 0.5.1
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/CHANGELOG +46 -0
- package/LICENSE +21 -0
- package/README.md +409 -0
- package/bin/cli.js +177 -0
- package/docs/demo.svg +14 -0
- package/docs/skill-slimming.md +76 -0
- package/failure-catalog.json +62 -0
- package/failure-catalog.schema.json +26 -0
- package/package.json +29 -0
- package/skills/build/SKILL.md +377 -0
- package/skills/craft/SKILL.md +258 -0
- package/skills/memory/SKILL.md +234 -0
- package/skills/orchestrate/SKILL.md +141 -0
- package/skills/review/SKILL.md +195 -0
- package/skills/ship/SKILL.md +282 -0
- package/skills/spark/SKILL.md +269 -0
- package/templates/context.md +29 -0
- package/templates/project.md +38 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
---
|
|
2
|
+
|
|
3
|
+
name: spark
|
|
4
|
+
description: "Idea development and early validation skill. Turns rough startup ideas into testable concepts through structured market framing, competitor analysis, assumptions, basic economics, and PRD direction. Activates on: idea, startup, market, validate, business model, PRD, MVP, competitors, GTM, pricing."
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Spark — Idea to Testable Plan
|
|
9
|
+
|
|
10
|
+
This skill is for the stage where an idea is still fuzzy, but vague enthusiasm is no longer useful.
|
|
11
|
+
|
|
12
|
+
Its job is to help turn:
|
|
13
|
+
|
|
14
|
+
* “I think this could be interesting”
|
|
15
|
+
into
|
|
16
|
+
* “Here is what this actually is, who it is for, what assumptions matter, and what should be tested first”
|
|
17
|
+
|
|
18
|
+
It is not a pitch deck generator.
|
|
19
|
+
It is not there to make every idea sound big.
|
|
20
|
+
|
|
21
|
+
It is there to make the idea more specific, more testable, and harder to lie to yourself about.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Principle 0 — Do not scale a blur
|
|
26
|
+
|
|
27
|
+
Do not jump from a one-line idea to a giant product plan.
|
|
28
|
+
|
|
29
|
+
First make the idea legible:
|
|
30
|
+
|
|
31
|
+
* who it is for
|
|
32
|
+
* what pain it solves
|
|
33
|
+
* why it matters now
|
|
34
|
+
* what the wedge is
|
|
35
|
+
* what would make the idea fail quickly
|
|
36
|
+
|
|
37
|
+
If those are weak, the answer is not “add more features.”
|
|
38
|
+
It is usually “narrow the idea.”
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Working stages
|
|
43
|
+
|
|
44
|
+
Use these six stages in order.
|
|
45
|
+
|
|
46
|
+
### 1) Seed
|
|
47
|
+
|
|
48
|
+
Clarify the basic shape of the idea.
|
|
49
|
+
|
|
50
|
+
Questions:
|
|
51
|
+
|
|
52
|
+
```text id="nrirg7"
|
|
53
|
+
- What is the product in one sentence?
|
|
54
|
+
- Who is it for?
|
|
55
|
+
- What painful or expensive problem does it solve?
|
|
56
|
+
- Why is the current alternative not good enough?
|
|
57
|
+
- What is the smallest useful version of it?
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Output:
|
|
61
|
+
|
|
62
|
+
* one-sentence product definition
|
|
63
|
+
* target user
|
|
64
|
+
* core problem
|
|
65
|
+
* initial wedge
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### 2) Market framing
|
|
70
|
+
|
|
71
|
+
Do not start with inflated TAM language.
|
|
72
|
+
Start with a believable entry point.
|
|
73
|
+
|
|
74
|
+
Check:
|
|
75
|
+
|
|
76
|
+
```text id="ixdofs"
|
|
77
|
+
- Is this a known problem or a newly created one?
|
|
78
|
+
- Who already pays to solve it?
|
|
79
|
+
- Is this urgent, recurring, or optional?
|
|
80
|
+
- Is there a narrow segment where this hurts enough to buy?
|
|
81
|
+
- Is this venture-scale, lifestyle-scale, or unclear?
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Use labels:
|
|
85
|
+
|
|
86
|
+
* `[confirmed]`
|
|
87
|
+
* `[estimated]`
|
|
88
|
+
* `[unverified]`
|
|
89
|
+
|
|
90
|
+
Do not present guesses as facts.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
### 3) Competitor scan
|
|
95
|
+
|
|
96
|
+
Look at what people already use, not just who has the same homepage headline.
|
|
97
|
+
|
|
98
|
+
Check:
|
|
99
|
+
|
|
100
|
+
```text id="x0pkur"
|
|
101
|
+
- direct competitors
|
|
102
|
+
- indirect substitutes
|
|
103
|
+
- incumbent workflows
|
|
104
|
+
- spreadsheets / agencies / internal teams
|
|
105
|
+
- “good enough” alternatives
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Questions:
|
|
109
|
+
|
|
110
|
+
```text id="v574np"
|
|
111
|
+
- Why would someone switch?
|
|
112
|
+
- What is the switching cost?
|
|
113
|
+
- What is the easiest feature for a competitor to copy?
|
|
114
|
+
- Where is the wedge actually defensible?
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
### 4) Unit economics and operating logic
|
|
120
|
+
|
|
121
|
+
At this stage, perfect numbers are not required.
|
|
122
|
+
Honest assumptions are.
|
|
123
|
+
|
|
124
|
+
Check:
|
|
125
|
+
|
|
126
|
+
```text id="vye94k"
|
|
127
|
+
- Who pays?
|
|
128
|
+
- How much could they plausibly pay?
|
|
129
|
+
- What has to be true for this to work economically?
|
|
130
|
+
- What is expensive about serving the product?
|
|
131
|
+
- Is the revenue model simple enough to explain clearly?
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Every important number must be tagged:
|
|
135
|
+
|
|
136
|
+
* `[confirmed]`
|
|
137
|
+
* `[estimated]`
|
|
138
|
+
* `[unverified]`
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
### 5) Scenarios
|
|
143
|
+
|
|
144
|
+
Do not build one forecast.
|
|
145
|
+
Build a few believable paths.
|
|
146
|
+
|
|
147
|
+
```text id="xim8s0"
|
|
148
|
+
Best case:
|
|
149
|
+
- what goes unusually right?
|
|
150
|
+
|
|
151
|
+
Base case:
|
|
152
|
+
- what happens if this is merely decent?
|
|
153
|
+
|
|
154
|
+
Failure case:
|
|
155
|
+
- what breaks first?
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
This is where weak ideas often become visible.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
### 6) PRD direction
|
|
163
|
+
|
|
164
|
+
Only after the earlier stages are legible.
|
|
165
|
+
|
|
166
|
+
The PRD direction should include:
|
|
167
|
+
|
|
168
|
+
```text id="8bvdzy"
|
|
169
|
+
- target user
|
|
170
|
+
- core use case
|
|
171
|
+
- primary workflow
|
|
172
|
+
- top 3 assumptions to validate
|
|
173
|
+
- what NOT to build yet
|
|
174
|
+
- MVP boundary
|
|
175
|
+
- first success metric
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
The point is to define a testable first version, not to design Phase 3 too early.
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Output structure
|
|
183
|
+
|
|
184
|
+
A good Spark output should usually include:
|
|
185
|
+
|
|
186
|
+
```text id="a6jc7i"
|
|
187
|
+
1. One-line concept
|
|
188
|
+
2. Target user
|
|
189
|
+
3. Problem statement
|
|
190
|
+
4. Why now
|
|
191
|
+
5. Alternatives / competitors
|
|
192
|
+
6. Revenue logic
|
|
193
|
+
7. Key assumptions
|
|
194
|
+
8. Biggest risks
|
|
195
|
+
9. MVP boundary
|
|
196
|
+
10. Recommended next test
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## Risk-first rule
|
|
202
|
+
|
|
203
|
+
Always name what could kill the idea.
|
|
204
|
+
|
|
205
|
+
Examples:
|
|
206
|
+
|
|
207
|
+
* problem not painful enough
|
|
208
|
+
* customer exists but will not pay
|
|
209
|
+
* switching cost too high
|
|
210
|
+
* incumbent can copy too easily
|
|
211
|
+
* distribution is harder than product
|
|
212
|
+
* product only looks interesting in theory
|
|
213
|
+
|
|
214
|
+
Do not hide these under polite language.
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Anti-patterns
|
|
219
|
+
|
|
220
|
+
```text id="ncbt8z"
|
|
221
|
+
❌ "Huge market" with no narrow entry point
|
|
222
|
+
❌ "People need this" with no buyer logic
|
|
223
|
+
❌ Jumping straight to PRD before the wedge is clear
|
|
224
|
+
❌ Treating TAM as proof of demand
|
|
225
|
+
❌ Confusing founder excitement with user urgency
|
|
226
|
+
❌ Adding features to fix a weak premise
|
|
227
|
+
❌ Making the product broad before it is sharp
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## Output tone
|
|
233
|
+
|
|
234
|
+
Spark should sound like a founder operator thinking clearly, not a consultant trying to impress.
|
|
235
|
+
|
|
236
|
+
Preferred:
|
|
237
|
+
|
|
238
|
+
* clear
|
|
239
|
+
* grounded
|
|
240
|
+
* honest about uncertainty
|
|
241
|
+
* specific about what to test next
|
|
242
|
+
|
|
243
|
+
Avoid:
|
|
244
|
+
|
|
245
|
+
* hype
|
|
246
|
+
* abstract market-speak
|
|
247
|
+
* fake certainty
|
|
248
|
+
* giant strategy language before basic validation
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## Final test
|
|
253
|
+
|
|
254
|
+
At the end, ask:
|
|
255
|
+
|
|
256
|
+
```text id="zw8kxd"
|
|
257
|
+
- Is the idea clearer than before?
|
|
258
|
+
- Is the target user narrower than before?
|
|
259
|
+
- Are the assumptions more visible than before?
|
|
260
|
+
- Is the next action testable?
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
If not, the output is still too fuzzy.
|
|
264
|
+
|
|
265
|
+
## Execution Examples
|
|
266
|
+
|
|
267
|
+
- "Use spark to evaluate a B2B SaaS idea with market and risk analysis."
|
|
268
|
+
- "Use spark to draft a PRD outline for a new feature."
|
|
269
|
+
- "Use spark to compare two go-to-market options."
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Context Log
|
|
2
|
+
|
|
3
|
+
Append-only log of cross-session decisions and actions. Newest entries at the top.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## YYYY-MM-DD — Session N
|
|
8
|
+
|
|
9
|
+
### Projects Touched
|
|
10
|
+
- Project A, Project B
|
|
11
|
+
|
|
12
|
+
### Decisions
|
|
13
|
+
- Decision 1: reasoning
|
|
14
|
+
- Decision 2: reasoning
|
|
15
|
+
|
|
16
|
+
### Completed
|
|
17
|
+
- [x] Action 1
|
|
18
|
+
- [x] Action 2
|
|
19
|
+
|
|
20
|
+
### Pending
|
|
21
|
+
- [ ] Action 3 — blocked by X
|
|
22
|
+
- [ ] Action 4 — next session
|
|
23
|
+
|
|
24
|
+
### Notes
|
|
25
|
+
- Anything worth remembering for future sessions
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
<!-- Older sessions below -->
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# {{PROJECT_NAME}} — State
|
|
2
|
+
|
|
3
|
+
## Status: {{active | paused | completed}}
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
- **What**: One-line description
|
|
7
|
+
- **Stack**: Framework, DB, deploy platform
|
|
8
|
+
- **Repo**: URL
|
|
9
|
+
- **Live URL**: URL (if deployed)
|
|
10
|
+
|
|
11
|
+
## Current Phase
|
|
12
|
+
- Phase: {{0 | 1 | 2 | 3}}
|
|
13
|
+
- Goal: What this phase aims to achieve
|
|
14
|
+
- Deadline: YYYY-MM-DD (if any)
|
|
15
|
+
|
|
16
|
+
## Key Decisions
|
|
17
|
+
| Date | Decision | Reasoning |
|
|
18
|
+
|------|----------|-----------|
|
|
19
|
+
| YYYY-MM-DD | Decision 1 | Why this was chosen |
|
|
20
|
+
|
|
21
|
+
## Architecture
|
|
22
|
+
- Key components and their relationships
|
|
23
|
+
- External services / APIs
|
|
24
|
+
- Database schema highlights
|
|
25
|
+
|
|
26
|
+
## Known Gaps
|
|
27
|
+
- [ ] Gap 1: description
|
|
28
|
+
- [ ] Gap 2: description
|
|
29
|
+
|
|
30
|
+
## Environment
|
|
31
|
+
| Variable | Location | Status |
|
|
32
|
+
|----------|----------|--------|
|
|
33
|
+
| DATABASE_URL | Deploy platform | Set |
|
|
34
|
+
| API_KEY | CI/CD secrets | Set |
|
|
35
|
+
|
|
36
|
+
## Next Actions
|
|
37
|
+
- [ ] Action 1
|
|
38
|
+
- [ ] Action 2
|