team-assemble
Team Assemble dynamically creates expert agent teams to handle complex, multi-part tasks by analyzing project structure, scouting relevant codebases, and orchestrating specialized agents in parallel. Use it when tasks naturally decompose into independent subtasks with clear role separation, such as research plus implementation plus validation work that benefits from parallel execution rather than sequential steps.
git clone --depth 1 https://github.com/team-attention/plugins-for-claude-natives /tmp/team-assemble && cp -r /tmp/team-assemble/plugins/team-assemble/skills/team-assemble ~/.claude/skills/team-assembleSKILL.md
# Team Assemble
Analyze a task, dynamically design the right expert agents, and orchestrate them as a team using Claude Code's agent teams feature.
## Prerequisites
Agent teams must be enabled. See `references/enable-agent-teams.md` for setup instructions.
## When to Use
- Complex tasks that decompose into 2+ independent subtasks
- Work where role separation is clear (e.g., research + implementation + validation)
- Tasks that benefit from parallel execution
**Do NOT use for:** single-file edits, simple questions, purely sequential work
---
## Core Principles
- **Model 3-tier** — choose by role purpose (details: `references/agents.md`)
- `opus` — strategy/judgment (scouts, complex execution)
- `sonnet` — standard execution/validation (worker, qa, support)
- `haiku` — exploration/writing (researcher, editor)
- **No fixed catalog** — agents are designed dynamically per task
- **Example bank** — `references/agents.md` provides reference examples (not mandatory)
---
## Workflow
```
Phase 1 → Phase 2 → Phase 3 → Phase 4 → Phase 5 → Phase 6
Task Codebase Integrate Execute Validate Complete
Analysis Scouts & Confirm & Cleanup
↕ FAIL → support fix (max 3x)
```
---
## Phase 1: Task Analysis
Analyze the user's request and identify relevant areas of the codebase:
1. Examine project structure, CLAUDE.md files, and README files
2. Identify which parts of the codebase are relevant to the task
3. Determine if codebase scouting (Phase 2) would help, or if the task is straightforward enough to skip to Phase 3
**Get user approval via AskUserQuestion:**
```
I've analyzed your task and identified the following areas of interest:
- [x] src/auth/ — Authentication module (needs refactoring)
- [x] tests/auth/ — Corresponding tests
- [ ] src/api/ — Not directly affected
I'll scout these areas to design an optimal team.
```
Options: "Looks good, proceed" / "I'd like to adjust the scope"
For straightforward tasks that don't need codebase exploration, skip Phase 2 and go directly to Phase 3 — design the team yourself using `references/agents.md` as a guide.
---
## Phase 2: Codebase Scouts (Parallel)
Launch **scout agents** in parallel to explore relevant areas of the codebase.
### Scout Configuration
- **Model**: opus
- **subagent_type**: `general-purpose` (constrained to read-only via prompt)
- **Parallel**: launch multiple scouts simultaneously when exploring different areas
### Scout Mission
Each scout reads the relevant codebase area and proposes agents for the task:
1. Read key files (CLAUDE.md, README.md, source code, configs)
2. Analyze the intersection between the task and the codebase area
3. Propose agents needed (name, role, tasks, reference files)
4. Reference `references/agents.md` for examples, but freely design new agents
> Prompt template: `references/prompt-templates.md` § Codebase Scout
### Scout Output Format
```
## Scout Report: {area}
### Current State
- {file structure summary}
- {relevance to the task}
### Proposed Agents
| Agent | Role | Tasks | Reference Files |
|-------|------|-------|-----------------|
| {name} | {role} | {task} | {files} |
### Notes
- {area-specific constraints or patterns to follow}
```
---
## Phase 3: Integrate & Confirm Team
Merge scout reports into a final team composition:
1. **Deduplicate** — merge similar agent proposals from different scouts
2. **Gap analysis** — check for missing roles
3. **Add qa + support** — validation/fix agents are always included
4. **Dependency graph** — design execution order between agents
5. **Define acceptance criteria** — measurable criteria for Phase 5 validation
### Team Proposal
**Get final approval via AskUserQuestion:**
```
Proposed team: {team-name}
| # | Agent | Role | Tasks | Dependencies |
|---|-------|------|-------|--------------|
| 1 | architect | System design | Design new auth flow | - |
| 2 | implementer | Code changes | Implement the design | #1 |
| 3 | test-writer | Test coverage | Write tests for changes | #2 |
| 4 | qa | Validation | PASS/FAIL against acceptance criteria | #2, #3 |
Acceptance criteria:
- [ ] AC-1: {measurable criterion}
- [ ] AC-2: {measurable criterion}
```
Options: "Looks good, execute" / "I'd like to adjust roles"
If the user selects "adjust roles", ask what specifically to change. After 2+ revision requests, switch to free-text input.
---
## Phase 4: Execution
### Create Team & Distribute Tasks
```
TeamCreate(team_name: "{keyword}-team", description: "Task description")
```
team_name convention: core keyword + `-team`
Create TaskCreate entries for each agent, then set dependencies with TaskUpdate.
### Launch Teammates
- **Model**: apply 3-tier based on role (`references/agents.md`)
- **subagent_type**: `"general-purpose"`
- **mode**: `"bypassPermissions"`
- **Parallel**: launch agents without blockedBy dependencies in a single message
- **Sequential**: inject preceding agent results into the next agent's prompt
### Teammate Prompt Requirements
1. **Context** — project background and how this task fits the whole
2. **Specific goal** — exactly what to achieve
3. **Reference files** — file paths identified by scouts
4. **Constraints** — what NOT to do, scope limits
5. **Output format** — expected deliverable format
6. **Team info** — team_name, task ID
> Detailed prompt structure: `references/prompt-templates.md`
---
## Phase 5: Validation
qa (sonnet) evaluates each **acceptance criterion** from Phase 3.
### Validation Process
```
Agent(name: "qa", model: "sonnet", prompt: """
## Acceptance Criteria
- [ ] AC-1: {criterion}
## Validation Target
{Phase 4 execution results}
Evaluate each criterion with evidence-based PASS/FAIL judgment.
No PASS without evidence.
## Output Format
| # | Criterion | Verdict | Evidence |
Overall: PASS / FAIL
Include fix suggestions for any FAIL items.
""")
```
### FAIL Handling
support (sonnet) fixes only FAIL itemsCollect and synthesize opinions from multiple AI agents. Use when users say "summon the council", "ask other AIs", or want multiple AI perspectives on a question.
개발 커뮤니티에서 기술 주제에 대한 다양한 의견 수집. "개발자 반응", "커뮤니티 의견", "developer reactions" 요청에 사용. Reddit, HN, Dev.to, Lobsters 등 종합.
This skill should be used when the user asks to "트윗 가져와", "트윗 번역", "X 게시글 읽어줘", "tweet fetch", "트윗 내용", "트윗 원문", or provides an X/Twitter URL (x.com, twitter.com) and wants to read, translate, or analyze the tweet content. Also useful when other skills need to fetch tweet text programmatically.
This skill should be used when the user asks to "check email", "read emails", "send email", "reply to email", "search inbox", or manages Gmail. Supports multi-account Gmail integration for reading, searching, sending, and label management.
Google 캘린더 일정 조회/생성/수정/삭제. "오늘 일정", "이번 주 일정", "미팅 추가해줘" 요청에 사용. 여러 계정(work, personal) 통합 조회 지원.
This skill should be used when user wants to access, capture, or reference Claude Code session history. Trigger when user says "capture session", "save session history", or references past/current conversation as a source - whether for saving, extracting, summarizing, or reviewing. This includes any mention of "what we discussed", "today's work", "session history", or when user treats the conversation itself as source material (e.g., "from our conversation").
This skill should be used when the user asks to "카톡 보내줘", "카카오톡 메시지", "KakaoTalk message", "채팅 읽어줘", "~에게 메시지 보내줘", or needs to send/read messages via KakaoTalk on macOS.
This skill should be used when the user is building, planning, or strategizing and the key question is whether to optimize content (what) or change form (how/medium). Trigger on "내용 vs 형식", "content vs form", "metamedium", "형식을 바꿔볼까", "새로운 포맷", "관점 전환", "perspective shift", "다른 방법 없을까", "같은 방식이 안 먹혀", "diminishing returns". Applies Alan Kay's metamedium concept to surface form-level alternatives. For requirement clarification use vague; for strategy blind spots use unknown.