create-team
About
This skill creates a new multi-agent team composition file by automating the setup of a coordinated workflow. It handles purpose definition, member selection, coordination patterns, task decomposition, and generates the required configuration and documentation. Use it when defining a multi-agent workflow or composing agents for complex, recurring collaborative tasks.
Quick Install
Claude Code
Recommendednpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/create-teamCopy and paste this command in Claude Code to install this skill
Documentation
Create a New Team
Multi-agent team → coord 2+ agents for multi-perspective tasks. Integrates w/ teams registry, activatable in Claude Code by name.
Use When
- Task needs multi perspectives (code review + sec audit + arch)
- Recurring collab workflow w/ consistent roles
- Existing ad-hoc composition → formalize
- Complex proc → phases / specialties
- Sprint / pipeline / parallel work
In
- Required: Team name (kebab-case,
data-pipeline-review) - Required: Purpose (1 paragraph)
- Required: Lead agent (in
agents/_registry.yml) - Optional: Coord pattern (def: hub-and-spoke). One of:
hub-and-spoke,sequential,parallel,timeboxed,adaptive - Optional: Members (def: 3-4; rec: 2-5)
- Optional: Src material
Do
Step 1: Purpose
Answer:
- What outcome delivered? (report, deploy, sprint)
- Why not 1 agent? ≥2 specialties
- When activate? Triggers
Write 1 paragraph → human/agent reads → decide activation.
Got: Clear paragraph + ≥2 specialties.
If err: Can't ID 2 specialties → no team needed. Use 1 agent w/ multi skills.
Step 2: Lead
Orchestrator. Choose from registry:
- Domain expertise → primary output
- Decompose reqs → subtasks
- Synthesize results → deliverable
# List all available agents
grep "^ - id:" agents/_registry.yml
Lead = also member (lead always member).
Got: Lead chosen + in registry.
If err: No fit → create via create-agent first. Don't create team w/ non-existent lead.
Step 3: Members
2-5 members (incl lead), non-overlap responsibilities. Each:
- id: Agent name
- role: Short title ("Quality Reviewer", "Security Auditor", "Architecture Reviewer")
- responsibilities: 1 sentence, unique
# Verify each candidate agent exists
grep "id: agent-name-here" agents/_registry.yml
Validate no overlap: same primary resp = merge / sharpen.
Got: 2-5 members, unique roles, in registry.
If err: Agent missing → create first. Overlap → rewrite / remove 1.
Step 4: Coord Pattern
| Pattern | Use When | Example |
|---|---|---|
| hub-and-spoke | Lead distrib + collect + synth. Review/audit. | r-package-review, gxp-compliance-validation, ml-data-science-review |
| sequential | Each builds on prior. Pipelines/staged. | fullstack-web-dev, tending |
| parallel | All sim, independent subtasks. No deps. | devops-platform-engineering |
| timeboxed | Fixed iters. Sprint w/ backlog. | scrum-team |
| adaptive | Self-org. Unknown/variable. | opaque-team |
Decision:
- Lead sees all results pre-output → hub-and-spoke
- B needs A's out → sequential
- All work w/o seeing others → parallel
- Iters w/ planning → timeboxed
- Unpredictable struct → adaptive
Got: Pattern + rationale.
If err: Doubt → hub-and-spoke (most common, works for review/analysis).
Step 5: Task Decomposition
Phases:
- Setup: Lead analyzes req + creates tasks
- Execution: Each member's work (par/seq/sprint)
- Synthesis: Collect + deliverable
Per member: 3-5 concrete tasks (typical req). In "Task Decomposition" prose + CONFIG tasks list.
Got: Phase-structured decomp + concrete tasks per member, matches coord pattern.
If err: Vague ("reviews things") → specific ("reviews code style vs tidyverse guide, checks coverage, evaluates err msg quality").
Step 6: Team File
cp teams/_template.md teams/<team-name>.md
Fill in order:
- YAML frontmatter:
name,description,lead,version("1.0.0"),author,created,updated,tags,coordination,members[](id, role, responsibilities) - Title:
# Team Name(readable, title case) - Intro: 1 paragraph
- Purpose: Why exist + specialties
- Team Composition: Table (Member, Agent, Role, Focus)
- Coordination Pattern: Prose + ASCII diagram
- Task Decomposition: Phased + tasks per member
- Configuration: CONFIG block (Step 7)
- Usage Scenarios: 2-3 + example prompts
- Limitations: 3-5
- See Also: Links to members + related
Got: Complete file, no placeholders.
If err: Compare existing (teams/r-package-review.md). Search placeholders ("your-team-name", "another-agent") → unfilled.
Step 7: CONFIG Block
Between <!-- CONFIG:START --> + <!-- CONFIG:END --> → YAML for tooling:
<!-- CONFIG:START -->
```yaml
team:
name: <team-name>
lead: <lead-agent-id>
coordination: <pattern>
members:
- agent: <agent-id>
role: <role-title>
subagent_type: <agent-id> # Claude Code subagent type for spawning
# ... repeat for each member
tasks:
- name: <task-name>
assignee: <agent-id>
description: <one-line description>
# ... repeat for each task
- name: synthesize-report # final task if hub-and-spoke
assignee: <lead-agent-id>
description: <synthesis description>
blocked_by: [<prior-task-names>] # for dependency ordering
```
<!-- CONFIG:END -->
subagent_type → Claude Code types. For .claude/agents/, use agent id. blocked_by = task deps (synth blocked by all reviews).
Got: Valid YAML, agents = frontmatter members, deps = valid DAG (no cycles).
If err: Validate syntax. Every assignee = agent in members. blocked_by refs earlier task names only.
Step 8: Registry
Edit teams/_registry.yml:
- id: <team-name>
path: <team-name>.md
lead: <lead-agent-id>
members: [<agent-id-1>, <agent-id-2>, ...]
coordination: <pattern>
description: <one-line description matching frontmatter>
Increment total_teams (8 → 9 after adding 1).
# Verify the entry was added
grep "id: <team-name>" teams/_registry.yml
Got: Entry in registry, count +1.
If err: Name exists → diff name / update. Verify YAML indent matches.
Step 9: README Automation
Regen:
npm run update-readmes
Updates dynamic sections in teams/README.md + files w/ <!-- AUTO:START --> markers referencing team data.
Got: Exit 0, teams/README.md has new team.
If err: npm run check-readmes → out-of-sync files. Script fail → verify package.json in root + js-yaml installed (npm install).
Step 10: Verify Activation
Test in Claude Code:
User: Use the <team-name> team to <typical task description>
Claude reads teams/<team-name>.md, extracts CONFIG, orchestrates:
TeamCreatew/ name + desc- Spawn teammates via
Agenttool (subagent_typefrom CONFIG) TaskCreatew/blocked_bydeps from CONFIG- Lead coords per pattern
Note: Teams not auto-discovered from .claude/teams/. Claude reads def directly from teams/ on request.
Got: Claude reads file, TeamCreate works, spawns correct agents, follows pattern.
If err: Verify file at teams/<team-name>.md (not subdir). All member agents exist in agents/. CONFIG YAML valid + subagent_type per member. Listed in teams/_registry.yml.
Step 11: Scaffold Translations
Required for all teams. Human + AI authors. Do not skip → backlog.
4 locales post-commit:
for locale in de zh-CN ja es; do
npm run translate:scaffold -- teams <team-name> "$locale"
done
Translate prose (code + IDs EN). Regen:
npm run translation:status
Got: 4 files at i18n/{de,zh-CN,ja,es}/teams/<team-name>.md, source_commit = HEAD. npm run validate:translations → 0 stale.
If err: Scaffold fail → team in teams/_registry.yml. Status stale → run npm run translation:status explicit.
Check
- File at
teams/<team-name>.md - YAML parses
- Required:
name,description,lead,version,author,coordination,members[] - Each member:
id,role,responsibilities - Sections: Purpose, Team Composition, Coordination Pattern, Task Decomposition, Configuration, Usage Scenarios, Limitations, See Also
- CONFIG block between markers
- CONFIG YAML valid
- All member ids in
agents/_registry.yml - Lead in members list
- No 2 members w/ same primary resp
- In
teams/_registry.ymlw/ correct path/lead/members/coord -
total_teams+1 -
npm run update-readmesno err
Traps
- Too many members: >5 → hard coord. Split team / reduce to essentials.
- Overlap resp: 2 "review code quality" → findings conflict, lead wastes time dedup. Distinct focus.
- Wrong coord: hub-and-spoke when need each other's out (should be seq) / seq when can work indep (should be par). Review Step 4.
- Missing CONFIG: Not optional decoration. Machine-readable spec for
TeamCreate/ spawn / tasks. Without → only ad-hoc prose interp (less reliable). - Lead not in members: Lead must appear as member w/ own role + resp. Coord-only lead wastes slot. Give concrete review/synth resp.
→
create-skill— parallel SKILL.md meta-patterncreate-agent— create memberscommit-changes— commit team + registry
GitHub Repository
Related Skills
content-collections
MetaThis skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
polymarket
MetaThis skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
creating-opencode-plugins
MetaThis skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
sglang
MetaSGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
