team-composition
This skill should be used when determining how many teammates to spawn and what agent types to use, based on tasks.md analysis.
Best use case
team-composition is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
This skill should be used when determining how many teammates to spawn and what agent types to use, based on tasks.md analysis.
Teams using team-composition should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/team-composition/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How team-composition Compares
| Feature / Agent | team-composition | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
This skill should be used when determining how many teammates to spawn and what agent types to use, based on tasks.md analysis.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Team Composition This skill determines the optimal number of teammates and the correct agent type for a swarm run. It is invoked during the planning phase, before team creation. ## Analysis Process 1. **Read `tasks.md`** from the spec directory. 2. **Parse the File Manifest** at the bottom of tasks.md (or the `Files:` section of each task). 3. **Compute parallel batches** by analyzing file conflicts: - Two tasks conflict if they share any file (CREATE or MODIFY). - Tasks with dependencies cannot be in the same batch as their prerequisites. - Group non-conflicting, dependency-free tasks into batches (same algorithm as the coordinator's Runtime Parallelism Computation). 4. **Find the largest batch.** That count is the maximum number of useful teammates — spawning more than that means idle agents burning tokens. 5. **Apply the hard cap of 5 teammates.** Beyond 5, coordination overhead and token costs grow faster than throughput. Diminishing returns hit hard. 6. **Recommended teammate count:** `min(largest_batch_size, 4)`. Using 4 instead of 5 gives a buffer for the coordinator to stay responsive. ### Examples | Total Tasks | Largest Batch Size | Recommended teammates | |-------------|--------------------|-----------------------| | 6 | 2 | 2 | | 10 | 6 | 4 (capped) | | 3 | 1 | 1 | | 8 | 3 | 3 | | 12 | 10 | 4 (capped) | ## Agent Type Selection ### When `--agent-type` is explicitly provided Use that type for all teammates. No analysis needed. ### When `--agent-type` is `auto` or not provided Analyze the project to determine the dominant language/framework: 1. **Check for build system / config files** (most reliable signal): - `go.mod` --> Go project --> `golang-pro` - `package.json` with TypeScript dependencies or `tsconfig.json` --> `typescript-pro` - `package.json` without TypeScript --> `typescript-pro` (JS projects benefit from TS tooling awareness) - `Cargo.toml` --> Rust project --> `rust-pro` - `pyproject.toml`, `setup.py`, `setup.cfg`, `requirements.txt` --> `python-pro` - `mix.exs` --> Elixir project --> `elixir-expert` 2. **If no config files found**, check file extensions in the project root and `src/` directory: - Majority `.go` files --> `golang-pro` - Majority `.ts` / `.tsx` files --> `typescript-pro` - Majority `.js` / `.jsx` files --> `typescript-pro` - Majority `.py` files --> `python-pro` - Majority `.rs` files --> `rust-pro` - Majority `.ex` / `.exs` files --> `elixir-expert` - Majority `.sql` files --> `sql-pro` 3. **If tasks span multiple languages** (e.g., Go backend + TypeScript frontend), use `general-purpose`. Specialized agents struggle when they hit code outside their domain. 4. **If unclear or mixed**, default to `general-purpose`. It is the safest fallback. ### Agent Type Availability Note The language-specific types (`golang-pro`, `typescript-pro`, `python-pro`, `rust-pro`, `elixir-expert`, `sql-pro`) are NOT included with this plugin. They are third-party agent definitions that may or may not be installed in the user's environment. **Fallback chain (always apply):** 1. Try detected language-specific agent (e.g., `golang-pro`, `typescript-pro`) 2. If unavailable → fall back to `swarm-executor` (included with this plugin) 3. If unavailable → fall back to `general-purpose` (always available) ### Agent Type Reference | Agent Type | Best For | Included? | |-------------------|-----------------------------------------------|-----------| | `golang-pro` | Go projects, CLI tools, servers | No (third-party) | | `typescript-pro` | TypeScript/JavaScript, React, Node.js, Next.js | No (third-party) | | `python-pro` | Python, Django, Flask, FastAPI, data pipelines | No (third-party) | | `rust-pro` | Rust projects, systems programming | No (third-party) | | `elixir-expert` | Elixir/Phoenix projects | No (third-party) | | `sql-pro` | Database-heavy work, migrations, query tuning | No (third-party) | | `swarm-executor` | Any language, this plugin's built-in executor | Yes | | `general-purpose` | Multi-language, mixed projects, unclear scope | Yes (built-in) | ## Cost Awareness Exact costs depend on model, pricing, prompt length, and task complexity. No dollar estimates are provided — they would be speculative. **What affects cost:** - Number of teammates (each is an independent LLM session) - Task complexity (more turns = more tokens) - Verification cycles (failed tasks trigger retries) **Cost-saving tips:** - Sequential mode for < 4 tasks - Fewer teammates with more tasks > many idle teammates - `--max-iterations` to cap runaway sessions - Review plan before execution (don't use `--yolo` unless you mean it) ## Output Format When reporting team composition to the user or the coordinator, always use this format: ``` Team: <N> x <agent-type> in worktrees Computed batches: <B> (largest batch: <L> tasks) ``` ### Example Output ``` Team: 3 x golang-pro in worktrees Computed batches: 4 (largest batch: 3 tasks) ``` If the user has not confirmed yet, present this and wait for approval before proceeding to team creation.
Related Skills
team
N coordinated agents on shared task list using Claude Code native teams
team-workflows
Team collaboration patterns - shared configs, standards, onboarding
team-topologies
Four fundamental team types and interaction modes from Team Topologies
team-frontend
Unified team skill for frontend development team. All roles invoke this skill with --role arg. Built-in ui-ux-pro-max design intelligence. Triggers on "team frontend".
team-feature
Launch Agent Team for feature implementation with review gates (coders + specialized reviewers + tech lead)
team-collaboration-standup-notes
You are an expert team communication specialist focused on async-first standup practices, AI-assisted note generation from commit history, and effective remote team coordination patterns.
team-collaboration-issue
You are a GitHub issue resolution expert specializing in systematic bug investigation, feature implementation, and collaborative development workflows. Your expertise spans issue triage, root cause an
red-team-tools
This skill should be used when the user asks to "follow red team methodology", "perform bug bounty hunting", "automate reconnaissance", "hunt for XSS vulnerabilities", "enumerate su...
red-team-tactics
Red team tactics principles based on MITRE ATT&CK. Attack phases, detection evasion, reporting.
axiom-app-composition
Use when structuring app entry points, managing authentication flows, switching root views, handling scene lifecycle, or asking 'how do I structure my @main', 'where does auth state live', 'how do I prevent screen flicker on launch', 'when should I modularize' - app-level composition patterns for iOS 26+
abramov-state-composition
Write JavaScript code in the style of Dan Abramov, co-creator of Redux and React core team member. Emphasizes predictable state management, composition over inheritance, and developer experience. Use when building React applications or managing complex state.
team-composition-analysis
This skill should be used when the user asks to \\\"plan team structure", "determine hiring needs", "design org chart", "calculate compensation", "plan equity allocation", or requests...