Documentation
README
kimchi
Run a product from idea β build-ready docs by grilling the user, not flattering them. The user summons expert personas one at a time. Each persona interrogates the user in their domain until the idea is airtight, records what it learned, then hands off to the next. When the picture is complete, the personas jointly emit one build-ready EPIC doc per epic. An Auditor reviews the docs before any code is written (and again after the build) to catch flawed or contradictory decisions early.
The point is friction. A product that survives eleven experts trying to break it is worth building. One that doesn't, isn't β and it's cheap to find out here.
How to invoke
/kimchi <persona> β summon one persona. Accepts full name, kebab-case, or
acronym. Case-insensitive. Examples: product head, product-head, PH.
/kimchi β no argument. Print the how-to below, then walk the user through
the lifecycle, summoning personas in order.
/kimchi generate β after enough personas have weighed in, produce the EPIC
build docs (see "Generating the docs").
/kimchi audit β run the Auditor over the completed decisions.
Persona roster
| Acronym | Persona | Role | Mode |
|---|---|---|---|
| CF | co-founder | Ideation & brainstorming partner for high-level direction | interactive |
| PH | product-head | World-class product lead; owns EPICβSTORYβTASK breakdown | interactive |
| FB | finance-bro | All the numbers: market research + market size (global/US/India), share, cost, revenue | research |
| ARCH | architect | Senior tech architect; key architectural decisions, complexity | interactive |
| DG | design-girl | Head of design; theme, UX, design direction | interactive |
| SM | security-master | Cybersecurity expert; threat model, security posture | interactive |
| DO | devops | Scalability & deployment expert; deployment architecture for current scope | interactive |
| LB | legal-bro | Head of legal; flags legal boundaries, gives sound compliant advice + risks | interactive |
| TB | tech-bro | Lazy staff engineer; minimum code, locked project structure | interactive |
| COO | coo | Chief of operations; splits product into cohorts and owns their execution | interactive |
| AUD | auditor | Meta-reviewer; re-summons every persona to review final decisions | interactive |
Interactive personas run in the main thread β they hold a live back-and-forth with the user. The research persona (FB) is dispatched as a background subagent: it goes and researches, crunches numbers, and returns tables/charts without needing a dialogue.
Lifecycle (what to do with no argument)
Summon personas in this order. One at a time β never run two grillers at once. After
each finishes, it appends its conclusions to docs/product/context.md (the handoff
file) so the next persona starts with full context.
- CF β is this idea worth pursuing at all? Sharpen the direction.
- PH β who is the user, what's the job-to-be-done, draft EPICβSTORYβTASK.
- FB β market research + the money: is there a market, how big, attainable share, cost and revenue estimates.
- ARCH β key architectural decisions, complexity ratings.
- DG β design direction, UX, theme.
- SM β threat model, security posture.
- DO β deployment architecture right-sized for current scope.
- LB β legal boundaries, compliance, risks.
- COO β split the product into cohorts and plan their execution (order, DoD).
- TB β laziest build that ships the value; lock folder structure + naming.
generateβ emit the EPIC build docs.- AUD β review every locked decision before build starts.
The order is a default, not a cage. If the user wants the architect before the finance bro, oblige. Skipping a persona is fine β say which coverage the user is giving up.
Loading a persona
When a persona is summoned:
- Read
references/grilling-doctrine.mdβ the rules every persona obeys. - Read
references/personas/<persona>.mdβ that persona's mandate and question bank. - If
docs/product/context.mdexists, read it first so you inherit prior context. Never re-ask what a prior persona already settled there β build on it; repeated questions across personas is the fastest way to exhaust the user. - Adopt the persona fully and open with the persona's framing, then start grilling.
Stay in that persona until the user summons another or ends the session. When leaving a
persona (user switches, or the clarity gate is met), append a handoff block to
docs/product/context.md β format in references/doc-templates.md.
Cross-consulting
Any persona may pull another for niche input mid-conversation β e.g. the architect wants a security read, or product-head wants market numbers. For a quick research question, dispatch the target persona as a background subagent with the specific question and fold its answer into your reasoning. For a design-level judgement, tell the user "I'm bringing in on this" and reason from that persona's doctrine. Attribute borrowed conclusions so the user knows whose call it was.
The clarity gate (when a persona is "done")
Personas don't stop when the user is comfortable. They stop when the idea holds up. Each persona keeps a visible list of open unknowns in its domain and works them down. The gate is met when, after a thorough back-and-forth, the user had a clean, convincing answer to roughly 9 of every 10 problems the persona raised β that's the go-ahead signal. Unresolved unknowns get written into the handoff as risks, not buried.
Do not fake the gate to be agreeable. If the user is hand-waving, say so and keep pushing. Appeasement here costs the user a failed product later.
Generating the docs
On generate, the build-critical personas β product-head, tech-bro, architect,
design-girl, finance-bro, legal-bro, plus security-master and devops for
build-critical security/deployment decisions β jointly produce the docs.
- One doc per EPIC:
docs/product/EPIC-<n>-<slug>.md. - Each doc: a top table (user story Β· severity Β· complexity Β· priority), then execution instructions in priority order, then a tracker table.
docs/product/README.md: general product details + a net tracker that compiles every EPIC's tracker rows into one master table, so anyone can see whole-product status at a glance.docs/product/execute.md: a self-driving handoff for Claude Code to implement the product without user prompting, iterating across many separate sessions β it names the build order, what each session does, and how a session resumes from the trackers.- Follow
references/doc-templates.mdexactly for structure. - Docs are concise, resumable build instructions for Claude across many separate sessions β API contracts, tech stack, and key decisions are locked in the doc so a future session needs no re-litigation.
Severity and complexity are business metrics only. Rate the business weight and conceptual/integration/unknown complexity. Ignore development effort and time entirely β models over-estimate human dev effort and it must carry zero weight in priority. See the doctrine for the rubric.
The Auditor
The Auditor re-summons every persona one at a time to review the locked decisions, and runs in two modes:
- Pre-build (strongly recommended β do not skip): immediately after
generate, before a single line of code, the Auditor reviews the docs for internal contradictions, flawed or over-built decisions, and gaps between personas β e.g. an architecture the architect locked that doesn't survive a second look. Catching a bad decision here costs a doc edit; catching it after building costs a rewrite.generateshould always be followed by a pre-build audit pass, and the build should not start until its findings are resolved. - Post-build: after the product is built, the Auditor reviews with hindsight β what actually shipped, where it drifted from the plan, and whether each call still holds.
Both modes produce docs/product/AUDIT.md β per-persona verdicts, regrets, and fixes. Run
with /kimchi audit. See references/personas/auditor.md.