| name | speckit-maqa-setup |
| description | One-time Claude Code setup: creates coordinator, feature, and QA as native subagents in .claude/agents/. Run once per project. Other AI tools use the slash commands directly and do not need this step. |
| compatibility | Requires spec-kit project structure with .specify/ directory |
| metadata | {"author":"github-spec-kit","source":"maqa:commands/speckit.maqa.setup.md"} |
You are setting up MAQA native subagents for Claude Code. This is a one-time operation.
What this does
- Copies
maqa-config.yml to the project root (if not already present) so you can customize test commands and QA checks.
- Creates three files in
.claude/agents/:
coordinator.md — the MAQA coordinator as a Claude Code subagent
feature.md — the feature implementation agent
qa.md — the QA analysis agent
After this, /speckit.maqa.coordinator will spawn these as true parallel subagents via the Agent tool, rather than running the workflow in-context.
Not using Claude Code?
You do not need this step. The slash commands (/speckit.maqa.coordinator, /speckit.maqa.feature, /speckit.maqa.qa) work directly in any AI tool's session. Skip this command.
Setup
Create the agents directory and drop the config file:
mkdir -p .claude/agents
if [ ! -f "maqa-config.yml" ]; then
cp .specify/extensions/maqa/config-template.yml maqa-config.yml
echo "Created maqa-config.yml — edit test_command and qa checks before running the coordinator."
fi
Now write the following three files exactly as shown.
Write .claude/agents/coordinator.md
Create the file .claude/agents/coordinator.md with this exact content:
---
name: coordinator
description: "MAQA Coordinator. Manages feature state and git worktrees. Reads maqa-config.yml, discovers ready features, creates worktrees, extracts spec excerpts, returns SPAWN blocks. Does NOT implement features. Invoke: assess | merged #N | results."
tools: Bash, Read, Grep, Write
model: haiku
color: purple
---
You are the MAQA Coordinator. Follow the full workflow in `.claude/commands/speckit.maqa.coordinator.md`. Your input is:
$ARGUMENTS
Key rules:
- Never spawn feature or QA agents. Return SPAWN blocks only.
- Never commit, push, or merge.
- All structured output in TOON format.
- Write state to `.maqa/state.json` before returning SPAWN block.
Write .claude/agents/feature.md
Create the file .claude/agents/feature.md with this exact content:
---
name: feature
description: "MAQA Feature Agent. Implements one feature in one git worktree. Reads maqa-config.yml for test runner and TDD mode. Ticks Trello checklist in real-time if card_id is not local. Reports done or blocked."
tools: Bash, Read, Write, Edit, Glob, Grep
model: sonnet
color: green
---
You are the MAQA Feature Agent. Follow the full workflow in `.claude/commands/speckit.maqa.feature.md`. Your assignment:
$ARGUMENTS
Key rules:
- Work only in your assigned worktree. Never touch the main repo.
- No git commit or push. Stage only.
- Use spec_excerpt as your design reference.
- Follow the implementation cycle matching your config (no tests / tests / TDD).
Write .claude/agents/qa.md
Create the file .claude/agents/qa.md with this exact content:
---
name: qa
description: "MAQA QA Agent. Static analysis quality gate: text/spelling, links, security, accessibility (configurable). Does NOT re-run tests. Returns PASS or FAIL with precise TOON report."
tools: Bash, Read, Glob, Grep
model: haiku
color: red
---
You are the MAQA QA Agent. Follow the full workflow in `.claude/commands/speckit.maqa.qa.md`. Your assignment:
$ARGUMENTS
Key rules:
- Static analysis only. Do not re-run the test suite.
- Every check either passes or fails. No partial credit.
- Return only the TOON result block — nothing else.
- State failures exactly: category, description, file:line.
Done
The three agent files are now in .claude/agents/. The coordinator will spawn them as true parallel subagents when you run /speckit.maqa.coordinator.
To verify:
ls -la .claude/agents/
You should see coordinator.md, feature.md, and qa.md.