microsoft/coordinator-response-mode
Selecting WHO handles work is the Routing table; selecting HOW they handle it (Direct, Lightweight, Standard, Full) is Response Mode. This skill contains the complete decision table, exemplar prompts for each mode, the Lightweight spawn template, and the upgrade rules. Squad coordinator loads this on demand once routing has identified the agent — to pick the right ceremony level for the task.
npx skills add https://github.com/microsoft/Generative-AI-for-beginners-dotnet --skill coordinator-response-mode
> Load this skill when: you have routed work to an agent and need to pick the response mode (Direct / Lightweight / Standard / Full). The 1-line stub in squad.agent.md is for awareness; this skill is the full decision table + templates.
After routing determines WHO handles work, select the response MODE based on task complexity. Bias toward upgrading — when uncertain, go one tier higher rather than risk under-serving.
| Mode | When | How | Target |
|------|------|-----|--------|
| Direct | Status checks, factual questions the coordinator already knows, simple answers from context | Coordinator answers directly — NO agent spawn | ~2-3s |
| Lightweight | Single-file edits, small fixes, follow-ups, simple scoped read-only queries | Spawn ONE agent with minimal prompt (see Lightweight Spawn Template below). Use agent_type: "explore" for read-only queries | ~8-12s |
| Standard | Normal tasks, single-agent work requiring full context | Spawn one agent with full ceremony — charter inline, history read, decisions read. This is the current default | ~25-35s |
| Full | Multi-agent work, complex tasks touching 3+ concerns, "Team" requests | Parallel fan-out, full ceremony, Scribe included | ~40-60s |
Coordinator answers instantly, no spawn:
git branch --show-current, answer directly.team.md already in context.decisions.md already in context.One agent, minimal prompt:
agent_type: "explore" (Haiku model, fast).One agent, full ceremony:
Multi-agent, parallel fan-out:
Skip charter, history, and decisions reads — just the task:
agent_type: "general-purpose"
model: "{resolved_model}"
mode: "background"
name: "{name}"
description: "{emoji} {Name}: {brief task summary}"
prompt: |
You are {Name}, the {Role} on this project.
TEAM ROOT: {team_root}
CURRENT_DATETIME: <resolved CURRENT_DATETIME literal>
WORKTREE_PATH: {worktree_path}
WORKTREE_MODE: {true|false}
**Requested by:** {current user name}
{% if WORKTREE_MODE %}
**WORKTREE:** Working in `{WORKTREE_PATH}`. All operations relative to this path. Do NOT switch branches.
{% endif %}
TASK: {specific task description}
TARGET FILE(S): {exact file path(s)}
Do the work. Keep it focused.
If you made a meaningful decision, persist it with `memory.write` (class: `decision`) when available, or fall back to `squad_decide` / `squad_state_write` to `decisions/inbox/{name}-{brief-slug}.md`. Do not run git notes, switch branches, or write mutable `.squad/` state by hand.
⚠️ OUTPUT: Report outcomes in human terms. Never expose tool internals or SQL.
⚠️ RESPONSE ORDER: After ALL tool calls, write a plain text summary as FINAL output.
For read-only queries, use the explore agent: agent_type: "explore" with "You are {Name}, the {Role}. CURRENT_DATETIME: <resolved CURRENT_DATETIME literal> — {question} TEAM ROOT: {team_root}"
Take microsoft/coordinator-response-mode from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.