---
name: Kimchi
slug: kimchi
category: AI Engineering
description: Turn a raw product idea into build-ready documentation through expert personas that interrogate and validate every aspect before code is written.
github: "https://github.com/chitransh-cj/kimchi/tree/main/plugin"
language: Shell
stars: 40
forks: 4
install: "git clone https://github.com/chitransh-cj/kimchi"
added: 2026-07-16T13:43:10.980Z
last_synced: 2026-07-16T13:43:10.980Z
canonical_url: "https://dirskills.com/skills/kimchi"
---

# Kimchi

Turn a raw product idea into build-ready documentation through expert personas that interrogate and validate every aspect before code is written.

**Install:** `git clone https://github.com/chitransh-cj/kimchi`

## 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.

1. **CF** — is this idea worth pursuing at all? Sharpen the direction.
2. **PH** — who is the user, what's the job-to-be-done, draft EPIC→STORY→TASK.
3. **FB** — market research + the money: is there a market, how big, attainable share,
   cost and revenue estimates.
4. **ARCH** — key architectural decisions, complexity ratings.
5. **DG** — design direction, UX, theme.
6. **SM** — threat model, security posture.
7. **DO** — deployment architecture right-sized for current scope.
8. **LB** — legal boundaries, compliance, risks.
9. **COO** — split the product into cohorts and plan their execution (order, DoD).
10. **TB** — laziest build that ships the value; lock folder structure + naming.
11. `generate` — emit the EPIC build docs.
12. **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:

1. Read `references/grilling-doctrine.md` — the rules **every** persona obeys.
2. Read `references/personas/<persona>.md` — that persona's mandate and question bank.
3. If `docs/product/context.md` exists, 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.
4. 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 <persona> 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.md` exactly 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. `generate` should 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`.
