옵션

team-builder

affaan-m/ECC affaan-m/ECC

사용 가능한 에이전트 페르소나를 살펴보고, 한 작업에 대해 최대 5명의 에이전트로 구성된 임시 팀을 구성하여 작업을 병행한 후, 그 결과를 통합할 수 있습니다.

...모든 것을 확장하십시오
0
업데이트 된 시간 2026년 10월 2일

팀 빌더

필요에 따라 에이전트 팀을 탐색하고 구성할 수 있는 대화형 메뉴입니다. 플랫 구조 또는 도메인 하위 디렉터리 구조의 에이전트 컬렉션과 호환됩니다.

사용 시점

  • 여러 에이전트 페르소나(마크다운 파일)가 있으며, 특정 작업에 사용할 페르소나를 선택하고자 할 때
  • 서로 다른 도메인(예: 보안 + SEO + 아키텍처)의 에이전트로 임시 팀을 구성하고자 할 때
  • 결정하기 전에 사용 가능한 에이전트를 확인하고 싶은 경우

필수 조건

에이전트 파일은 페르소나 프롬프트(정체성, 규칙, 워크플로우, 산출물)가 포함된 마크다운 파일이어야 합니다. 첫 번째 # 헤딩은 에이전트 이름으로, 첫 번째 단락은 설명으로 사용됩니다.

플랫 레이아웃과 하위 디렉터리 레이아웃 모두 지원됩니다:

하위 디렉터리 레이아웃 — 도메인은 폴더 이름에서 추론됩니다:

agents/
├── engineering/
│   ├── security-engineer.md
│   └── software-architect.md
├── marketing/
│   └── seo-specialist.md
└── sales/
    └── discovery-coach.md

플랫 레이아웃 — 공유된 파일 이름 접두사로부터 도메인이 추론됩니다. 2개 이상의 파일이 동일한 접두사를 공유할 경우, 해당 접두사는 도메인으로 간주됩니다. 고유한 접두사를 가진 파일은 "General"로 분류됩니다. 참고: 알고리즘은 첫 번째 -에서 분할하므로, 여러 단어로 구성된 도메인(예: product-management)의 경우 대신 하위 디렉터리 레이아웃을 사용해야 합니다:

agents/
├── engineering-security-engineer.md
├── engineering-software-architect.md
├── marketing-seo-specialist.md
├── marketing-content-strategist.md
├── sales-discovery-coach.md
└── sales-outbound-strategist.md

구성

에이전트는 두 가지 방법으로 탐지되며, 에이전트 이름 기준으로 병합 및 중복 제거됩니다:

  1. claude agents 명령어 (기본) — claude agents를 실행하면 사용자 에이전트, 플러그인 에이전트(예: everything-claude-code:architect), 내장 에이전트를 포함하여 CLI가 인식하는 모든 에이전트를 확인할 수 있습니다. 이 방법은 경로 구성 없이도 ECC 마켓플레이스에서 설치된 에이전트를 자동으로 포함합니다.
  2. 파일 글로브 (대체 방법, 에이전트 콘텐츠 읽기용) — 에이전트 마크다운 파일은 다음 위치에서 읽힙니다:
    • ./agents/**/*.md + ./agents/*.md — 프로젝트 내 에이전트
    • ~/.claude/agents/**/*.md + ~/.claude/agents/*.md — 전역 사용자 에이전트

이름이 중복될 경우, 우선순위는 다음과 같습니다: 사용자 에이전트 > 플러그인 에이전트 > 내장 에이전트. 사용자가 경로를 직접 지정하면 사용자 정의 경로를 대신 사용할 수 있습니다.

작동 원리

1단계: 사용 가능한 에이전트 확인

claude agents 명령어를 실행하여 전체 에이전트 목록을 확인합니다. 각 줄을 분석합니다:

  • 플러그인 에이전트에는 plugin-name: 접두사가 붙습니다(예: everything-claude-code:security-reviewer). : 뒤의 부분을 에이전트 이름으로, 플러그인 이름을 도메인으로 사용합니다.
  • 사용자 에이전트에는 접두사가 없습니다. ~/.claude/agents/ 또는 ./agents/ 에서 해당 마크다운 파일을 읽어 이름과 설명을 추출합니다.
  • 내장 에이전트 (예: Explore, Plan)는 사용자가 명시적으로 포함하도록 요청하지 않는 한 건너뜁니다.

마크다운 파일에서 로드된 사용자 에이전트의 경우:

  • 하위 디렉터리 구조: 상위 폴더 이름에서 도메인을 추출합니다.
  • 평면 구조: 모든 파일명 접두사(첫 번째 '-' 앞의 텍스트)를 수집합니다. 접두사는 2개 이상의 파일명에 나타날 때만 도메인으로 인정됩니다(예: engineering-security-engineer.md와 engineering-software-architect.md가 모두 engineering으로 시작하므로 → Engineering 도메인). 고유한 접두사를 가진 파일(예: code-reviewer.md, tdd-guide.md)은 “일반(General)” 그룹으로 분류됩니다.
  • 첫 번째 # 헤딩에서 에이전트 이름을 추출합니다. 헤딩이 없는 경우, 파일 이름에서 이름을 도출합니다( .md 확장자 제거, 하이픈을 공백으로 대체, 제목 대소문자 규칙 적용).
  • 제목 다음 첫 번째 단락에서 한 줄 분량의 요약을 추출합니다.

claude agents를 실행하고 파일 위치를 검색한 후에도 에이전트가 발견되지 않으면 사용자에게 “에이전트를 찾을 수 없습니다. 설정을 확인하려면 claude agents를 실행하십시오.”라고 알린 후 중단합니다.

2단계: 도메인 메뉴 표시

사용 가능한 에이전트 도메인:
1. 엔지니어링 — 소프트웨어 아키텍트, 보안 엔지니어
2. 마케팅 — SEO 전문가
3. 영업 — 디스커버리 코치, 아웃바운드 전략가

도메인을 선택하거나 특정 에이전트 이름을 지정하세요(예: "1,3" 또는 "security + seo"):
  • 에이전트가 없는 도메인(빈 디렉터리)은 건너뛰십시오
  • 도메인별 에이전트 수 표시

3단계: 선택 처리

유연한 입력 허용:

  • 숫자: “1,3”은 엔지니어링 및 영업 분야의 모든 에이전트를 선택합니다
  • 이름: "security + seo"는 탐지된 에이전트와 부분 일치 검색을 수행합니다
  • "엔지니어링 소속 모두"는 해당 도메인의 모든 에이전트를 선택합니다

선택된 에이전트가 5개 이상인 경우, 알파벳 순서로 나열하고 사용자에게 선택 범위를 좁히도록 요청합니다: "N개의 에이전트를 선택하셨습니다(최대 5개). 유지할 에이전트를 선택하거나, 'first 5'라고 말씀하시면 알파벳 순서대로 처음 5개를 사용합니다."

선택 확인:

선택됨: 보안 엔지니어 + SEO 전문가
이들이 어떤 작업을 수행해야 합니까? (작업 내용 설명):

4단계: 에이전트를 병렬로 생성

  1. 선택된 각 에이전트의 마크다운 파일을 읽습니다
  2. 아직 제공되지 않은 경우 작업 설명을 입력하도록 안내
  3. 에이전트 도구를 사용하여 모든 에이전트를 병렬로 실행:
    • subagent_type: "general-purpose"
    • prompt: "{에이전트 파일 내용}\n\n작업: {작업 설명}"
    • 각 에이전트는 독립적으로 실행되며, 에이전트 간 통신이 필요하지 않습니다
  4. 에이전트가 실패할 경우(오류, 타임아웃 또는 빈 출력), 실패 사유를 인라인으로 기록하고(예: "보안 엔지니어: 실패 — [이유]") 성공한 에이전트의 결과로 진행하십시오

5단계: 결과 통합

모든 출력을 수집하여 통합 보고서를 제시합니다:

  • 에이전트별로 그룹화된 결과
  • 다음 내용을 강조하여 정리한 종합 섹션:
    • 에이전트 간 일치 사항
    • 권고 사항 간의 상충점 또는 갈등
    • 권장되는 향후 조치

에이전트가 1개만 선택된 경우, 종합 단계를 건너뛰고 결과를 직접 제시합니다.

규칙

  • 동적 탐색만 허용합니다. 에이전트 목록을 절대 하드코딩하지 마십시오. 디렉토리에 새로 추가된 파일은 메뉴에 자동으로 표시됩니다.
  • 팀당 에이전트는 최대 5개로 제한합니다. 5개를 초과하면 효율이 떨어지고 토큰을 과도하게 소비하게 됩니다. 선택 시점에 이 제한을 적용하십시오.
  • 병렬 디스패치. 모든 에이전트가 동시에 실행됩니다. 에이전트 도구의 병렬 호출 패턴을 사용하십시오.
  • TeamCreate가 아닌 병렬 에이전트 호출. 이 스킬은 독립적인 작업을 위해 병렬 에이전트 도구 호출을 사용합니다. TeamCreate(다중 에이전트 대화를 위한 Claude Code 도구)는 에이전트들이 서로 토론하거나 응답해야 할 때에만 필요합니다.

예시

사용자: 팀 빌더

Claude:
사용 가능한 에이전트 도메인:
1. 엔지니어링 (2) — 소프트웨어 아키텍트, 보안 엔지니어
2. 마케팅 (1) — SEO 전문가
3. 영업 (4) — 디스커버리 코치, 아웃바운드 전략가, 제안서 전략가, 영업 엔지니어
4. 지원 (1) — 요약 보고서

도메인을 선택하거나 특정 에이전트의 이름을 지정하세요:

사용자: 보안 + SEO

Claude:
선택됨: 보안 엔지니어 + SEO 전문가
이들이 어떤 작업을 수행해야 할까요?

사용자: 출시 전에 제 Next.js 전자상거래 사이트를 검토해 주세요

[두 에이전트가 동시에 생성되어, 각자 자신의 전문 분야를 코드베이스에 적용합니다]

클로드:
## 보안 엔지니어의 분석 결과
- [분석 결과...]

## SEO 전문가의 분석 결과
- [분석 결과...]

## 종합
두 에이전트 모두 다음 사항에 동의합니다: [...]
갈등: 보안 팀은 인라인 스타일을 차단하는 CSP를 권장하는 반면, SEO 팀은 인라인 스키마 마크업이 필요합니다. 해결 방안: [...]
다음 단계: [...]
GitHub에서 보기
---
name: team-builder
description: Browse available agent personas and compose ad-hoc teams of up to 5 agents to work in parallel on a task, then synthesize their results.
---

# Team Builder

Interactive menu for browsing and composing agent teams on demand. Works with flat or domain-subdirectory agent collections.

## When to Use

- You have multiple agent personas (markdown files) and want to pick which ones to use for a task
- You want to compose an ad-hoc team from different domains (e.g., Security + SEO + Architecture)
- You want to browse what agents are available before deciding

## Prerequisites

Agent files must be markdown files containing a persona prompt (identity, rules, workflow, deliverables). The first `# Heading` is used as the agent name and the first paragraph as the description.

Both flat and subdirectory layouts are supported:

**Subdirectory layout** — domain is inferred from the folder name:

```
agents/
├── engineering/
│   ├── security-engineer.md
│   └── software-architect.md
├── marketing/
│   └── seo-specialist.md
└── sales/
    └── discovery-coach.md
```

**Flat layout** — domain inferred from shared filename prefixes. A prefix counts as a domain when 2+ files share it. Files with unique prefixes go to "General". Note: the algorithm splits at the first `-`, so multi-word domains (e.g., `product-management`) should use the subdirectory layout instead:

```
agents/
├── engineering-security-engineer.md
├── engineering-software-architect.md
├── marketing-seo-specialist.md
├── marketing-content-strategist.md
├── sales-discovery-coach.md
└── sales-outbound-strategist.md
```

## Configuration

Agents are discovered via two methods, merged and deduplicated by agent name:

1. **`claude agents` command** (primary) — run `claude agents` to get all agents known to the CLI, including user agents, plugin agents (e.g. `everything-claude-code:architect`), and built-in agents. This automatically covers ECC marketplace installs without any path configuration.
2. **File glob** (fallback, for reading agent content) — agent markdown files are read from:
   - `./agents/**/*.md` + `./agents/*.md` — project-local agents
   - `~/.claude/agents/**/*.md` + `~/.claude/agents/*.md` — global user agents

Earlier sources take precedence when names collide: user agents > plugin agents > built-in agents. A custom path can be used instead if the user specifies one.

## How It Works

### Step 1: Discover Available Agents

Run `claude agents` to get the full agent list. Parse each line:
- **Plugin agents** are prefixed with `plugin-name:` (e.g., `everything-claude-code:security-reviewer`). Use the part after `:` as the agent name and the plugin name as the domain.
- **User agents** have no prefix. Read the corresponding markdown file from `~/.claude/agents/` or `./agents/` to extract the name and description.
- **Built-in agents** (e.g., `Explore`, `Plan`) are skipped unless the user explicitly asks to include them.

For user agents loaded from markdown files:
- **Subdirectory layout:** extract the domain from the parent folder name
- **Flat layout:** collect all filename prefixes (text before the first `-`). A prefix qualifies as a domain only if it appears in 2 or more filenames (e.g., `engineering-security-engineer.md` and `engineering-software-architect.md` both start with `engineering` → Engineering domain). Files with unique prefixes (e.g., `code-reviewer.md`, `tdd-guide.md`) are grouped under "General"
- Extract the agent name from the first `# Heading`. If no heading is found, derive the name from the filename (strip `.md`, replace hyphens with spaces, title-case)
- Extract a one-line summary from the first paragraph after the heading

If no agents are found after running `claude agents` and probing file locations, inform the user: "No agents found. Run `claude agents` to verify your setup." Then stop.

### Step 2: Present Domain Menu

```
Available agent domains:
1. Engineering — Software Architect, Security Engineer
2. Marketing — SEO Specialist
3. Sales — Discovery Coach, Outbound Strategist

Pick domains or name specific agents (e.g., "1,3" or "security + seo"):
```

- Skip domains with zero agents (empty directories)
- Show agent count per domain

### Step 3: Handle Selection

Accept flexible input:
- Numbers: "1,3" selects all agents from Engineering and Sales
- Names: "security + seo" fuzzy-matches against discovered agents
- "all from engineering" selects every agent in that domain

If more than 5 agents are selected, list them alphabetically and ask the user to narrow down: "You selected N agents (max 5). Pick which to keep, or say 'first 5' to use the first five alphabetically."

Confirm selection:
```
Selected: Security Engineer + SEO Specialist
What should they work on? (describe the task):
```

### Step 4: Spawn Agents in Parallel

1. Read each selected agent's markdown file
2. Prompt for the task description if not already provided
3. Spawn all agents in parallel using the Agent tool:
   - `subagent_type: "general-purpose"`
   - `prompt: "{agent file content}\n\nTask: {task description}"`
   - Each agent runs independently — no inter-agent communication needed
4. If an agent fails (error, timeout, or empty output), note the failure inline (e.g., "Security Engineer: failed — [reason]") and continue with results from agents that succeeded

### Step 5: Synthesize Results

Collect all outputs and present a unified report:
- Results grouped by agent
- Synthesis section highlighting:
  - Agreements across agents
  - Conflicts or tensions between recommendations
  - Recommended next steps

If only 1 agent was selected, skip synthesis and present the output directly.

## Rules

- **Dynamic discovery only.** Never hardcode agent lists. New files in the directory auto-appear in the menu.
- **Max 5 agents per team.** More than 5 produces diminishing returns and excessive token usage. Enforce at selection time.
- **Parallel dispatch.** All agents run simultaneously — use the Agent tool's parallel invocation pattern.
- **Parallel Agent calls, not TeamCreate.** This skill uses parallel Agent tool calls for independent work. TeamCreate (a Claude Code tool for multi-agent dialogue) is only needed when agents must debate or respond to each other.

## Examples

```
User: team builder

Claude:
Available agent domains:
1. Engineering (2) — Software Architect, Security Engineer
2. Marketing (1) — SEO Specialist
3. Sales (4) — Discovery Coach, Outbound Strategist, Proposal Strategist, Sales Engineer
4. Support (1) — Executive Summary

Pick domains or name specific agents:

User: security + seo

Claude:
Selected: Security Engineer + SEO Specialist
What should they work on?

User: Review my Next.js e-commerce site before launch

[Both agents spawn in parallel, each applying their specialty to the codebase]

Claude:
## Security Engineer Findings
- [findings...]

## SEO Specialist Findings
- [findings...]

## Synthesis
Both agents agree on: [...]
Tension: Security recommends CSP that blocks inline styles, SEO needs inline schema markup. Resolution: [...]
Next steps: [...]
```

모든 파일

1개 파일

team-builder 설치

스킬 파일을 다운로드하여 .claude/skills/ 디렉터리에 압축을 풀어 주세요.

ZIP 다운로드

저장소를 클론하고 스킬 파일을 프로젝트에 복사하세요.

git clone https://github.com/affaan-m/ECC/tree/main/skills/team-builder # Copy SKILL.md to your .claude/skills/ directory

복사 복사
빠른 설정: 스킬 폴더를 .claude/skills/로 복사하세요. Claude가 해당 스킬을 자동으로 감지하여 사용할 것입니다.
저장소 affaan-m/ECC

관련 스킬

airtable-automation
업데이트 된 시간 2026년 6월 29일
seo-programmatic
업데이트 된 시간 2026년 6월 29일
notion-automation
업데이트 된 시간 2026년 6월 29일
fairdb-backup-manager
업데이트 된 시간 2026년 6월 29일
OR