Skip to main content

build-options

Decide WHAT to build after a market is validated: generate divergent build options, score them with an independent judge panel into a weighted decision matrix, adversarially stress-test the top, recommend one (with kill criteria), render a Tufte decision matrix, and hand the winner to the `prd` skill. Use when the user asks "what should I build", "what are my build options", "which option should we build", "decide what to build", or after running `market-validation`.

Aller à l'installation

Informations de source

Dépôt
craigm26/founder-skills
Dernière activité de la source
3 juillet 2026 à 00:09
Langue détectée de SKILL.md
anglais
Étoiles
1
Forks
0

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Explorateur de fichiers
13 fichiers

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
build-options
description
Decide WHAT to build after a market is validated: generate divergent build options, score them with an independent judge panel into a weighted decision matrix, adversarially stress-test the top, recommend one (with kill criteria), render a Tufte decision matrix, and hand the winner to the `prd` skill. Use when the user asks "what should I build", "what are my build options", "which option should we build", "decide what to build", or after running `market-validation`.
# Build Options Turns a validated market into a *defensible choice* among concrete build options. Runs the judge-panel method (generate → score → stress-test → choose). Pairs with `market-validation` (before) and `prd` (after). Read `references/decision-method.md` and `references/chaining.md` first. ## Before you start - **Cost/time:** ~12 agents (6 generators + 3 judges + ~3 skeptics) — smaller than a `market-validation` run, but confirm the framing in Phase 0 before launching. - **Workflow opt-in:** Phase 1 launches the Workflow tool; allowed because this skill instructs it. - **Honesty:** scores are directional, not precise — always show the full matrix + kill criteria, never a bare verdict. ## Phase 0 — Frame Build a `DecisionContext` (`references/chaining.md`): **chain from a prior `market-validation` run** (read its `deck-data.json` + brief) if available, else collect a short standalone brief. Then confirm with the user via AskUserQuestion: budget/time horizon, risk appetite, and **must-reuse assets**. Present the **default criteria + weights** (`references/decision-method.md`) and let the user adjust (weights must sum to 1.0). Optionally adjust the strategic **lenses**. ## Phase 1 — Run the judge panel (Workflow) You supply the context, criteria, and lenses; the script executes them (it does not invent them): ``` Workflow({ scriptPath: "<skill-dir>/assets/build-options-workflow.js", args: { context: DecisionContext, criteria: [...], lenses: [...] } }) ``` It generates one option per lens, has 3 independent judges score every option on every criterion, aggregates to per-criterion `{mean, spread, notes}`, stress-tests the top ~3, and returns `{ options (with scores + adversarial), criteria, judgeCount, stressTested }`. ## Phase 2 — Assemble `decision-data.json` Write ONE canonical `decision-data.json` (mirror `references/example-shiftmate/decision-data.json`): `meta`, `context`, `criteria` (with weights), `options` (the workflow's output verbatim — raw `scores` means; **do NOT hand-compute weighted totals**, `build_matrix.py` does that), `recommendation` (your call: winner + rationale + grafts + confidence), and `killCriteria`. If the workflow's top option was `killed` in the adversarial pass, do not recommend it without re-scoring. ## Phase 3 — Visualize ``` python3 <skill-dir>/assets/build_matrix.py decision-data.json --out <out-dir> --pdf ``` Computes weighted totals + tie analysis via `weighting.py` and renders the Tufte matrix (`<slug>.html`; `+ .pptx` if python-pptx; `+ .pdf` with `--pdf` + chromium). If `tie.isTie`, lead with the deciding factor. ## Phase 4 — Hand off to `prd` Invoke the **`prd`** skill with a feature description = the winning option's `thesis` + `mvpScope` + `businessModel` + key constraints (see `references/chaining.md`). It writes `/tasks/prd-*.md`; the `tasks` skill then turns that into `prd.json`. Surface all artifacts to the user (SendUserFile). ## Deliverables `decision-data.json`, `<slug>.html` (+ `.pdf`/`.pptx` if produced), and the PRD for the chosen option. ## Known limitations (keep your honesty consistent) - **The workflow (`build-options-workflow.js`) was proven on 2026-07-02** (see `docs/superpowers/specs/2026-07-02-flagship-campaign-execution.md`): a real run (3 lenses, 3 judges, 3 skeptics) threaded `args` and returned the documented shape — and caught a silent skeptic-verdict drop (verdicts joined on a model-echoed optionId; every mismatch defaulted to `survive/[]`). Fixed the same day by binding verdicts to options by construction. Lesson: join sub-agent outputs on keys YOU control, and treat an empty `killerRisks` on a top option as suspect. - **The `prd` handoff is described, not yet exercised** — confirm the PRD lands in `/tasks/` the first time. - **LLM judges cluster scores** → frequent "too close to call." If the matrix doesn't discriminate, sharpen the criteria **weights** (the lever), not the method. ## Tests `python3 -m pytest <skill-dir>/tests -q` — unit-tests the weighting math (aggregation, weighted sum with `reg_risk` inversion, tie detection) and smoke-tests the matrix render (golden + minimal). Run after editing `weighting.py` or `build_matrix.py`. ## References - `references/decision-method.md` — rubric, math, tie/kill rules. - `references/chaining.md` — read market-validation output; standalone brief; the `prd` handoff. - `references/example-shiftmate/decision-data.json` — worked example (ShiftMate).
Voir sur GitHub