New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Phase 1 of building a Claude Managed Agent

Phase 1 — Interview → Plan

by alirezarezvani · MIT license · ★ 26,349 on GitHub · v2.11.2 · updated Aug 30

Phase 1 — Interview → Plan cover

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…

---
name: interview
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).
version: 2.11.2
author: Alireza Rezvani
license: MIT
tags: [cma, interview, scoping, build-sheet, primitives, deferrals, eval-plan]
compatible_tools: [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`](../../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)

Overview

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.

Manual install (npx, ZIP)
Claude Codenpx skills add alirezarezvani/claude-skills --skill interview -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/alirezarezvani/claude-skills/tar.gz/19392f7a0826 \ | tar -xz -C ~/.claude/skills --strip-components=3 claude-skills-19392f7a0826/agent-launcher/skills/interview
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/8659f77f8e1380ded667/interview.zip" -OutFile "$env:TEMP\interview.zip"; Expand-Archive "$env:TEMP\interview.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md4.3 KB
  • README.md1.1 KB
  • scripts/3 files · 18.4 KB
Read the files here
alirezarezvani/19392f75 files
Shared references2SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
Show the full text84 lines

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

  1. Interview. Walk the six slots. Capture the founder's own words — never invent specifics they didn't claim.
  2. Map to primitives.
    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.json
    
    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 always_ask.
  3. Assemble the sheet.
    python3 scripts/build_sheet_builder.py --plan ./my-agent/plan.json --out-dir ./my-agent
    
  4. Validate limits.
    python3 scripts/primitives_validator.py --sheet ./my-agent/build-sheet.json
    
    FAIL blocks progress; fix and re-run. WARN is advisory (surface it).
  5. 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)

  1. "What one job — singular?" Recommend: the most-repeated task. Cite: interview-to-config.md. Two jobs → two agents.
  2. "Real integration or v0 mock?" Recommend: mock; wire MCP as v1. Cite: interview-to-config.md rule 1.
  3. "How do you grade it?" Recommend: 3–5 grounded rubric lines. Cite: cma-primitives.md (rubric required).
  4. "Smarter over time?" Recommend: attach memory only if yes. Cite: cma-primitives.md (memory limits + injection).
  5. "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---
2name: interview
3description: 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).
4version: 2.11.2
5author: Alireza Rezvani
6license: MIT
7tags: [cma, interview, scoping, build-sheet, primitives, deferrals, eval-plan]
8compatible_tools: [claude-code, codex-cli, cursor, antigravity, opencode, gemini-cli]
9---
10 
11# Phase 1 — Interview → Plan
12 
13Open warmly with one or two examples from
14[`../../references/examples-bank.md`](../../references/examples-bank.md), then interview
15the founder into a **build sheet**. No API key needed in this phase — the output
16is 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 
29See [`../../references/interview-to-config.md`](../../references/interview-to-config.md)
30for the full mapping.
31 
32## Workflow
33 
341. **Interview.** Walk the six slots. Capture the founder's own words — never
35 invent specifics they didn't claim.
362. **Map to primitives.**
37 ```bash
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`.
473. **Assemble the sheet.**
48 ```bash
49 python3 scripts/build_sheet_builder.py --plan ./my-agent/plan.json --out-dir ./my-agent
50 ```
514. **Validate limits.**
52 ```bash
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).
565. **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 
681. "What one job — singular?" *Recommend:* the most-repeated task. *Cite:*
69 interview-to-config.md. Two jobs → two agents.
702. "Real integration or v0 mock?" *Recommend:* mock; wire MCP as v1. *Cite:*
71 interview-to-config.md rule 1.
723. "How do you grade it?" *Recommend:* 3–5 grounded rubric lines. *Cite:*
73 cma-primitives.md (rubric required).
744. "Smarter over time?" *Recommend:* attach memory only if yes. *Cite:*
75 cma-primitives.md (memory limits + injection).
765. "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 
View all files on GitHub →

Details

Version
2.11.2
Updated
Aug 30, 2026
License
MIT
Stars on the repo
★ 26,349
Checked
Source
alirezarezvani/claude-skills ↗
Creator
alirezarezvani · 363 listings
View creator

Similar skills

See all →
SkillDesign a 360-degree feedback survey or write a structured360-Degree Feedback Template Skillmohitagw15856/pm-claude-skills · by mohitagw15856Design a 360-degree feedback survey or write a structured 360 feedback report. Use when asked to build a 360 feedback process, write 360 feedback for a colleague, design a feedback survey, or produce a feedback report. Produces either a complete survey instrument with rating scales and open-ended questions, or a structured narrative feedback report with themes, strengths, and development areas.★ 1.4k GitHub starsSkillExtracting first-party expertise from a subject-matterExpert interviewinhouseseo/superseo-skills · by inhouseseoUse when extracting first-party expertise from a subject-matter expert before writing content. Produces a knowledge document of contrarian takes, specific examples, and surprising outcomes that AI can't fabricate.★ 353 GitHub starsSkillStart of the UGC pipeline for persona researchPersona & ScriptTheMattBerman/scrollclaw · by TheMattBermanStart of the UGC pipeline for persona research, creator profiles, format selection, and scriptwriting. Use when the user is clearly asking for messaging work rather than broad full-pipeline orchestration.★ 71 GitHub starsSkillTell us who you need answers from and what you're missingTo questionnairemattpocock/skills · by mattpocockTell us who you need answers from and what you're missing; get back a clean form you send them to fill in.★ 267k GitHub starsSkillExtracts what the user actually wants instead of what theyInterview meaddyosmani/agent-skills · by addyosmaniExtracts what the user actually wants instead of what they think they should want. Achieves this through one-question-at-a-time interview until ~95% confidence about the underlying intent. Use when an ask is underspecified ("build me X" without "for whom" or "why now"), when the user explicitly invokes ("interview me", "grill me", "are we sure?", "stress-test my thinking"), or when you catch yourself silently filling in ambiguous requirements before any plan, spec, or code exists.★ 98.7k GitHub starsSkillMarketes psychology & mental modelsMarketing Psychology & Mental Modelscoreyhaines31/marketingskills · by coreyhaines31When the user wants to apply psychological principles, mental models, or behavioral science to marketing. Also use when the user mentions 'psychology,' 'mental models,' 'cognitive bias,' 'persuasion,' 'behavioral science,' 'why people buy,' 'decision-making,' 'consumer behavior,' 'anchoring,' 'social proof,' 'scarcity,' 'loss aversion,' 'framing,' or 'nudge.' Use this whenever someone wants to understand or leverage how people think and make decisions in a marketing context. For applying psychology to specific pages, see cro; for pricing tactics, see pricing; for copy framing, see copywriting.★ 51.1k GitHub stars

More from alirezarezvani

SkillResume a paused experiment/ar:ar-resume — Resume Experimentalirezarezvani/claude-skills · by alirezarezvaniResume a paused experiment. Checkout the experiment branch, read results history, continue iterating. Use when the user runs /ar:ar-resume or asks to pick up a previously started autoresearch experiment.★ 26.3k GitHub starsSkillShow experiment dashboard with results, active loops/ar:ar-status — Experiment Dashboardalirezarezvani/claude-skills · by alirezarezvaniShow experiment dashboard with results, active loops, and progress. Use when the user runs /ar:ar-status or asks how an autoresearch experiment is going.★ 26.3k GitHub starsSkillStart an autonomous experiment loop with user-selected/ar:loop — Autonomous Experiment Loopalirezarezvani/claude-skills · by alirezarezvaniStart an autonomous experiment loop with user-selected interval (10min, 1h, daily, weekly, monthly). Uses CronCreate for scheduling. Use when the user runs /ar:loop or asks to run an autoresearch experiment continuously on a schedule.★ 26.3k GitHub starsSkillRun a single experiment iteration/ar:run — Single Experiment Iterationalirezarezvani/claude-skills · by alirezarezvaniRun a single experiment iteration. Edit the target file, evaluate, keep or discard. Use when the user runs /ar:run or asks for one manual autoresearch iteration.★ 26.3k GitHub starsSkillSet up a new autoresearch experiment interactively/ar:setup — Create New Experimentalirezarezvani/claude-skills · by alirezarezvaniSet up a new autoresearch experiment interactively. Collects domain, target file, eval command, metric, direction, and evaluator. Use when the user runs /ar:setup or asks to start optimizing a file with the autoresearch loop.★ 26.3k GitHub starsSkill/cs:boardroom <brief/cs:boardroom — Multi-Role Boardroom Deliberationalirezarezvani/claude-skills · by alirezarezvani/cs:boardroom <brief> — 6-phase multi-role deliberation across the C-suite with Phase 2 isolation, critic pre-screen, and synthesis. Outputs a board memo. Use when a decision spans multiple executive domains — e.g. a pricing change touching finance, positioning, and product, or a raise-vs-cut runway call.★ 26.3k GitHub stars