Skip to content
cccskills
FreePublished on GitHub

team-dispatch

Turns a plan phase into a PhaseSpec v1 and dispatches it to a specialist subagent via the Agent tool. Subagent reads files itself, returns a structured result, the result is logged into progress.md. Markdown is the shared state; no in-memory shared store across agents.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md5.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Team Dispatch

Subagent dispatch arm. The PhaseSpec v1 contract is the only handoff format used between parent and child agents.

PhaseSpec v1 (the contract)

phase_id: <stable id, used as filename prefix and progress.md anchor>
parent_plan_ref: <pointer to task_plan.md#phase-N>
goal: <one sentence>
done_when:                       # testable exit criteria, no goalpost moving
  - <criterion 1>
  - <criterion 2>
inputs:
  files: [<read-only file refs>]
  memory_keys: [<keys for memory-layer recall>]
tools_allowed: [<list>]
tools_denied: [<list>]
budget:
  max_tool_calls: <int>
  max_wall_seconds: <int>
hitl_checkpoints: [<named checkpoint strings the child surfaces>]
return_contract:
  format: markdown+frontmatter
  fields: [summary, artifacts, open_questions, next_phase_hint]

Six load-bearing properties:

  1. parent_plan_ref is a pointer (file path with anchor), not a copy of the phase text. The child reads the file itself.
  2. done_when is testable. Without it, completion is hallucinatable.
  3. tools_allowed and tools_denied map onto the Claude Code permission model and any other framework's permission story.
  4. hitl_checkpoints are named strings the child surfaces by printing HITL_CHECKPOINT: <name> to stdout.
  5. return_contract forces structured output. The child returns markdown with frontmatter; the parent parses it deterministically.
  6. phase_id doubles as the filename prefix for any artifacts the child writes.

Available subagents

Each is defined as agents/<name>.md in this plugin.

SubagentWhen to pick
plannerA phase exists in task_plan.md but has no PhaseSpec yet. The planner drafts one.
executorDefault. A PhaseSpec exists; the work is straightforward; one specialist runs it end to end.
reviewerAuto-approve mode is on; we need a surrogate human to check the executor's return against done_when.
memory-keeperStop hook fired; we need to classify session output into scratch/WHERE/WHY.
design-archeologist/mddesign:harvest invoked; long-running codebase scan needed.

Operation: /mddesign:team dispatch <phase_id> [--agent <name>]

Step 1: Resolve the phase

  • Read task_plan.md.
  • Find the section header matching phase_id (case-insensitive).
  • If not found, refuse.

Step 2: Pick the subagent

  • If --agent <name> was passed, use it.
  • Else infer from the phase: phases with "design", "ui", "tokens" in the title default to design-archeologist if /mddesign:harvest-shaped, else executor. All others default to executor.

Step 3: Build the PhaseSpec

  • Pull goal from the phase title or first bullet.
  • Pull done_when from the phase's "Status / Done When / Acceptance" section if it exists, else infer from the bullets and ask the user to confirm.
  • Set inputs.files to [task_plan.md, findings.md] plus any files the phase mentions.
  • Set tools_allowed to a sensible subset based on the phase (default: Read Write Edit Bash Glob Grep).
  • Set budget defaults: max_tool_calls: 80, max_wall_seconds: 600.
  • Set hitl_checkpoints to [before_commit, before_destructive_edit] plus phase-specific ones.

Step 4: HITL gate before dispatch

  • Print the full PhaseSpec to the user.
  • The PreToolUse hook intercepts the next Agent tool invocation (named checkpoint: before_subagent_dispatch) and requires approval.

Step 5: Dispatch

  • Call the Agent tool with subagent_type: <chosen subagent> and a prompt that contains:
    • The full PhaseSpec YAML
    • Plain-English instruction: "You are running PhaseSpec phase-<id>. Read every file in inputs.files. Do the work. Return a markdown document with the four fields in return_contract. If you hit any hitl_checkpoint, print HITL_CHECKPOINT: <name> and stop."

Step 6: Receive the return, validate

  • Parse the subagent's final message.
  • Verify it has the four required fields (summary, artifacts, open_questions, next_phase_hint).
  • If invalid, log the failure and surface to user.

Step 7: Write to progress.md

Append under ### Phase <phase_id> Result:

### Phase <phase_id> Result

**Subagent:** <name>
**Status:** complete | partial | blocked
**Wall time:** <seconds>
**Tool calls used:** <int>

#### Summary
<from return.summary>

#### Artifacts
<from return.artifacts>

#### Open questions
<from return.open_questions>

#### Next phase hint
<from return.next_phase_hint>

Step 8: Optional review

  • If auto-approve mode is on, dispatch reviewer with the executor's return + the PhaseSpec.
  • If reviewer says approve, mark phase as complete in progress.md.
  • If reject, append the reason to progress.md and surface to user.
  • If escalate, halt and ask user.

Core rules

  • Subagents never edit task_plan.md directly. Only this skill writes to progress.md, and only under ### Phase <id> Result.
  • The PhaseSpec is the entire handoff. Subagents do not see the parent conversation.
  • Markdown on disk is the shared state. No in-memory shared store across agents.
  • Every dispatch goes through the before_subagent_dispatch HITL gate.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Continuously bridges DESIGN.md into the active planning phase. When the user is working on a UI phase, reads the project's DESIGN.md, extracts the relevant token slice, and appends it to findings.md under "## Design Context" so the agent sees design constraints in its attention window. Never edits DESIGN.md, never edits task_plan.md. Idles when DESIGN.md is absent.

The English summary is being prepared. Showing the original description.

OthmanAdi/MDDesign14Updated Apr 25, 2026

Harvests a DESIGN.md from an existing codebase, critiques it against the actual code, and applies safe quick-win fixes. Three modes harvest / critique / fix. Shells out to `npx @google/design.md lint` for structural validation; never reimplements Google's linter. The on-ramp that makes DESIGN.md adoptable for every existing repo, not just greenfield projects.

The English summary is being prepared. Showing the original description.

OthmanAdi/MDDesign14Updated Apr 25, 2026

Three-tier memory layer for the orchestrator. Routes scratch (file-tier), WHERE (QMD), and WHY (MemPalace) through the existing code-memory-router slash command. Never edits planning files directly. Every WHY-tier promotion goes through the HITL gate.

The English summary is being prepared. Showing the original description.

OthmanAdi/MDDesign14Updated Apr 25, 2026

Makes sessions durable across `/clear`, machine reboots, and IDE switches. SessionStart catchup pulls scratch + last MemPalace recall + planning files into context. Stop promotion writes a handoff note and runs memory-keeper. Manual `/mddesign:handoff` re-runs either at any time.

The English summary is being prepared. Showing the original description.

OthmanAdi/MDDesign14Updated Apr 25, 2026

See all skills by OthmanAdi

Report a problem with this skill