Phase 1 — Interview → Plan
Phase 1 of building a Claude Managed Agent — interview the founder about the one job the agent should do, then produce a build sheet (CMA primitives table + v1/v2 deferrals + eval plan) WITHOUT needing their API key yet.
How to use it
Claude Code
- Run the line below. It pulls the whole folder into
~/.claude/skills/interview, including the files SKILL.md points to. - Describe your job in plain words. Claude Code follows the skill from there.
npx degit alirezarezvani/claude-skills/agent-launcher/skills/interview#main ~/.claude/skills/interviewFor one project only, change the path to .claude/skills/interview. This skill also uses interview_planner.py, build-sheet.json, build_sheet_builder.py, primitives_validator.py, goal_state.py, interview-to-config.md — copying SKILL.md alone won't be enough. See the folder on GitHub.
Claude (web or desktop app)
- On this page open ⋯ → Download .md.
- Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
- Pick the file and Save. Claude shows the name and description and runs a security scan.
- Check the skill is switched on.
- Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
- ChatGPT: make a Project and paste it into Instructions.
- Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Source of Phase 1 — Interview → Plan
Show the full text84 lines
| name | description | version | author | license | tags | compatible_tools |
|---|---|---|---|---|---|---|
| interview | Phase 1 of building a Claude Managed Agent — interview the founder about the one job the agent should do, then produce a build sheet (CMA primitives table + v1/v2 deferrals + eval plan) WITHOUT needing their API key yet. Use when the user says "help me scope an agent", "I have an idea for an agent", "what should this agent be", or when the orchestrator routes phase=interview. Drives the six intake slots (job, trigger, inputs, actions, definition-of-done, recurrence) via AskUserQuestion, maps them to primitives with interview_planner.py, assembles build-sheet.json with build_sheet_builder.py, and validates limits with primitives_validator.py. Connectors are mockable in v0 (schema-true custom tools); real MCP servers become v1 deferrals. Distinct from stage-launch (which turns the sheet into payloads). | 2.11.2 | Alireza Rezvani | MIT | [cma, interview, scoping, build-sheet, primitives, deferrals, eval-plan] | [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli] |
Phase 1 — Interview → Plan
Open warmly with one or two examples from
../../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
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 behindpython3 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.
python3 scripts/build_sheet_builder.py --plan ./my-agent/plan.json --out-dir ./my-agent - Validate limits.
FAIL blocks progress; fix and re-run. WARN is advisory (surface it).python3 scripts/primitives_validator.py --sheet ./my-agent/build-sheet.json - 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).
| 1 | |
| 2 | name interview |
| 3 | description Phase 1 of building a Claude Managed Agent — interview the founder about the one job the agent should do, then produce a build sheet (CMA primitives table + v1/v2 deferrals + eval plan) WITHOUT needing their API key yet. Use when the user says "help me scope an agent", "I have an idea for an agent", "what should this agent be", or when the orchestrator routes phase=interview. Drives the six intake slots (job, trigger, inputs, actions, definition-of-done, recurrence) via AskUserQuestion, maps them to primitives with interview_planner.py, assembles build-sheet.json with build_sheet_builder.py, and validates limits with primitives_validator.py. Connectors are mockable in v0 (schema-true custom tools); real MCP servers become v1 deferrals. Distinct from stage-launch (which turns the sheet into payloads). |
| 4 | version 2.11.2 |
| 5 | author Alireza Rezvani |
| 6 | license MIT |
| 7 | tags [cma, interview, scoping, build-sheet, primitives, deferrals, eval-plan] |
| 8 | compatible_tools [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli] |
| 9 | |
| 10 | |
| 11 | # Phase 1 — Interview → Plan |
| 12 | |
| 13 | Open warmly with one or two examples from |
| 14 | [`../../references/examples-bank.md`], then interview |
| 15 | the founder into a **build sheet**. No API key needed in this phase — the output |
| 16 | is a plan. |
| 17 | |
| 18 | ## The six intake slots (ask one at a time; use AskUserQuestion for choices) |
| 19 | |
| 20 | | Slot | Question | Maps to | |
| 21 | |---|---|---| |
| 22 | | **Job** | "What one job should this agent do end-to-end?" | `agent.system` + outcome `description` | |
| 23 | | **Trigger** | "What kicks it off — you ask it, an event, or a schedule?" | on-demand / event / cron | |
| 24 | | **Inputs** | "What does it read?" (files, repo, memory, gmail/slack/github, web) | resources / MCP servers / memory | |
| 25 | | **Actions** | "What does it do?" (draft, write, call APIs, run code) | agent toolset / custom tools / MCP | |
| 26 | | **Done** | "How would you grade a good run?" | outcome `rubric` (required) | |
| 27 | | **Recurrence** | "Once, on request, or on a cadence?" | single-pass / grade-loop / cron-loop | |
| 28 | |
| 29 | See [`../../references/interview-to-config.md`] |
| 30 | for the full mapping. |
| 31 | |
| 32 | ## Workflow |
| 33 | |
| 34 | **Interview.** Walk the six slots. Capture the founder's own words — never |
| 35 | invent specifics they didn't claim. |
| 36 | **Map to primitives.** |
| 37 | |
| 38 | python3 scripts/interview_planner.py \ |
| 39 | --job "Triage overnight support email" --trigger schedule \ |
| 40 | --inputs "gmail,memory" --actions "label,reply" \ |
| 41 | --dod "one label per email, grounded reason, no invented facts" \ |
| 42 | --recurrence daily --out ./my-agent/plan.json |
| 43 | |
| 44 | MCP inputs become **schema-true mock custom tools** in v0 and a **v1 deferral** |
| 45 | to wire the real server. Irreversible actions (send/publish) become **v2 |
| 46 | deferrals** behind `always_ask`. |
| 47 | **Assemble the sheet.** |
| 48 | |
| 49 | python3 scripts/build_sheet_builder.py --plan ./my-agent/plan.json --out-dir ./my-agent |
| 50 | |
| 51 | **Validate limits.** |
| 52 | |
| 53 | python3 scripts/primitives_validator.py --sheet ./my-agent/build-sheet.json |
| 54 | |
| 55 | FAIL blocks progress; fix and re-run. WARN is advisory (surface it). |
| 56 | **Record the plan in the goal.** `goal_state.py set --phase stage-launch |
| 57 | --artifact build_sheet=./my-agent/build-sheet.json`, then advance. |
| 58 | |
| 59 | ## Hard rules |
| 60 | |
| 61 | **v0 is the core job only.** Everything else is a versioned deferral with a |
| 62 | reason and an exact mechanism. |
| 63 | **Their problem, their words.** |
| 64 | **No key yet.** The interview produces a plan; the key is a Phase-2 concern. |
| 65 | |
| 66 | ## Forcing-question library (recommend + cite) |
| 67 | |
| 68 | "What one job — singular?" *Recommend:* the most-repeated task. *Cite:* |
| 69 | interview-to-config.md. Two jobs → two agents. |
| 70 | "Real integration or v0 mock?" *Recommend:* mock; wire MCP as v1. *Cite:* |
| 71 | interview-to-config.md rule 1. |
| 72 | "How do you grade it?" *Recommend:* 3–5 grounded rubric lines. *Cite:* |
| 73 | cma-primitives.md (rubric required). |
| 74 | "Smarter over time?" *Recommend:* attach memory only if yes. *Cite:* |
| 75 | cma-primitives.md (memory limits + injection). |
| 76 | "Once, or on a cadence?" *Recommend:* on-demand v0, schedule as Phase-4. |
| 77 | *Cite:* loops-and-workflows.md. |
| 78 | |
| 79 | ## Tools |
| 80 | |
| 81 | `scripts/interview_planner.py` — answers → primitives skeleton + deferrals. |
| 82 | `scripts/build_sheet_builder.py` — assemble/normalize build-sheet.json. |
| 83 | `scripts/primitives_validator.py` — validate vs CMA limits (PASS/WARN/FAIL). |
| 84 |
Discussion
Browse more free Claude skills or everything in Product.