SKILL.md
Product Pivot Research
A pivot built on an honest autopsy survives. A pivot built on the old codebase's habits repeats them. Run the six phases in order, do not skip to the rebuild.
The six phases
Read references/templates.md when you start any phase that produces a document. It holds the fill-in skeletons for phases 2, 3, 4, and 6.
Phase 1: Failure analysis
- List failure causes honestly: positioning, activation, category collapse, fragility. Name them, do not soften them.
- Identify every pitch claim that lacked product substance.
- Measure time-to-magic: how long until a new user hits real value.
- Document the actual first-5-minutes experience, not the intended one.
Phase 2: Codebase inventory
- Count migrations, functions, routes, tables, assets, integrations.
- Name the most mature subsystem and the most fragile one.
- Map the deployment story end to end.
- Never expose secrets in the inventory document.
Phase 3: Classify every existing object
| Classification | Meaning | Action |
|---|---|---|
| Preserve | Concept and implementation carry forward | Port with adaptation |
| Transform | Concept carries, implementation does not | Reference only, rewrite |
| Archive | Historical reference | Document and freeze |
| Discard | Actively harmful | Delete or ignore |
Default to Transform when torn between Preserve and Transform. Old implementations smuggle old assumptions.
Phase 4: Competitive landscape
Build an implication matrix: competitor, then the buyer expectation that competitor creates, then the V2 implication. Name the first buyer explicitly, a person or role, not a segment. Define anti-positioning: what V2 refuses to be.
Phase 5: New object model
Define V2 from first principles, clean-room, without the V1 schema open in another tab. Specify: minimum API surface, acceptance criteria as a proof workflow, explicit non-goals, and a stack justification in one paragraph.
Phase 6: Migration map and research prompts
Build the V1-to-V2 migration map from the Phase 3 classifications. Draft five clean-room research prompts: history extraction, market research, schema extraction, naming and legal, buyer interviews. Each prompt must be runnable by someone who has never seen V1.
Good vs bad
Good Phase 1 finding: "Activation failed. Median time-to-magic was three sessions. The pitch promised instant analysis; the product required a 20-minute import first."
Bad Phase 1 finding: "The market wasn't ready and marketing was underfunded." External blame with no product claim examined. If Phase 1 contains no uncomfortable sentence, it is not done.
Verification
Do this: after Phase 6, check that every V1 object named in the Phase 2 inventory appears in exactly one Phase 3 classification row and, if Preserve or Transform, in the migration map. Expect zero unclassified objects and zero migration entries pointing at Discard items. If either count is nonzero, the map is incomplete, finish it before any V2 build starts.
Completion checklist
- [ ] Phase 1 names at least one product-substance failure, not only external causes
- [ ] Inventory counts recorded with the fragile and mature subsystems named
- [ ] Every inventoried object classified in the four-way table
- [ ] Implication matrix has a named first buyer and explicit anti-positioning
- [ ] V2 object model states non-goals and acceptance criteria
- [ ] Migration map and five research prompts drafted
Any box unchecked: not done. Fix or say so.
Footguns
- Starting Phase 5 with V1 code open: the "new" model becomes a rename of the old one. Close V1, design clean-room, then reconcile via the migration map.
- Classifying everything Preserve to protect sunk cost: if more than a third of objects are Preserve, re-run Phase 3 asking "would I build this today?" per object.
- Skipping the first-buyer name in Phase 4: "SMBs" is not a buyer. A pivot without one named buyer repeats the positioning failure that caused it.