Testing Skills With Subagents
ed3dai/ed3d-plugins
A skill your agent uses when creating or editing skills, before deployment, to verify they work under pressure and resist rationalization - applies RED-GREEN-REFACTOR cycle to process documentation…
Claude Code Agent Teams - default team-based development with strict TDD pipeline enforcement
$ npx skills add alinaqi/maggy --skill agent-teams -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install alinaqi/maggy agent-teams --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/agent-teams .claude/skills/agent-teams && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "agent-teams" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/agent-teams into .claude/skills/agent-teams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-teams", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/alinaqi/maggy/tree/main/skills/agent-teamsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add alinaqi/maggy --skill agent-teams -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install alinaqi/maggy agent-teams --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/agent-teams .agents/skills/agent-teams && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "agent-teams" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/agent-teams into .agents/skills/agent-teams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-teams", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alinaqi/maggy --skill agent-teams -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install alinaqi/maggy agent-teams --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/agent-teams .cursor/skills/agent-teams && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "agent-teams" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/agent-teams into .cursor/skills/agent-teams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-teams", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/alinaqi/maggy.git --path skills/agent-teams--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add alinaqi/maggy --skill agent-teams -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install alinaqi/maggy agent-teams --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/agent-teams .gemini/skills/agent-teams && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "agent-teams" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/agent-teams into .gemini/skills/agent-teams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-teams", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install alinaqi/maggy agent-teamsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add alinaqi/maggy --skill agent-teams -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/agent-teams .github/skills/agent-teams && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "agent-teams" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/agent-teams into .github/skills/agent-teams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-teams", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alinaqi/maggy --skill agent-teams -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install alinaqi/maggy agent-teams --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/alinaqi/maggy.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/agent-teams .opencode/skills/agent-teams && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "agent-teams" agent skill from https://github.com/alinaqi/maggy/tree/main/skills/agent-teams into .opencode/skills/agent-teams/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agent-teams", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
agent-teamsClaude Code Agent Teams - default team-based development with strict TDD pipeline enforcement
Agent Teams is an agent skill from alinaqi/maggy. Claude Code Agent Teams - default team-based development with strict TDD pipeline enforcement
Its SKILL.md is about 5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files (for example `agents/code-review.md`, `agents/feature.md` and `agents/merger.md`).
It sits in Testing & QA, covering Test-driven development. The repository describes itself as: What started as an opinionated Claude Code setup kit is now an autonomous AI engineering command center. The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 72a456e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Agent Teams loads about 5k tokens when it runs. Until then it costs about 26 tokens; SKILL.md has 1,331 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
│ Dependency audit, .env validation │Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from alinaqi/maggy at commit 72a456e, republished under its MIT licence (© alinaqi). 1,331 words, ~4,995 tokens.
.claude/skills/agent-teams/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Purpose: Every project initialized with Maggy runs as a coordinated team of AI agents. This is the default workflow, not optional. Teams enforce a strict TDD pipeline where no step can be skipped.
Setup: Agent definitions go in .claude/agents/ with proper frontmatter (name, description, model, tools, disallowedTools, maxTurns, effort). See agent files for the format.
Every feature follows an immutable pipeline enforced by task dependencies:
┌─────────────────────────────────────────────────────────────────┐
│ STRICT FEATURE PIPELINE (IMMUTABLE) │
│ ────────────────────────────────────────────────────────────── │
│ │
│ 1. SPEC Write feature specification │
│ ↓ (Feature Agent) │
│ 2. REVIEW Quality Agent reviews spec completeness │
│ ↓ (Quality Agent) │
│ 3. TESTS Write failing tests for all acceptance criteria │
│ ↓ (Feature Agent) │
│ 4. RED VERIFY Quality Agent confirms ALL tests FAIL │
│ ↓ (Quality Agent) │
│ 5. IMPLEMENT Write minimum code to pass tests │
│ ↓ (Feature Agent) │
│ 6. GREEN VERIFY Quality Agent confirms ALL tests PASS + coverage│
│ ↓ (Quality Agent) │
│ 7. VALIDATE Lint + type check + full test suite │
│ ↓ (Feature Agent) │
│ 8. CODE REVIEW Multi-engine review, block on Critical/High │
│ ↓ (Code Review Agent) │
│ 9. SECURITY OWASP scan, secrets detection, dependency audit │
│ ↓ (Security Agent) │
│ 10. BRANCH+PR Create feature branch, stage files, create PR │
│ (Merger Agent) │
│ │
│ No step can be skipped. Task dependencies enforce ordering. │
│ Quality Agent verifies RED/GREEN transitions. │
│ Code Review + Security Agents gate the merge path. │
│ Merger Agent handles branching and PR creation. │
└─────────────────────────────────────────────────────────────────┘Every project spawns 5 permanent agents + N feature agents:
┌─────────────────────────────────────────────────────────────────┐
│ DEFAULT TEAM ROSTER │
│ ────────────────────────────────────────────────────────────── │
│ │
│ PERMANENT AGENTS (always present) │
│ ───────────────────────────────── │
│ Team Lead Orchestration, task breakdown, assignment │
│ Uses delegate mode - NEVER writes code │
│ │
│ Quality Agent TDD verification (RED/GREEN phases) │
│ Coverage gates (>= 80%) │
│ Spec completeness review │
│ │
│ Security Agent OWASP scanning, secrets detection │
│ Dependency audit, .env validation │
│ Blocks on Critical/High │
│ │
│ Code Review Agent Multi-engine code review │
│ Claude / Codex / Gemini / All │
│ Blocks on Critical/High │
│ │
│ Merger Agent Creates feature branches │
│ Stages feature-specific files only │
│ Creates PRs via gh CLI │
│ NEVER merges - only creates PRs │
│ │
│ DYNAMIC AGENTS (one per feature) │
│ ──────────────────────────────── │
│ Feature Agent Implements one feature end-to-end │
│ (x N features) Follows strict pipeline above │
│ Uses Ralph loops for implementation │
│ │
└─────────────────────────────────────────────────────────────────┘| Agent | Role | Plan Mode | Can Edit Code |
|---|---|---|---|
| team-lead | Orchestration, task breakdown, assignment | No (delegate mode) | No |
| quality-agent | TDD verification, coverage gates | Yes | No (read-only) |
| security-agent | OWASP scanning, secrets detection | Yes | No (read-only) |
| review-agent | Multi-engine code review | Yes | No (read-only) |
| merger-agent | Branch creation, PR management | No | No (git only) |
| feature-{name} | Feature implementation (one per feature) | No | Yes |
The Team Lead is the orchestrator. It NEVER writes code.
_project_specs/features/*.md to identify all featuresshutdown_request to all agents when all PRs are createdDelegate mode is mandatory. The team lead uses only:
Each feature agent MUST follow this exact sequence. Task dependencies enforce ordering - a feature agent cannot start step N+1 until step N is marked complete and verified.
_project_specs/features/{feature-name}.md/ralph-loop) for iterative implementation/code-review on changed filesFor each feature "X", the team lead creates these 10 tasks with strict ordering:
┌────────────────────────────────────────────────────────────────┐
│ TASK CHAIN FOR FEATURE "X" │
│ │
│ Task 1: X-spec │
│ owner: feature-X │
│ blockedBy: (none) │
│ ↓ │
│ Task 2: X-spec-review │
│ owner: quality-agent │
│ blockedBy: X-spec │
│ ↓ │
│ Task 3: X-tests │
│ owner: feature-X │
│ blockedBy: X-spec-review │
│ ↓ │
│ Task 4: X-tests-fail-verify │
│ owner: quality-agent │
│ blockedBy: X-tests │
│ ↓ │
│ Task 5: X-implement │
│ owner: feature-X │
│ blockedBy: X-tests-fail-verify │
│ ↓ │
│ Task 6: X-tests-pass-verify │
│ owner: quality-agent │
│ blockedBy: X-implement │
│ ↓ │
│ Task 7: X-validate │
│ owner: feature-X │
│ blockedBy: X-tests-pass-verify │
│ ↓ │
│ Task 8: X-code-review │
│ owner: review-agent │
│ blockedBy: X-validate │
│ ↓ │
│ Task 9: X-security-scan │
│ owner: security-agent │
│ blockedBy: X-code-review │
│ ↓ │
│ Task 10: X-branch-pr │
│ owner: merger-agent │
│ blockedBy: X-security-scan │
└────────────────────────────────────────────────────────────────┘Multiple features run their chains in parallel. Shared agents process tasks as they unblock:
Feature: auth Feature: dashboard Feature: payments
auth-spec dash-spec pay-spec
auth-spec-review dash-spec-review pay-spec-review
auth-tests dash-tests pay-tests
auth-fail-verify dash-fail-verify pay-fail-verify
auth-implement dash-implement pay-implement
auth-pass-verify dash-pass-verify pay-pass-verify
auth-validate dash-validate pay-validate
auth-code-review dash-code-review pay-code-review
auth-security dash-security pay-security
auth-branch-pr dash-branch-pr pay-branch-pr
| | |
v v v
[All chains run simultaneously]
[Quality Agent handles all verify tasks as they unblock]
[Review Agent handles all review tasks as they unblock]
[Security Agent handles all scan tasks as they unblock]
[Merger Agent handles all branch-pr tasks as they unblock]Feature Agent -> Quality Agent: "Tests written for auth, ready for RED verify"
Quality Agent -> Feature Agent: "All 7 tests fail as expected. Proceed to implement"
Feature Agent -> Review Agent: "Implementation complete, ready for code review"
Review Agent -> Feature Agent: "2 High issues found: [details]. Fix before proceeding"
Security Agent -> Merger Agent: "Security scan passed for auth feature"
Merger Agent -> Team Lead: "PR #42 created for auth feature"The team lead spawns one feature agent per feature:
_project_specs/features/*.mdfeature-{feature-name}.claude/agents/feature.md definitionIf project has 3 features: auth, dashboard, payments
feature-auth, feature-dashboard, feature-paymentsOne branch per feature. One PR per feature.
Branch naming: feature/{feature-name}
PR title: feat({feature-name}): {short description}
PR body: Generated from spec + test results + review + security resultsThe Merger Agent:
git checkout main && git pull origin maingit checkout -b feature/{feature-name}git add -A)git push -u origin feature/{feature-name}gh pr create with full template including:| Existing Skill | How Agent Teams Uses It |
|---|---|
| base.md | TDD workflow, atomic todos, simplicity rules - all agents follow |
| code-review.md | Review Agent executes /code-review per this skill |
| security.md | Security Agent follows OWASP patterns from this skill |
| session-management.md | Each agent maintains its own session state |
| iterative-development.md | Feature agents use Stop hook TDD loops for implementation |
| project-tooling.md | Merger Agent uses gh CLI for branches and PRs |
| team-coordination.md | Superseded by agent-teams for automated coordination |
| icpg.md | Team lead creates ReasonNodes. Feature agents query constraints/risk. Quality agent checks drift. PreToolUse hook injects context. Stop hook auto-records symbols. |
| code-graph.md | Feature agents use graph for symbol lookup alongside iCPG for intent context |
// settings.json or environment
{
"env": {
"agent teams (via .claude/agents/ definitions)": "1"
}
}.claude/
agents/ # Agent definitions (from agent-teams skill)
team-lead.md
quality.md
security.md
code-review.md
merger.md
feature.md
skills/
agent-teams/ # This skill
SKILL.md
agents/ # Agent definition templates
base/
code-review/
security/
...After project setup completes, Phase 6 asks for features and spawns the team automatically.
For existing projects: run /spawn-team to spawn the team from existing feature specs.
When Docker/OrbStack is available, feature agents run in Polyphony containers by default. The team lead and shared agents (quality, security, review, merger) still run natively — they only read and coordinate.
| Aspect | Without Polyphony | With Polyphony |
|---|---|---|
| Feature agents | Shared filesystem | Own container + git branch |
| File conflicts | Team lead must serialize | Impossible (isolated clones) |
| Test execution | Shared, can interfere | Independent per container |
| Branch strategy | Merger agent creates branches | Each container has its own branch |
/spawn-team detects Docker + polyphony CLIpolyphony spawn "$FEATURE" --type featureIf Docker is not available, /spawn-team falls back to the native Agent tool (shared filesystem). A note is printed:
"Running without container isolation (Docker not found). Agents share the workspace."
/spawn-team (tasks persist)© alinaqi, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files in skills/agent-teams of alinaqi/maggy.
Open the folder on GitHubat commit 72a456e
Agent Teams next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Agent Teams this skillalinaqi/maggy | 707 | — | ~5k | Automated safety check: Notes | MIT | |
| Testing Skills With Subagentsed3dai/ed3d-plugins | 250 | 3 repos | ~3.5k | Automated safety check: Pass | None | |
| Feature Next Task Workflowmylukin/agent-foreman | 250 | — | ~927 | Automated safety check: Notes | None | |
| Agent Task Backlog Initializermylukin/agent-foreman | 250 | — | ~681 | Automated safety check: Notes | None | |
| Foreman VerifyVisionForge-OU/foreman | 443 | — | ~901 | Automated safety check: Pass | Custom licence | |
| Superpowers Feature WorkflowSYZ-Coder/superpowers-openspec-team-skills | 196 | — | ~891 | Automated safety check: Pass | MIT |
ed3dai/ed3d-plugins
A skill your agent uses when creating or editing skills, before deployment, to verify they work under pressure and resist rationalization - applies RED-GREEN-REFACTOR cycle to process documentation…
mylukin/agent-foreman
Enforces a strict next-implement-check-done cycle through the agent-foreman CLI so an agent works one backlog task at a time, with optional TDD gating.
mylukin/agent-foreman
Builds a feature backlog, progress log, and optional strict test enforcement for agent-driven work with a single init command.
VisionForge-OU/foreman
Headless self-verification gate a Foreman worker runs before it claims an issue is done.
SYZ-Coder/superpowers-openspec-team-skills
A skill your agent uses when feature work needs the Superpowers stages before or during implementation: brainstorming, design confirmation, implementation planning, worktree setup, test-driven…
novuhq/novu
Implement planned work by fanning out parallel subagents on isolated worktrees — TDD at pre-agreed seams, per-slice nv-park-and-review, merge back, full suite once at the end.
alinaqi/maggy
AI Engine Optimization - semantic triples, page templates, content clusters for AI citations
alinaqi/maggy
Latest AI models reference - Claude, OpenAI, Gemini, Eleven Labs, Replicate
alinaqi/maggy
Android Java development with MVVM, ViewBinding, and Espresso testing
alinaqi/maggy
Android Kotlin development with Coroutines, Jetpack Compose, Hilt, and MockK testing
alinaqi/maggy
AI-driven testing agent that auto-discovers, generates, executes, evaluates, and fixes tests for any project type
alinaqi/maggy
AWS Aurora Serverless v2, RDS Proxy, Data API, connection pooling
Categories
Claude Code Agent Teams - default team-based development with strict TDD pipeline enforcement. Agent Teams is an agent skill from alinaqi/maggy.
Agent Teams fits situations like: tasks that involve Test-driven development.
Run `npx skills add alinaqi/maggy --skill agent-teams -a claude-code`. Or copy the skill folder (skills/agent-teams in alinaqi/maggy) into .claude/skills/agent-teams in your project. Claude Code loads it when a task matches its description.
Run `npx skills add alinaqi/maggy --skill agent-teams -a codex`. Or copy the skill folder (skills/agent-teams in alinaqi/maggy) into .agents/skills/agent-teams in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alinaqi/maggy --skill agent-teams -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agent-teams, .gemini/skills/agent-teams, .github/skills/agent-teams and .opencode/skills/agent-teams in your project.
Going by SKILL.md and its folder, Agent Teams needs the command-line tools its instructions call (git and gh).
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Agent Teams is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Agent Teams: Testing Skills With Subagents (ed3dai/ed3d-plugins, 250 stars), Feature Next Task Workflow (mylukin/agent-foreman, 250 stars), Agent Task Backlog Initializer (mylukin/agent-foreman, 250 stars) and Foreman Verify (VisionForge-OU/foreman, 443 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
alinaqi (a GitHub user) maintains it in alinaqi/maggy, which has 707 GitHub stars. The repository holds 71 skills in this directory. The repository was last updated on September 24, 2026.
Source: alinaqi/maggy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.