|
1 | 1 | # product-init |
2 | 2 |
|
3 | | -AI-first turnkey product delivery skill. It enforces an 8-gate pipeline |
4 | | -(Discovery -> SoW -> Build -> Real Wiring -> QA -> Deploy -> UAT/Warranty -> Handoff) |
5 | | -through a set of audit scripts under `scripts/`. Each audit returns structured |
6 | | -findings (severity, gate, check, evidence, fix) and a non-zero exit code when |
7 | | -any HIGH or CRITICAL issue is present. |
| 3 | +**AI sets the goal. product-init makes sure you're shooting at the right one.** |
| 4 | + |
| 5 | +> "Vibe-coding without a product spec isn't moving fast. It's building the wrong thing at the speed of AI." |
| 6 | +
|
| 7 | +Codex ships `/goal`. Cursor ships `/build`. Every AI tool now moves faster. |
| 8 | +43% of startups still die from the same cause: wrong product. |
| 9 | + |
| 10 | +product-init is the gate before the gate — 9 hard stops between your idea and your deploy, each blocked by a Python audit script with real pass/fail criteria. CRITICAL findings stop the pipeline. No `--skip` flag. |
| 11 | + |
| 12 | +Works on Claude Code, Codex CLI, and OpenClaw/Hermes. |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +## How it works |
| 17 | + |
| 18 | +``` |
| 19 | +/product-init "build an HR assessment tool" |
| 20 | +``` |
| 21 | + |
| 22 | +Three questions. AI drafts the rest. 9 gates run in sequence. |
| 23 | + |
| 24 | +``` |
| 25 | +Gate 1 Discovery Constitution JTBD + four-risk model |
| 26 | +Gate 2 Statement of Work Shape Up appetite + PR-FAQ |
| 27 | +Gate 3 Design Every screen maps to a job from Gate 1 |
| 28 | +Gate 4 Build Commit-to-AC, no orphan TODOs |
| 29 | +Gate 5 QA Unit + integration + E2E — all green |
| 30 | +Gate 6 UAT Real human signs off on real URL |
| 31 | +Gate 7 Deploy HTTP 200 to prod, smoke job, rollback drill |
| 32 | +Gate 8 Handoff ADRs + runbook + DEBT.md — a contract, not a README |
| 33 | +Gate 9 Warranty 72h monitoring window: error rate, latency, uptime |
| 34 | +``` |
| 35 | + |
| 36 | +Gate 1 is the one that matters most. It asks: *who gets fired if this fails, what job are they hiring it for, and what does failure look like in production?* |
| 37 | +That's the goal you're shooting at. Everything else is build speed. |
| 38 | + |
| 39 | +--- |
8 | 40 |
|
9 | 41 | ## Install |
10 | 42 |
|
11 | | -The skill ships with a vendored virtualenv: |
| 43 | +```bash |
| 44 | +# Claude Code (default) |
| 45 | +bash install.sh |
| 46 | + |
| 47 | +# Claude Code + OpenClaw |
| 48 | +bash install.sh --openclaw |
12 | 49 |
|
| 50 | +# All runtimes |
| 51 | +bash install.sh --all |
13 | 52 | ``` |
| 53 | + |
| 54 | +Manual install: |
| 55 | + |
| 56 | +```bash |
14 | 57 | python3 -m venv .venv |
15 | 58 | .venv/bin/pip install -r scripts/requirements.txt |
16 | 59 | ``` |
17 | 60 |
|
18 | | -That is the venv the orchestrator already uses (`.venv/bin/python3`). No |
19 | | -global Python state is mutated. |
| 61 | +--- |
20 | 62 |
|
21 | | -## Run an audit |
| 63 | +## Usage |
22 | 64 |
|
| 65 | +```bash |
| 66 | +# Bootstrap a new project |
| 67 | +python3 scripts/orchestrator.py --project-dir /path/to/project init "your idea" |
| 68 | + |
| 69 | +# Run a specific gate |
| 70 | +python3 scripts/orchestrator.py --project-dir /path/to/project gate 1 |
| 71 | + |
| 72 | +# Run all audits |
| 73 | +python3 scripts/orchestrator.py --project-dir /path/to/project audit --json |
23 | 74 | ``` |
24 | | -.venv/bin/python3 -B scripts/audit_constitution.py --project-dir /path/to/project |
25 | | -``` |
26 | 75 |
|
27 | | -Every audit accepts `--project-dir <dir>` and `--json`. `audit_qa.py` is an |
28 | | -aggregator that runs all eight Gate 5 sub-audits and merges their findings. |
| 76 | +Every audit accepts `--project-dir` and `--json`. JSON output: `{ findings: [...], exit_code: 0|1 }`. |
| 77 | + |
| 78 | +--- |
| 79 | + |
| 80 | +## Runtime support |
| 81 | + |
| 82 | +| Runtime | Adapter | Setup | |
| 83 | +|---------|---------|-------| |
| 84 | +| Claude Code | `runtime/claude-code.md` | default | |
| 85 | +| Codex CLI | `runtime/codex.md` | `export PRODUCT_INIT_SKILL_DIR=~/.claude/skills/product-init` | |
| 86 | +| OpenClaw + Hermes | `runtime/openclaw.md` | `bash install.sh --openclaw` | |
| 87 | + |
| 88 | +Orchestrator auto-detects: `$PRODUCT_INIT_SKILL_DIR` → `~/.openclaw/skills/product-init/` → `~/.claude/skills/product-init/`. |
| 89 | + |
| 90 | +--- |
| 91 | + |
| 92 | +## What ships at the end |
| 93 | + |
| 94 | +- `PRODUCT.md` — golden path, persona, outcome metric, kill criteria |
| 95 | +- `SPEC.md` — scope, acceptance criteria |
| 96 | +- `PLAN.md` — Shape Up pitch, appetite, deferred list |
| 97 | +- `TASKS.md` — golden path tasks only (filter blocks scope creep) |
| 98 | +- `COMPETITIVE_BENCHMARK.md` — v0/Bolt/Lovable/Railway targets |
| 99 | +- `DEBT.md` — every TODO/FIXME named and owned |
| 100 | +- `UAT_REPORT.md` — signed off, sha256-tagged |
| 101 | +- `HANDOFF.md` — ADRs, runbook, rollback, credentials vault link |
| 102 | +- `.github/workflows/ci.yml` — audit jobs as required checks |
| 103 | + |
| 104 | +--- |
| 105 | + |
| 106 | +## Demo |
| 107 | + |
| 108 | +HR assessment tool built in one session with product-init: |
| 109 | +- Editorial landing page: "Hire on evidence, not on a feeling." |
| 110 | +- Dark cinematic interview room — live AI sessions |
| 111 | +- Dashboard with scored candidates |
| 112 | +- PDF reports across 4 dimensions |
| 113 | + |
| 114 | +Live: https://demorpoject.vercel.app |
| 115 | + |
| 116 | +--- |
| 117 | + |
| 118 | +## CI |
| 119 | + |
| 120 | +`.github/workflows/dogfood.yml` — self-audits on every push: |
| 121 | +- Gate 1 + Gate 2 must exit 0 on known-good fixture |
| 122 | +- Orchestrator `init`, `audit`, `gate` subcommands tested |
| 123 | +- Runtime adapters frontmatter validated |
| 124 | +- `install.sh` executable check |
| 125 | +- Python syntax check on all 23 scripts |
| 126 | +- `$PRODUCT_INIT_SKILL_DIR` env var override verified |
29 | 127 |
|
30 | | -## Auto-trigger |
| 128 | +--- |
31 | 129 |
|
32 | | -The keywords and phrases that auto-trigger this skill are documented in |
33 | | -`SKILL.md` (the canonical entry point). Look there for routing details. |
| 130 | +## Research basis |
34 | 131 |
|
35 | | -## Dogfood CI |
| 132 | +| Source | Applied at | |
| 133 | +|--------|-----------| |
| 134 | +| CB Insights 2024 (43% PMF failure) | Gate 1 hard block | |
| 135 | +| Christensen JTBD | Gate 1 Q2 | |
| 136 | +| Cagan four-risk model | Gate 1 Q7 | |
| 137 | +| Basecamp Shape Up | Gate 2 appetite + scope | |
| 138 | +| Amazon PR-FAQ | Gate 2 user narrative | |
| 139 | +| Torres Continuous Discovery | Gate 1 Q13 | |
| 140 | +| Ries Lean Startup | Kill criteria + BML loop | |
36 | 141 |
|
37 | | -`.github/workflows/dogfood.yml` materializes a known-good fixture under |
38 | | -`/tmp/fixture` and asserts that gate1 and gate2 audits exit 0, plus a |
39 | | -syntax check across every `scripts/*.py`. |
| 142 | +Full citations: `references/research-evidence.md` |
0 commit comments