From mddesign
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.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mddesign:team-dispatchThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Subagent dispatch arm. The PhaseSpec v1 contract is the only handoff format used between parent and child agents.
Subagent dispatch arm. The PhaseSpec v1 contract is the only handoff format used between parent and child agents.
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:
parent_plan_ref is a pointer (file path with anchor), not a copy of the phase text. The child reads the file itself.done_when is testable. Without it, completion is hallucinatable.tools_allowed and tools_denied map onto the Claude Code permission model and any other framework's permission story.hitl_checkpoints are named strings the child surfaces by printing HITL_CHECKPOINT: <name> to stdout.return_contract forces structured output. The child returns markdown with frontmatter; the parent parses it deterministically.phase_id doubles as the filename prefix for any artifacts the child writes.Each is defined as agents/<name>.md in this plugin.
| Subagent | When to pick |
|---|---|
planner | A phase exists in task_plan.md but has no PhaseSpec yet. The planner drafts one. |
executor | Default. A PhaseSpec exists; the work is straightforward; one specialist runs it end to end. |
reviewer | Auto-approve mode is on; we need a surrogate human to check the executor's return against done_when. |
memory-keeper | Stop hook fired; we need to classify session output into scratch/WHERE/WHY. |
design-archeologist | /mddesign:harvest invoked; long-running codebase scan needed. |
/mddesign:team dispatch <phase_id> [--agent <name>]task_plan.md.phase_id (case-insensitive).--agent <name> was passed, use it.design-archeologist if /mddesign:harvest-shaped, else executor. All others default to executor.goal from the phase title or first bullet.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.inputs.files to [task_plan.md, findings.md] plus any files the phase mentions.tools_allowed to a sensible subset based on the phase (default: Read Write Edit Bash Glob Grep).budget defaults: max_tool_calls: 80, max_wall_seconds: 600.hitl_checkpoints to [before_commit, before_destructive_edit] plus phase-specific ones.Agent tool invocation (named checkpoint: before_subagent_dispatch) and requires approval.Agent tool with subagent_type: <chosen subagent> and a prompt that contains:
HITL_CHECKPOINT: <name> and stop."summary, artifacts, open_questions, next_phase_hint).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>
reviewer with the executor's return + the PhaseSpec.approve, mark phase as complete in progress.md.reject, append the reason to progress.md and surface to user.escalate, halt and ask user.task_plan.md directly. Only this skill writes to progress.md, and only under ### Phase <id> Result.before_subagent_dispatch HITL gate.npx claudepluginhub othmanadi/mddesign --plugin mddesignProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.