Phase 1 — Interview → Plan¶
Open warmly with one or two examples from
[references/examples-bank.md](https://github.com/alirezarezvani/claude-skills/tree/main/agent-launcher/references/examples-bank.md), then interview
the founder into a build sheet. No API key needed in this phase — the output
is a plan.
The six intake slots (ask one at a time; use AskUserQuestion for choices)¶
| Slot | Question | Maps to |
|---|---|---|
| Job | "What one job should this agent do end-to-end?" | agent.system + outcome description |
| Trigger | "What kicks it off — you ask it, an event, or a schedule?" | on-demand / event / cron |
| Inputs | "What does it read?" (files, repo, memory, gmail/slack/github, web) | resources / MCP servers / memory |
| Actions | "What does it do?" (draft, write, call APIs, run code) | agent toolset / custom tools / MCP |
| Done | "How would you grade a good run?" | outcome rubric (required) |
| Recurrence | "Once, on request, or on a cadence?" | single-pass / grade-loop / cron-loop |
See [references/interview-to-config.md](https://github.com/alirezarezvani/claude-skills/tree/main/agent-launcher/references/interview-to-config.md)
for the full mapping.
Workflow¶
- Interview. Walk the six slots. Capture the founder's own words — never invent specifics they didn't claim.
- Map to primitives.
MCP inputs become schema-true mock custom tools in v0 and a v1 deferral to wire the real server. Irreversible actions (send/publish) become v2 deferrals behind
python3 scripts/interview_planner.py \ --job "Triage overnight support email" --trigger schedule \ --inputs "gmail,memory" --actions "label,reply" \ --dod "one label per email, grounded reason, no invented facts" \ --recurrence daily --out ./my-agent/plan.jsonalways_ask. - Assemble the sheet.
- Validate limits. FAIL blocks progress; fix and re-run. WARN is advisory (surface it).
- Record the plan in the goal.
goal_state.py set --phase stage-launch --artifact build_sheet=./my-agent/build-sheet.json, then advance.
Hard rules¶
- v0 is the core job only. Everything else is a versioned deferral with a reason and an exact mechanism.
- Their problem, their words.
- No key yet. The interview produces a plan; the key is a Phase-2 concern.
Forcing-question library (recommend + cite)¶
- "What one job — singular?" Recommend: the most-repeated task. Cite: interview-to-config.md. Two jobs → two agents.
- "Real integration or v0 mock?" Recommend: mock; wire MCP as v1. Cite: interview-to-config.md rule 1.
- "How do you grade it?" Recommend: 3–5 grounded rubric lines. Cite: cma-primitives.md (rubric required).
- "Smarter over time?" Recommend: attach memory only if yes. Cite: cma-primitives.md (memory limits + injection).
- "Once, or on a cadence?" Recommend: on-demand v0, schedule as Phase-4. Cite: loops-and-workflows.md.
Tools¶
scripts/interview_planner.py— answers → primitives skeleton + deferrals.scripts/build_sheet_builder.py— assemble/normalize build-sheet.json.scripts/primitives_validator.py— validate vs CMA limits (PASS/WARN/FAIL).