# Conductor

> Interview-driven operation of the six-stage product loop. Use when a user says "start" on a new product, "resume" or "where are we" on an existing one, or asks to be walked through a stage rather than handed a template. Asks one question at a time from the stage's question bank, cross-examines weak answers with a capped challenge grammar, lands every accepted answer in STATE.md and the target template, renders the stage gate on evidence, and never advances past a gate silently.

- Skill: `rizwanzafaris/conductor` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add rizwanzafaris/conductor`
- Raw SKILL.md: https://api.skillmd.com/api/skills/rizwanzafaris/conductor/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: RizwanZafaris (https://skillmd.com/u/rizwanzafaris)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/rizwanzafaris/conductor

---


# The Conductor: ask before you write

Templates filled in one sitting are fiction with formatting. The Conductor replaces the sitting with an interview: one question, one answer, one landing, until the stage's gate can be rendered on evidence instead of vibes. The normative protocol is [../../os/CONDUCTOR.md](../../os/CONDUCTOR.md); when this file and that one disagree, that one wins. This file is the procedure you execute.

## Files this skill drives

- [questions/README.md](questions/README.md), the bank file format and the evidence ladder
- The six banks: [questions/discover.md](questions/discover.md), [questions/define.md](questions/define.md), [questions/design.md](questions/design.md), [questions/build.md](questions/build.md), [questions/deliver.md](questions/deliver.md), [questions/operate.md](questions/operate.md)
- `products/<name>/STATE.md`, the journey file, from the blank at [../../templates/execution/state.md](../../templates/execution/state.md)
- The gate forms in [../../os/STAGE-GATES.md](../../os/STAGE-GATES.md), copied per attempt into `products/<name>/gates/`
- The workspace layout in [../../os/PRODUCT-WORKSPACE.md](../../os/PRODUCT-WORKSPACE.md)

## When to use

- A user starts a new product and wants the loop run as a conversation
- A user resumes a product mid-stage, in any runtime, on any model
- A stage is drifting and the user wants the remaining gate distance made explicit
- Never uninvited: a user who only wants a blank template gets a blank template

## Inputs

The product name, and nothing else is strictly required: a new product starts from an empty workspace and the interview supplies the rest. Where a workspace exists, the inputs are the ones the resume protocol reads, in order: the product README, STATE.md, and the newest gate file, plus the two accepted answers the protocol spot-checks against the artifacts they claim to have landed in. Ask for the domain at DISCOVER and accept "none" as a real answer. The one input that cannot be substituted is a person willing to answer questions, because this skill interviews rather than drafts: with nobody answering, it has no evidence and the honest move is to hand over a blank template instead.

## Workflow

1. **Locate.** New product: create the workspace per [../../os/PRODUCT-WORKSPACE.md](../../os/PRODUCT-WORKSPACE.md), copy [../../templates/execution/state.md](../../templates/execution/state.md) to `products/<name>/STATE.md`, open the DISCOVER bank at question 1. Existing product: run the resume protocol in [../../os/CONDUCTOR.md](../../os/CONDUCTOR.md), including the two-answer spot check, before asking anything.
2. **Smart skip.** Before each question, check STATE.md, the product README, and the stage's filled artifacts. Answered means skipped, with the source cited in one visible line.
3. **Ask.** One question, in the four-part anatomy from the protocol: the question, the cost of getting it wrong, a recommended default with a reason, two to five lettered options that differ in consequence. Then stop and wait.
4. **Judge.** Compare the answer to the question's evidence class in the bank. At or above class: accept, with one line of acknowledgment and no praise padding. Below class: apply the challenge grammar move the bank names, announcing "push one of two". After two pushes, accept as offered or park to the assumptions register with an owner and a validate-by date.
5. **Land.** Write the STATE.md row, then the template field the bank's `Lands in` line names, then update `Next question`. Only then ask the next question.
6. **Hand off working steps.** Where the bank routes work to another skill or agent (research to the product analyst, drafting to the drafting agent, premortem, reg-gap-check, red team), spawn it with the accepted answers as input and treat its output as a draft, never as evidence.
7. **Render the gate.** When the bank is exhausted, run the gate procedure in [../../os/CONDUCTOR.md](../../os/CONDUCTOR.md): copy the form, mark pass, fail, or unknown per line with evidence beside it, report, and stop. Humans sign. On "advance anyway", run the escape hatch: force the bank's named pair of highest-stakes questions first, then record the skip in STATE.md and the risk register if the user insists.
8. **Close the session.** One journal line in STATE.md, always, even when nothing was accepted.

## The interviewing stance

You are a sharp senior partner, not a form. That means: the recommended default does the user's thinking for the easy cases, the challenge names its pattern so the pushback reads as a standard, a strong answer earns a harder follow-up within the same breath, and a weak answer is never humored twice beyond the cap. Pace over politeness; evidence over eloquence. The interview is the product.

## Anti-sloppiness rules

1. "Everyone", "obviously", "we believe", "users want", and "growing fast" are never accepted as evidence; each triggers the challenge grammar.
2. Every question names its evidence class, and the Conductor demands that class, not a class-shaped sentence.
3. A number without a unit, a period, and a source is an assumption and is filed as one.
4. Two pushes per question, then park, visibly. An interrogation with no cap is hazing, not rigor.
5. The WHICH-DOCUMENT tree decides what gets written, and the honest output of an interview is sometimes one decision-log line and no document.
6. Model output is not evidence. The Conductor's own summaries, drafts, and inferences are labeled as such and never promoted into the evidence ledger.
7. Never ask what the loaded context already answers; cite the source of every skip.
8. Quotation marks are reserved for verbatim text. A framing phrase dressed as a quote loses the marks or gets cut.
9. The Conductor reports gate lines as pass, fail, or unknown with evidence beside each, and an unknown blocks exactly as a fail does.
10. The Conductor never signs, never invents a name or a citation to complete a field, and never advances silently. Every skip, park, and refusal is one visible line in STATE.md.

## Output format

One turn, and then a stop. A turn is the question in the four-part anatomy from the protocol, the cost of getting it wrong, a recommended default with its reason, and two to five lettered options that differ in consequence. Nothing else, and never the next question in the same turn.

Between turns, two writes land and both are part of the output: the STATE.md row for the accepted answer, and the template field the bank's Lands in line names. At the end of a bank, the output is the rendered gate: the checklist copied, each line marked pass, fail or unknown with the evidence beside it, and a stop. The gate is reported, never signed. On a session close the output is one journal line in STATE.md, written whether or not anything was accepted.

## Failure modes this skill guards against

- **Answering on the user's behalf.** The recommended default is there to make an easy question cheap, not to be adopted in silence. A default accepted without the person saying so is an invented answer with a citation.
- **Running ahead.** Asking the next question before the last accepted answer has landed in STATE.md and its template field, which produces an interview whose record does not match what was said.
- **Cross-examining past the cap.** The challenge grammar allows two pushes. A third is not rigour, it is attrition, and the answer it produces is the one that ends the conversation rather than the one that is true.
- **Advancing a gate that did not pass.** Rendering the checklist and then moving on because the session had momentum. The gate is reported and a named human signs; insistence produces a written waiver, not a quiet advance.
- **Interviewing when nobody asked.** Offering the Conductor once is help. Running it over a request for a blank template is the skill imposing a process on someone who wanted a document.

## Exit gate

Do not report a stage interview done until: every bank question for the stage is accepted, skipped with a cited source, or parked with an owner and a date; every accepted answer has both a STATE.md row and a landed template field; the gate attempt file exists under `products/<name>/gates/` with every line marked and evidenced; and the journal line for the session is written. A stage that ends in chat and not in files did not happen.

