{"id":47940660,"url":"https://github.com/zakame/brooks-agent-team","last_synced_at":"2026-04-04T08:01:29.170Z","repository":{"id":344492161,"uuid":"1180210252","full_name":"zakame/brooks-agent-team","owner":"zakame","description":"A Claude Code \u0026 Copilot CLI plugin implementing the Surgical Team model. Organize AI-assisted development using principles from The Mythical Man-Month.","archived":false,"fork":false,"pushed_at":"2026-03-15T08:55:18.000Z","size":67,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-03-15T09:39:59.487Z","etag":null,"topics":["agent-orchestration","agentic-workflow","ai-plugin","automation","claude-code","github-copilot-cli","llm-orchestration","multi-agent","mythical-man-month","software-engineering","surgical-team"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zakame.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-12T20:15:38.000Z","updated_at":"2026-03-14T18:40:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zakame/brooks-agent-team","commit_stats":null,"previous_names":["zakame/brooks-agent-team"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/zakame/brooks-agent-team","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakame%2Fbrooks-agent-team","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakame%2Fbrooks-agent-team/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakame%2Fbrooks-agent-team/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakame%2Fbrooks-agent-team/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zakame","download_url":"https://codeload.github.com/zakame/brooks-agent-team/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakame%2Fbrooks-agent-team/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31392188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T04:26:24.776Z","status":"ssl_error","status_checked_at":"2026-04-04T04:23:34.147Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-orchestration","agentic-workflow","ai-plugin","automation","claude-code","github-copilot-cli","llm-orchestration","multi-agent","mythical-man-month","software-engineering","surgical-team"],"created_at":"2026-04-04T08:00:47.695Z","updated_at":"2026-04-04T08:01:29.163Z","avatar_url":"https://github.com/zakame.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# brooks-agent-team\n\nA skills plugin that organizes AI-assisted software development around Fred Brooks' **Surgical Team** model from *The Mythical Man-Month* (1975). Compatible with **GitHub Copilot CLI**, **Claude Code**, and **OpenCode**.\n\nInstead of every team member working on all parts of a system, the Surgical Team concentrates critical work in one skilled \"surgeon\" (chief programmer), supported by specialized roles that keep the surgeon focused and productive. This plugin maps those roles to agent skills and dispatch templates.\n\n## Inspiration\n\nThis project draws from two sources:\n\n**Fred Brooks' Surgical Team** (Chapter 3, *The Mythical Man-Month*, 1975), originally conceived by Harlan Mills: a small, highly specialized team organized around a single chief programmer who writes all critical code, supported by a copilot, tester, toolsmith, editor, administrator, language lawyer, and program clerk — each with a distinct, non-overlapping responsibility.\n\n**[Superpowers by Jesse Vincent](https://github.com/obra/superpowers)**: a Claude Code skills framework that demonstrated how composable, role-aware skills can guide an AI agent through disciplined software development workflows. The structure, conventions, and plugin format of this project follow Superpowers' design closely.\n\nThe `SKILL.md` format used here conforms to the [Agent Skills open standard](https://github.com/agentskills/agentskills), which is supported by GitHub Copilot CLI, Claude Code, and OpenCode.\n\n## The Team\n\n| Role | Skill | Responsibility |\n|------|-------|----------------|\n| **Surgeon** | `surgeon` | Chief programmer — owns all critical decisions and implementation |\n| **Copilot** | `copilot` | Alter ego — reviews all of the Surgeon's work against design intent |\n| **Tester** | `tester` | Adversarial quality — finds failure modes the Surgeon was too optimistic to anticipate |\n| **Administrator** | `administrator` | Project tracking — manages tasks, blockers, and scope so the Surgeon doesn't have to |\n| **Editor** | `editor` | Documentation — ensures everything written about the code is accurate and complete |\n| **Toolsmith** | `toolsmith` | Automation — builds utilities that make the Surgeon permanently faster |\n| **Language Lawyer** | `language-lawyer` | Edge cases — answers the language/framework questions where being wrong causes subtle bugs |\n| **Program Clerk** | `program-clerk` | Code organization — keeps the codebase navigable, names accurate, dependencies clean |\n\n**You are always the Surgeon.** The other roles are invoked as needed — either as inline guidance (the skill guides Claude to perform that role temporarily) or as dispatched subagents (for independent, parallelizable work like code review or test writing).\n\n## Installation\n\n### GitHub Copilot CLI\n\nClone this repository to a stable location:\n\n```bash\ngit clone https://github.com/zakame/brooks-agent-team ~/.copilot/plugins/brooks-agent-team\n```\n\nRegister the skills directory in a Copilot CLI session:\n\n```\n/skills add ~/.copilot/plugins/brooks-agent-team/skills\n```\n\nThis makes all team skills available. To persist across sessions, add the directory permanently using `/skills add`. Skills are immediately usable — Copilot will invoke them automatically based on context, or you can name them explicitly in your prompt:\n\n```\nUse the surgeon skill to start implementing this feature.\nUse the copilot skill to review my changes.\n```\n\nThe `copilot` and `tester` **custom agents** are available in `.github/agents/` and can be copied to `~/.copilot/agents/` for use across all projects:\n\n```bash\ncp ~/.copilot/plugins/brooks-agent-team/.github/agents/*.agent.md ~/.copilot/agents/\n```\n\nThen invoke them via `/agent` or directly in a prompt:\n\n```\nUse the copilot agent to review the authentication changes.\n```\n\n### OpenCode\n\nClone this repository to a stable location:\n\n```bash\ngit clone https://github.com/zakame/brooks-agent-team ~/.opencode/plugins/brooks-agent-team\n```\n\nOpenCode auto-discovers agent definitions from `.opencode/agents/` in your project directory. To make the Copilot and Tester subagents available in a project:\n\n```bash\ncp ~/.opencode/plugins/brooks-agent-team/.opencode/agents/*.md .opencode/agents/\n```\n\nFor cross-project use, consult the [OpenCode agent documentation](https://opencode.ai/docs) for global agent configuration paths.\n\nSkills are available via the [Agent Skills open standard](https://github.com/agentskills/agentskills). OpenCode auto-discovers `SKILL.md` files from registered plugin directories — consult the [OpenCode documentation](https://opencode.ai/docs) for how to configure a skills directory. Once available, skills can be invoked directly in a session:\n\n```\nUse the surgeon skill to start implementing this feature.\nUse the copilot skill to review my changes.\n```\n\n### Claude Code\n\n#### For a single session\n\nStart Claude Code with the `--plugin-dir` flag pointing to this repository:\n\n```bash\nclaude --plugin-dir /path/to/brooks-agent-team\n```\n\nSkills are immediately available. To reload after making changes without restarting:\n\n```\n/reload-plugins\n```\n\n#### Persistent use\n\nClone this repository to a stable location and add the `--plugin-dir` flag to your shell alias or Claude Code configuration:\n\n```bash\ngit clone https://github.com/zakame/brooks-agent-team ~/.claude/plugins/brooks-agent-team\n```\n\nThen start Claude Code with:\n\n```bash\nclaude --plugin-dir ~/.claude/plugins/brooks-agent-team\n```\n\n## Usage\n\n### Two ways to start\n\n| Skill / Command | Tool | When to use |\n|---------|------|-------------|\n| `assemble-team` skill | Copilot CLI, Claude Code \u0026 OpenCode | Single-session work — one AI instance plays all roles sequentially |\n| `/assemble-team` command | Claude Code only | Same as above, as a slash command |\n| `assemble-with-fleet` skill | Copilot CLI \u0026 OpenCode | Parallel work — spawns one independent session per role (Copilot CLI uses `/fleet`; OpenCode uses the task tool) |\n| `/assemble-with-agent-teams` command | Claude Code only | Parallel work — spawns via Claude Code Agent Teams |\n\n### `assemble-team` — single-session briefing\n\nRun at the start of any development session to get a project-contextual briefing on which roles apply and how to invoke them.\n\n**Copilot CLI:**\n```\nUse the assemble-team skill\n```\n\n**Claude Code:**\n```\n/assemble-team\n```\n\n**OpenCode:**\n```\nUse the assemble-team skill\n```\n\nThe AI surveys your project and presents a tailored overview of the team. Roles are invoked on demand as the work requires them. Lightweight and works without any additional setup.\n\n### Parallel team spawn\n\nSpawn one independent AI session per role so that Copilot reviews and Tester writes tests while you continue on the critical path.\n\n**Copilot CLI** — uses `assemble-with-fleet` skill (requires experimental fleet mode):\n```\nUse the assemble-with-fleet skill\n```\n\n**OpenCode** — uses `assemble-with-fleet` skill (spawns subagents via the task tool):\n```\nUse the assemble-with-fleet skill\n```\n\n**Claude Code** — uses `/assemble-with-agent-teams` (requires [Claude Code Agent Teams](https://code.claude.com/docs/en/agent-teams.md)):\n\nEnable Agent Teams first:\n```json\n{\n  \"env\": {\n    \"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS\": \"1\"\n  }\n}\n```\nThen run:\n```\n/assemble-with-agent-teams\n```\n\n**What you get:**\n- One independent session per role (Copilot, Tester, and any others you choose)\n- True parallelism — Copilot reviews while you continue coding\n- Shared task list with dependency tracking and role-tagged tasks (`[implement]`, `[review]`, `[test]`, etc.)\n- File ownership assignments to prevent conflicts\n\n### Invoke skills directly\n\n**Copilot CLI** — use the skill name in your prompt:\n```\nUse the surgeon skill to start implementing this feature.\nUse the copilot skill to review my changes.\nUse the language-lawyer skill for this edge case.\n```\n\n**Claude Code** — skills are namespaced under `brooks-agent-team:`:\n```\nbrooks-agent-team:surgeon\nbrooks-agent-team:copilot\nbrooks-agent-team:tester\nbrooks-agent-team:administrator\nbrooks-agent-team:editor\nbrooks-agent-team:toolsmith\nbrooks-agent-team:language-lawyer\nbrooks-agent-team:program-clerk\n```\n\n**OpenCode** — use the skill name directly in a session prompt:\n```\nUse the surgeon skill to start implementing this feature.\nUse the copilot skill to review my changes.\nUse the language-lawyer skill for this edge case.\n```\n\n### Automatic invocation\n\nThe AI reads each skill's `description` field and automatically invokes the relevant skill when your request matches its trigger conditions. For example:\n\n- Starting an implementation task → `surgeon` skill loads\n- Completing a feature → `copilot` skill is suggested\n- Spotting repeated manual operations → `toolsmith` skill activates\n- Encountering a language edge case → `language-lawyer` skill is invoked\n\n### Dispatch subagent roles\n\nThe **Copilot** and **Tester** roles can be dispatched as independent subagents, allowing the Surgeon to continue working on the critical path while review or test writing happens in parallel.\n\n**Copilot CLI** — use the custom agents in `.github/agents/` (copy to `~/.copilot/agents/` for cross-project use):\n```\nUse the copilot agent to review the authentication changes.\nUse the tester agent to write tests for the payment module.\n```\n\n**Claude Code** — use the dispatch templates in `agents/copilot.md` and `agents/tester.md`.\n\n**OpenCode** — use the agent definitions in `.opencode/agents/`:\n```\nDispatch the Copilot agent to review the authentication changes.\nDispatch the Tester agent to write tests for the payment module.\n```\n\nThe Copilot agent is read-only (permissions deny `edit`, `bash`, and `webfetch`); the Tester agent can write files and run shell commands (permissions allow `edit` and `bash`).\n\n## Repository Structure\n\n```\nskills/                         Shared across all platforms (Agent Skills standard)\n  using-brooks-team/SKILL.md      Meta-skill: team orientation and role routing\n  surgeon/SKILL.md                Chief programmer operating guide\n  copilot/SKILL.md                Code review and backup\n  tester/SKILL.md                 Adversarial test strategy\n  administrator/SKILL.md          Task tracking and scope defense\n  editor/SKILL.md                 Documentation and accuracy\n  toolsmith/SKILL.md              Custom tool builder\n  language-lawyer/SKILL.md        Language and framework edge cases\n  program-clerk/SKILL.md          Code organization and structure\n  assemble-team/SKILL.md          Team briefing skill (Copilot CLI and OpenCode)\n  assemble-with-fleet/SKILL.md    Parallel team spawn via Copilot CLI fleet mode or OpenCode task tool\n\n.claude-plugin/                 Claude Code specific\n  plugin.json                     Plugin manifest (name, version, author)\nagents/                         Claude Code dispatch templates\n  copilot.md                      Subagent template for Copilot role\n  tester.md                       Subagent template for Tester role\ncommands/                       Claude Code slash commands\n  assemble-team.md                /assemble-team command\n  assemble-with-agent-teams.md    /assemble-with-agent-teams command\n\n.github/agents/                 GitHub Copilot CLI custom agents\n  copilot.agent.md                Code reviewer agent\n  tester.agent.md                 Adversarial tester agent\n\n.opencode/agents/               OpenCode custom agents\n  copilot.md                      Code reviewer agent\n  tester.md                       Adversarial tester agent\n```\n\n### What lives where\n\nThe `skills/` directory is the core of the plugin. Each subdirectory contains a `SKILL.md` file conforming to the [Agent Skills open standard](https://github.com/agentskills/agentskills), which is supported by GitHub Copilot CLI, Claude Code, and OpenCode. These files work on any platform that reads the standard.\n\nPlatform-specific files provide deeper integration:\n\n| Directory | Platform | Purpose |\n|-----------|----------|---------|\n| `.claude-plugin/` | Claude Code | Plugin manifest for `--plugin-dir` loading |\n| `agents/` | Claude Code | Dispatch templates for subagent roles (Copilot, Tester) |\n| `commands/` | Claude Code | Slash commands (`/assemble-team`, `/assemble-with-agent-teams`) |\n| `.github/agents/` | Copilot CLI | Custom agent definitions for `/agent` dispatch |\n| `.opencode/agents/` | OpenCode | Custom agent definitions for subagent dispatch |\n| `skills/assemble-team/` | Copilot CLI \u0026 OpenCode | Team briefing skill |\n| `skills/assemble-with-fleet/` | Copilot CLI \u0026 OpenCode | Parallel spawn via fleet mode or task tool |\n\n### OpenCode compatibility\n\nThe eight role skills in `skills/` are compatible with [OpenCode](https://opencode.ai) via the [Agent Skills open standard](https://github.com/agentskills/agentskills) — OpenCode reads `SKILL.md` files the same way Claude Code and Copilot CLI do.\n\nFull agent dispatch is supported through `.opencode/agents/`, which includes Copilot and Tester subagent definitions. These files use OpenCode's agent frontmatter format (`description`, `mode: subagent`, `permission` block). The permissions match each role's responsibilities: the Copilot denies edits and shell/web fetches, while the Tester allows edits and shell commands. File reads are allowed by default in OpenCode — set `permission.read: deny` in agent frontmatter to restrict them. See the [OpenCode agent specification](https://opencode.ai/docs) for the full permission model.\n\nIf OpenCode updates its agent frontmatter format, check the [OpenCode agent specification](https://opencode.ai/docs) to verify these files remain current.\n\n\u003e **Note for maintainers:** The agent body content is duplicated across three locations: `.opencode/agents/`, `agents/` (Claude Code), and `.github/agents/` (Copilot CLI). Any change to the review or test protocol must be applied in all three.\n\n## Philosophy\n\n- **One surgeon, many supporters.** Productivity comes from keeping the chief programmer focused, not from adding more equal contributors.\n- **Roles are process gates, not suggestions.** When a role applies, invoking its skill is mandatory — it protects the quality of the Surgeon's work.\n- **Delegate early, not late.** Recognizing the need for a supporting role at the start of a task is cheaper than discovering it after struggling.\n- **Code belongs to the system.** Write as if a future Surgeon will read it cold.\n\n## License\n\nMIT License — see [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzakame%2Fbrooks-agent-team","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzakame%2Fbrooks-agent-team","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzakame%2Fbrooks-agent-team/lists"}