@forgeailab/create-spark 0.1.2 → 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 (54) hide show
  1. package/.claude/skills/architecture-cutline/SKILL.md +96 -0
  2. package/.claude/skills/board-review/SKILL.md +77 -0
  3. package/.claude/skills/code-review/SKILL.md +76 -0
  4. package/.claude/skills/execute-task/SKILL.md +80 -0
  5. package/.claude/skills/idea-sharpen/SKILL.md +65 -0
  6. package/.claude/skills/implementation-brief/SKILL.md +87 -0
  7. package/.claude/skills/mvp-board/SKILL.md +95 -0
  8. package/.claude/skills/mvp-grill/SKILL.md +60 -0
  9. package/.claude/skills/mvp-spec/SKILL.md +78 -0
  10. package/.claude/skills/new-pack/SKILL.md +156 -0
  11. package/.claude/skills/next-task/SKILL.md +65 -0
  12. package/.claude/skills/pack-add/SKILL.md +64 -0
  13. package/.claude/skills/pack-resolve/SKILL.md +67 -0
  14. package/.claude/skills/parallel-execution/SKILL.md +68 -0
  15. package/.claude/skills/qa-verify/SKILL.md +77 -0
  16. package/.claude/skills/risk-check/SKILL.md +88 -0
  17. package/.claude/skills/sync-board/SKILL.md +76 -0
  18. package/.claude/skills/ux-theme/SKILL.md +93 -0
  19. package/.codex/skills/architecture-cutline/SKILL.md +94 -0
  20. package/.codex/skills/board-review/SKILL.md +75 -0
  21. package/.codex/skills/code-review/SKILL.md +73 -0
  22. package/.codex/skills/execute-task/SKILL.md +76 -0
  23. package/.codex/skills/idea-sharpen/SKILL.md +63 -0
  24. package/.codex/skills/implementation-brief/SKILL.md +85 -0
  25. package/.codex/skills/mvp-board/SKILL.md +93 -0
  26. package/.codex/skills/mvp-grill/SKILL.md +58 -0
  27. package/.codex/skills/mvp-spec/SKILL.md +76 -0
  28. package/.codex/skills/new-pack/SKILL.md +153 -0
  29. package/.codex/skills/next-task/SKILL.md +64 -0
  30. package/.codex/skills/pack-add/SKILL.md +62 -0
  31. package/.codex/skills/pack-resolve/SKILL.md +65 -0
  32. package/.codex/skills/parallel-execution/SKILL.md +66 -0
  33. package/.codex/skills/qa-verify/SKILL.md +74 -0
  34. package/.codex/skills/risk-check/SKILL.md +86 -0
  35. package/.codex/skills/sync-board/SKILL.md +72 -0
  36. package/.codex/skills/ux-theme/SKILL.md +91 -0
  37. package/package.json +8 -5
  38. package/packs/README.md +22 -24
  39. package/packs/ai-anthropic/files/lib/anthropic.ts +46 -3
  40. package/packs/ai-anthropic/pack.toml +2 -3
  41. package/packs/auth-better-auth/files/app/api/auth/[...all]/route.ts +2 -2
  42. package/packs/auth-better-auth/files/lib/auth.ts +40 -1
  43. package/packs/auth-better-auth/pack.toml +1 -5
  44. package/packs/auth-better-auth-pg/files/app/api/auth/[...all]/route.ts +2 -2
  45. package/packs/auth-better-auth-pg/files/lib/auth.ts +40 -1
  46. package/packs/auth-better-auth-pg/pack.toml +1 -5
  47. package/packs/payments-stripe/files/lib/stripe.ts +104 -6
  48. package/packs/payments-stripe/pack.toml +1 -5
  49. package/packs/sync-zero/files/components/ZeroProvider.tsx +11 -1
  50. package/packs/sync-zero/files/lib/zero/client.ts +3 -3
  51. package/packs/sync-zero/files/lib/zero/schema.ts +15 -2
  52. package/packs/sync-zero/pack.toml +0 -4
  53. package/scripts/sync-skills.ts +223 -0
  54. /package/templates/nextjs/{anvil.config.json → spark.config.json} +0 -0
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: architecture-cutline
3
+ description: Pick the simplest architecture that can ship the MVP. Use after `.ai/product-spec.md` exists, when the user says "what stack?", "design the architecture", or before scaffolding code. Do NOT use for greenfield exploration without a spec — run `/mvp-spec` first.
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ ---
8
+
9
+ # Skill: architecture-cutline
10
+
11
+ ## Goal
12
+
13
+ Produce `.ai/architecture.md` — the smallest viable technical plan that can ship the spec. Your job is to **aggressively cut**, not to design a beautiful system.
14
+
15
+ ## Recommended model
16
+
17
+ Opus 4.7 or GPT-5.5.
18
+
19
+ ## Inputs
20
+
21
+ Read these (required):
22
+
23
+ - `.ai/product-spec.md`
24
+ - `.ai/decision-log.md`
25
+
26
+ Read these if present:
27
+
28
+ - `templates/*/template.toml`
29
+ - `packs/*/pack.toml`
30
+ - `presets/*.toml`
31
+
32
+ If `product-spec.md` is missing, stop and tell the user to run `/mvp-spec` first.
33
+
34
+ ## Rules
35
+
36
+ - **Default to boring.** Pick the stack the user already knows over the one that scores higher on Twitter.
37
+ - **One database.** No microservices. No event bus. No queues unless the spec literally requires async work.
38
+ - For every decision, also write what you are **NOT building yet**. This is the cutline.
39
+ - If the spec implies something exotic (realtime collab, ML inference, search, multi-tenancy), call it out and propose a faked version for v1.
40
+ - Respect prior choices in `.ai/decision-log.md` unless they conflict with the spec.
41
+ - Choose a scaffold template before choosing packs. Prefer `nextjs` for v1 unless the spec clearly fits a registered planned template; if a planned template is the right destination, name it as planned and give the `nextjs` interim path.
42
+ - Recommend only packs that exist in `packs/*/pack.toml`. Do not recommend a capability if no v1 pack provides it.
43
+ - If the spec implies a capability with no v1 pack, name the gap explicitly in the pack plan and suggest `/new-pack` to author one.
44
+
45
+ ## Output format
46
+
47
+ Write `.ai/architecture.md` with these sections:
48
+
49
+ ````md
50
+ # Architecture — <name>
51
+
52
+ ## Decision summary
53
+ <one paragraph: the shape of the system in plain English>
54
+
55
+ ## Stack
56
+ - Frontend:
57
+ - Backend / API:
58
+ - Database:
59
+ - Auth:
60
+ - Storage:
61
+ - Payments:
62
+ - Deployment:
63
+ - Testing:
64
+
65
+ For each, one line on WHY this choice over the obvious alternative.
66
+
67
+ ## Pack plan
68
+ - Chosen scaffold: <template name> (<stable | planned, not yet implemented; use nextjs as interim>)
69
+ - Recommended packs:
70
+ - <pack-name>: provides <capability tag(s)>; satisfies <spec need>
71
+ - Gaps:
72
+ - <capability tag>: no v1 pack exists — run `/new-pack` to author one
73
+ - none
74
+
75
+ ```sh
76
+ spark add <pack-1> <pack-2>
77
+ ```
78
+
79
+ ## Repo structure
80
+ <tree of top-level folders only>
81
+
82
+ ## Data model (concrete)
83
+ <tables/collections with columns and types — short>
84
+
85
+ ## API surface (concrete)
86
+ <routes or actions, grouped by feature>
87
+
88
+ ## What we are NOT building yet
89
+ - <thing>: <reason — "fake with X for MVP" or "v2">
90
+ (at least 5 entries; this is the cutline)
91
+
92
+ ## Risks and rollback
93
+ <2–4 risks with a simpler fallback for each>
94
+ ````
95
+
96
+ After writing, append the key choices to `.ai/decision-log.md` and recommend `/ux-theme` or `/mvp-board` next.
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: board-review
3
+ description: Sanity-check `.ai/board.md` before any task moves to `Approved for execution`. The approval gate between planning and execution. Use after `/mvp-board`, when the user says "is the board good?", "review the plan", or before kicking off coding. Do NOT skip this gate — it is the plan/review/approve boundary the whole system depends on.
4
+ allowed-tools:
5
+ - Read
6
+ - Edit
7
+ ---
8
+
9
+ # Skill: board-review
10
+
11
+ ## Goal
12
+
13
+ This is the **technical-founder review** that turns a draft board into one approved for execution. Catch the mistakes that compound: missing tasks, oversized tasks, wrong dependencies, risky parallel batches, and overbuilt scope.
14
+
15
+ ## Recommended model
16
+
17
+ Opus 4.7 or GPT-5.5.
18
+
19
+ ## Inputs
20
+
21
+ Read these (required):
22
+
23
+ - `.ai/board.md`
24
+ - `.ai/product-spec.md`
25
+ - `.ai/architecture.md`
26
+
27
+ Read if available:
28
+
29
+ - `.ai/ux-theme.md`
30
+ - `.ai/decision-log.md`
31
+
32
+ ## Rules
33
+
34
+ - The whole board does not have to pass at once. You may approve some epics while sending others back.
35
+ - After review, set the status on approved tasks to `Approved for execution`. Tasks needing changes go to `Clarifying` with a note.
36
+ - Verdict per task is binary: **Approved** or **Needs changes**.
37
+ - The reviewer is read-only on code, but **may edit `.ai/board.md`** to flip statuses, split oversized tasks, or add missing tasks.
38
+
39
+ ## Checklist
40
+
41
+ Walk the board and flag:
42
+
43
+ - **Missing tasks** — anything in the spec's acceptance criteria with no task covering it.
44
+ - **Oversized tasks** — touches > 5 files, > 3 acceptance criteria, or > one focused session.
45
+ - **Wrong dependencies** — task B depends on A but A does not produce what B needs; or hidden dependency not declared.
46
+ - **Risky parallel batches** — tasks marked parallel-safe that actually share files, schema, routes, or shared components.
47
+ - **Overbuilt parts** — tasks for things the spec's non-goals ruled out.
48
+ - **Vague acceptance criteria** — not observable / testable.
49
+ - **No core-flow-first ordering** — auth or dashboards scheduled before the user's primary action.
50
+
51
+ ## Output format
52
+
53
+ ```md
54
+ ## Board review
55
+
56
+ ### Verdict per epic
57
+ - EPIC 1 — <Approved | Needs changes>
58
+ - EPIC 2 — <Approved | Needs changes>
59
+
60
+ ### Issues
61
+ - <TASK-ID>: <category> — <what's wrong> — <suggested fix>
62
+
63
+ ### Tasks to add
64
+ - <NEW-ID>: <title> — <why missing>
65
+
66
+ ### Tasks to split
67
+ - <TASK-ID> → <NEW-ID-a>, <NEW-ID-b>, ...
68
+
69
+ ### Status flips applied to board.md
70
+ - <TASK-ID>: <old> → Approved for execution
71
+ - <TASK-ID>: <old> → Clarifying (<reason>)
72
+
73
+ ### Recommended next
74
+ Run `/parallel-execution` on approved tasks, then `/implementation-brief <ID>`.
75
+ ```
76
+
77
+ After writing the review, edit `.ai/board.md` to apply the status flips. Do not invent new fields — only change statuses and (if explicitly approved by the user) split tasks.
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: code-review
3
+ description: Review a completed task's implementation against its acceptance criteria as an independent evaluator, not the implementer. Use after `/execute-task`, when the user says "review this", "is this done?", or before marking a task `Validated`. Do NOT use to fix code — propose patches; only edit when the user explicitly asks.
4
+ allowed-tools:
5
+ - Read
6
+ - Bash
7
+ - Grep
8
+ ---
9
+
10
+ # Skill: code-review
11
+
12
+ ## Goal
13
+
14
+ Act as the independent reviewer in the planner/implementer/evaluator loop. The implementer is too generous about its own output — your job is to catch what they missed before a task moves to `Validated`.
15
+
16
+ ## Recommended model
17
+
18
+ Opus 4.7 or GPT-5.5 for high-risk tasks (auth, payments, data migrations, schema, security). Sonnet 4.6 is fine for routine UI/CRUD tasks.
19
+
20
+ ## Inputs
21
+
22
+ Read these (required):
23
+
24
+ - `.ai/board.md` — locate the task and its acceptance criteria
25
+ - `.ai/product-spec.md`
26
+ - `.ai/architecture.md`
27
+ - the actual diff: `git diff` for unstaged, `git diff --staged`, or `git diff <base>...HEAD`
28
+
29
+ Read if relevant:
30
+
31
+ - `.ai/ux-theme.md` for UI tasks
32
+ - `.ai/decision-log.md`
33
+
34
+ ## Rules
35
+
36
+ - **Read-only by default.** Propose patches in prose. Do not edit files unless the user asks.
37
+ - Check acceptance criteria **one by one**, citing the evidence in the diff (file:line). If a criterion is not verifiable from the diff, say so — do not assume.
38
+ - Look beyond the criteria for: security holes, missing error handling at system boundaries, secrets in code, broken types, unused/dead code added by the executor, scope creep (edits outside the task's declared file list).
39
+ - Distinguish **blocking** issues (must-fix before done) from **nits** (optional). Pile of nits is not a failed review.
40
+ - The verdict is binary: **Pass** or **Needs changes**. No "pass with reservations."
41
+
42
+ ## Workflow
43
+
44
+ 1. Read the task, criteria, and the diff.
45
+ 2. Walk through each acceptance criterion against the code.
46
+ 3. Scan for security / boundary / scope-creep issues.
47
+ 4. Write the verdict.
48
+
49
+ ## Output format
50
+
51
+ ```md
52
+ ## Code review — <TASK-ID>: <title>
53
+
54
+ ### Verdict
55
+ Pass | Needs changes
56
+
57
+ ### Acceptance criteria
58
+ - [x|✗] <criterion>
59
+ Evidence: <file:line> — <one line>
60
+
61
+ ### Blocking issues
62
+ - <file:line> — <problem> — <suggested fix>
63
+
64
+ ### Nits
65
+ - <file:line> — <minor>
66
+
67
+ ### Scope check
68
+ - Files edited match task's declared list: yes | no (<list of out-of-scope files>)
69
+ - New dependencies added: <list or none>
70
+
71
+ ### Security / boundary check
72
+ - <finding or "no issues found">
73
+
74
+ ### Recommended board update
75
+ Status: review → Validated | review → In progress (needs changes)
76
+ ```
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: execute-task
3
+ description: Implement exactly one board task end-to-end, then report changes and a suggested board update. Use when the user says "do TASK-X", "execute the next task", "implement AUTH-001", or hands a task ID to the agent. Do NOT use without a task ID — ask which task, or run `/next-task` first.
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Edit
8
+ - Bash
9
+ ---
10
+
11
+ # Skill: execute-task
12
+
13
+ ## Goal
14
+
15
+ Execute one and only one task from `.ai/board.md`, without touching unrelated areas. The output is code changes plus a clean report the user can paste back into the board.
16
+
17
+ ## Recommended model
18
+
19
+ Sonnet 4.6 (or a comparable cheaper executor). Planning-quality models are overkill here unless the task is marked high-risk.
20
+
21
+ ## Inputs
22
+
23
+ Read these (required):
24
+
25
+ - `.ai/board.md` — locate the task by ID
26
+ - `.ai/product-spec.md`
27
+ - `.ai/architecture.md`
28
+
29
+ Read if they exist:
30
+
31
+ - `.ai/ux-theme.md`
32
+ - `.ai/decision-log.md`
33
+ - A prior `/implementation-brief` for this task if the user provided one
34
+
35
+ If the task ID is missing, already `Validated`, or not in status `Approved for execution`, stop and tell the user. Approval comes from `/board-review`, not from this skill.
36
+
37
+ ## Rules
38
+
39
+ - **Do exactly the task in the brief.** No bonus refactors, no "while I'm here" cleanups.
40
+ - If you discover work outside scope, write it down as a follow-up task in the report. Do not silently expand.
41
+ - Stay inside `Files likely to edit` unless a real blocker forces otherwise — then explain why in the report.
42
+ - After editing, run the verification command(s) from the brief. If they fail, fix and re-run. If you cannot fix, mark the task `blocked` with a specific reason.
43
+ - Do not edit `.ai/board.md` directly here — propose the status change in the report and let `/sync-board` apply it.
44
+ - Never mark a task `done` if acceptance criteria are not all checked.
45
+
46
+ ## Workflow
47
+
48
+ 1. Re-read the task, brief, and any spec/architecture sections it touches.
49
+ 2. Plan the edits in your head (or in TodoWrite if non-trivial).
50
+ 3. Make the changes.
51
+ 4. Run verification (build / typecheck / tests / the specific command from the brief).
52
+ 5. Write the report.
53
+
54
+ ## Output format
55
+
56
+ ```md
57
+ ## Task <ID>: <title> — execution report
58
+
59
+ ### Changed files
60
+ - <path>: <one-line description>
61
+
62
+ ### Acceptance criteria check
63
+ - [x] <criterion> — <how it was verified>
64
+ - [ ] <criterion> — <why not yet>
65
+
66
+ ### Verification
67
+ - Command: `<cmd>`
68
+ - Result: passed | failed | not run (with reason)
69
+
70
+ ### Suggested board update
71
+ Status: In progress → Needs review | Blocked
72
+ (if Blocked) Reason: <specific>
73
+ Validation state: not started
74
+
75
+ ### Follow-up tasks discovered
76
+ - <short title>: <one-line scope>
77
+
78
+ ### Next
79
+ Run `/code-review <ID>` (independent evaluator), then `/qa-verify` for user-facing changes, then `/sync-board` to apply state.
80
+ ```
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: idea-sharpen
3
+ description: Turn a weak or broad product idea into 2–3 sharper MVP angles and recommend one. Use when the user has an idea but is unsure of the angle, says "is this a good idea?", "what's the best version of this?", or "should I do X or Y?". Do NOT use after the angle is already chosen — switch to `/mvp-grill` or `/mvp-spec`.
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ ---
8
+
9
+ # Skill: idea-sharpen
10
+
11
+ ## Goal
12
+
13
+ Act as a product strategist. Take a vague idea and produce three concrete MVP angles with real tradeoffs, then recommend one. Challenge the idea — do not validate it.
14
+
15
+ ## Recommended model
16
+
17
+ Opus 4.7 or GPT-5.5.
18
+
19
+ ## Inputs
20
+
21
+ Read these if they exist:
22
+
23
+ - `.ai/product-spec.md`
24
+ - `.ai/decision-log.md`
25
+
26
+ ## Rules
27
+
28
+ - Produce exactly **three angles**, not more. More options means less commitment.
29
+ - Each angle must be genuinely different — not three flavors of the same idea.
30
+ - Each angle must name a specific target user and the core user action.
31
+ - Pick a winner. "It depends" is not an output.
32
+ - Call out what is weak about the original idea. Do not soften.
33
+ - Do not write code, scaffold files, or commit to a stack here.
34
+
35
+ ## Output format
36
+
37
+ ```
38
+ ## Original idea
39
+ <one-sentence restatement, sharper than the user's>
40
+
41
+ ## What is weak about it
42
+ <2–4 bullets: vague user, crowded space, no clear pull, etc.>
43
+
44
+ ## Angle A — Fastest MVP
45
+ - Target user:
46
+ - Core action:
47
+ - What it does NOT do:
48
+ - Time to first usable version:
49
+ - Why this could win:
50
+ - Why this could fail:
51
+
52
+ ## Angle B — Most differentiated
53
+ <same shape>
54
+
55
+ ## Angle C — Most monetizable
56
+ <same shape>
57
+
58
+ ## Recommendation
59
+ <one of A/B/C, with the single reason that decides it>
60
+
61
+ ## Next
62
+ Run `/mvp-grill` on the chosen angle.
63
+ ```
64
+
65
+ Append the chosen angle to `.ai/decision-log.md` with the reasoning.
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: implementation-brief
3
+ description: Generate the exact prompt an executor (Sonnet / Claude Code) should receive to implement one board task without wandering. Use when the user says "give Claude Code the prompt for TASK-X", "prep this task for execution", or right before handing a task to an executor. Do NOT use to actually run the task — that is `/execute-task`.
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ ---
8
+
9
+ # Skill: implementation-brief
10
+
11
+ ## Goal
12
+
13
+ Produce a tight, executor-ready brief for one specific board task. The brief is the contract that stops the executor from inventing scope.
14
+
15
+ ## Recommended model
16
+
17
+ Opus 4.7 or GPT-5.5 (planning-quality model writes the brief; cheaper model executes it).
18
+
19
+ ## Inputs
20
+
21
+ Read these (required):
22
+
23
+ - `.ai/board.md` — find the task by ID
24
+ - `.ai/product-spec.md`
25
+ - `.ai/architecture.md`
26
+
27
+ Read if they exist:
28
+
29
+ - `.ai/ux-theme.md`
30
+ - `.ai/decision-log.md`
31
+
32
+ If the task ID is not in `board.md`, stop and ask the user.
33
+
34
+ ## Rules
35
+
36
+ - One task per brief. Never bundle.
37
+ - The brief must be **self-contained** — an executor should not need to re-read the spec to do the work.
38
+ - Quote the acceptance criteria from the board verbatim. Do not paraphrase.
39
+ - List files **to inspect first** separately from files **likely to edit**. Reading comes before writing.
40
+ - Include the exact verification command(s) the executor must run before declaring done.
41
+ - Forbid anything not in scope by name.
42
+
43
+ ## Output format
44
+
45
+ Return a single fenced block the user can copy into the executor:
46
+
47
+ ```
48
+ # Task brief — <ID>: <title>
49
+
50
+ ## Context
51
+ <2–4 sentences pulled from spec and architecture>
52
+
53
+ ## Goal
54
+ <single sentence>
55
+
56
+ ## Non-goals
57
+ - <thing not to do>
58
+ - <thing not to refactor>
59
+
60
+ ## Acceptance criteria (verbatim from board)
61
+ - [ ] ...
62
+ - [ ] ...
63
+
64
+ ## Files to inspect first
65
+ - <path> — <why>
66
+
67
+ ## Files likely to edit
68
+ - <path>
69
+
70
+ ## UX / theme constraints (if relevant)
71
+ <short reference to `.ai/ux-theme.md` patterns>
72
+
73
+ ## Commands to run
74
+ - <install / build / test>
75
+
76
+ ## Definition of done
77
+ 1. Acceptance criteria check, item by item.
78
+ 2. Verification command exits 0.
79
+ 3. List changed files and one-line per change.
80
+ 4. Suggest board status update.
81
+ 5. List any follow-up tasks discovered.
82
+
83
+ ## Out of scope (do not touch)
84
+ - <area / file / feature>
85
+ ```
86
+
87
+ After returning the brief, recommend `/execute-task <ID>` as the next step.
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: mvp-board
3
+ description: Convert the spec and architecture into an executable Markdown board of epics and tasks. Use when the user says "build the board", "break this into tasks", "what should I build first?", or after `.ai/product-spec.md` and `.ai/architecture.md` are in place. Do NOT use to update an existing board after code changes — that is `/sync-board`.
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ ---
8
+
9
+ # Skill: mvp-board
10
+
11
+ ## Goal
12
+
13
+ Produce `.ai/board.md` — the cockpit for the whole project. Every task is sized for one Claude Code session, has acceptance criteria, and declares whether it can run in parallel.
14
+
15
+ This is the most important artifact in the system. The board is truth; chat is steering.
16
+
17
+ ## Recommended model
18
+
19
+ Opus 4.7 or GPT-5.5.
20
+
21
+ ## Inputs
22
+
23
+ Read these (required):
24
+
25
+ - `.ai/product-spec.md`
26
+ - `.ai/architecture.md`
27
+
28
+ Read if they exist:
29
+
30
+ - `.ai/ux-theme.md`
31
+ - `.ai/decision-log.md`
32
+
33
+ If spec or architecture is missing, stop and tell the user.
34
+
35
+ ## Rules
36
+
37
+ - Every task must fit in one focused execution session. If a task touches more than ~5 files or has more than 3 acceptance criteria, split it.
38
+ - Every task must declare **Depends on** and **Parallel-safe**. No exceptions.
39
+ - Order tasks so the **core flow comes online first**, then polish. Auth and dashboards are not core — the user's primary action is.
40
+ - Mark explicit non-tasks for things the spec ruled out, so they do not silently re-enter scope.
41
+ - Use stable IDs (e.g. `AUTH-001`, `FEED-002`) so other skills can reference them.
42
+
43
+ ## Output format
44
+
45
+ Write `.ai/board.md`:
46
+
47
+ ```md
48
+ # MVP Board
49
+
50
+ ## Rules
51
+ - Only execute one task at a time unless marked parallel-safe.
52
+ - Every task must have acceptance criteria.
53
+ - Completed tasks must list changed files and verification result.
54
+ - New discoveries become new tasks, not silent scope expansion.
55
+
56
+ ## Status legend
57
+ Clarifying | Approved for planning | Approved for execution | In progress | Needs review | Validated | Blocked | Cut from MVP
58
+
59
+ New tasks start in `Clarifying`. They only move to `Approved for execution` via `/board-review`. Execution skills must refuse to act on tasks not in `Approved for execution`.
60
+
61
+ ---
62
+
63
+ ## EPIC 1: <name>
64
+
65
+ ### TASK <ID>: <short title>
66
+ Status: Clarifying
67
+ Priority: P0 | P1 | P2
68
+ Agent owner: planner | sonnet | reviewer
69
+ Human owner: <name or @handle>
70
+ Depends on: <ID> | none
71
+ Parallel-safe: yes | no
72
+ Risk: low | medium | high
73
+ Validation state: not started | code-reviewed | qa-verified | both
74
+ Linked PR: <url or none>
75
+ Demo URL: <url or none>
76
+
77
+ Acceptance criteria:
78
+ - [ ] <observable>
79
+ - [ ] <observable>
80
+
81
+ Files likely touched:
82
+ - <path>
83
+
84
+ Execution prompt:
85
+ Use `/implementation-brief <ID>`, then `/execute-task <ID>`, then `/code-review <ID>` and `/qa-verify`.
86
+
87
+ ---
88
+
89
+ (repeat for every task)
90
+
91
+ ## Cut from MVP
92
+ - <thing>: <reason>
93
+ ```
94
+
95
+ After writing, recommend `/board-review` as the next step. Tasks must not move to execution until reviewed and approved.
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: mvp-grill
3
+ description: Grill a rough product idea with sharp questions until it is buildable. Use when the user says "I want to build X", "help me make an MVP", "is this idea good?", or hands over a vague concept. Do NOT use once `.ai/product-spec.md` already exists — switch to `/mvp-spec` or `/architecture-cutline` instead.
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ ---
8
+
9
+ # Skill: mvp-grill
10
+
11
+ ## Goal
12
+
13
+ Turn a messy idea into something concrete enough to plan. You are a skeptical product partner, not a cheerleader. Ask only the questions that change scope or architecture.
14
+
15
+ ## Recommended model
16
+
17
+ Opus 4.7 or GPT-5.5. This is a planning task — do not delegate to a fast executor.
18
+
19
+ ## Inputs
20
+
21
+ Read these if they exist:
22
+
23
+ - `.ai/product-spec.md`
24
+ - `.ai/decision-log.md`
25
+
26
+ If `.ai/product-spec.md` already has a target user, core loop, and MVP features, stop and tell the user the idea is past the grilling stage.
27
+
28
+ ## Rules
29
+
30
+ - Max **5 questions per round**. Wait for answers before the next round.
31
+ - Only ask questions that change scope, architecture, or the definition of "done." Skip cosmetic or curious questions.
32
+ - Force a real answer. If the user dodges, ask a sharper version.
33
+ - Stop grilling once you can write a coherent one-sentence product, target user, core loop, and MVP feature list. Then write to `.ai/decision-log.md` and recommend `/mvp-spec`.
34
+ - Never write code or scaffold files in this skill.
35
+
36
+ ## Question pool (pick the highest-leverage 5 each round)
37
+
38
+ - Who exactly is the target user? Be specific — not "developers" but "indie hackers shipping their first paid SaaS."
39
+ - What is the one painful thing they do today that this replaces?
40
+ - What is the single most important user action in the product?
41
+ - What is the first use case that must work end-to-end?
42
+ - What can be faked manually for v1 (no automation, no integration)?
43
+ - Where does the data come from?
44
+ - Is auth required for v1, or can it be skipped?
45
+ - Is payment required for v1?
46
+ - What does "done" mean for the first release?
47
+ - What must absolutely NOT be built yet?
48
+ - What is the launch constraint (date, demo, audience)?
49
+ - What is the success metric you would actually check?
50
+
51
+ ## Output format
52
+
53
+ After each round, return:
54
+
55
+ 1. **Summary so far** — what you have locked in.
56
+ 2. **Open questions** — up to 5, numbered, sharp.
57
+ 3. **Gaps** — what is still too vague to plan around.
58
+ 4. **Next** — either "answer the questions above" or "ready for `/mvp-spec`".
59
+
60
+ When grilling ends, append a short entry to `.ai/decision-log.md` capturing the locked-in answers.