From team-packs
This skill should be used when the user asks to "load a team pack", "bootstrap a team", "start a team from config", "use a saved team", "load team-pack", or wants to create a Claude Code team from a folder-based team pack configuration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/team-packs:team-loadThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Load a team pack folder and bootstrap it as a running Claude Code agent team. Parse the universal team.yaml format, resolve agent definitions, inject shared rules, map tools, and spawn all agents.
Load a team pack folder and bootstrap it as a running Claude Code agent team. Parse the universal team.yaml format, resolve agent definitions, inject shared rules, map tools, and spawn all agents.
This skill activates when:
/team-load command is invokedA team pack is a folder with this structure:
team-name/
├── team.yaml # Required: team manifest
├── orchestrator.md # Required: lead agent definition
├── agents/
│ ├── agent-1.md # Agent definitions
│ └── agent-2.md
├── workflows/
│ └── workflow-1.yaml # Task sequences
└── rules/
└── standards.md # Shared rules
Read the manifest file. Required fields:
name: team-name
version: "1.0"
description: What the team does
orchestrator:
file: orchestrator.md
model: opus
agents:
- name: agent-name
file: agents/agent-name.md
model: sonnet
tools: [file_read, file_write, shell]
reports_to: orchestrator
shared_rules:
- rules/standards.md
tool_mappings:
claude_code:
file_read: Read
file_write: Write
file_edit: Edit
shell: Bash
web_search: WebSearch
file_search: Glob
content_search: Grep
Read each file listed in shared_rules and concatenate into a single rules block.
.md file--- markers)agents list{{TEAM_ROSTER}} in the prompt with the roster## Shared Rules headingFor each agent in agents list:
.md file from the path in file## Shared Rules headingtool_mappings.claude_codeTeamCreate({
team_name: config.name,
description: config.description
})
For each agent, spawn as a teammate:
Task({
team_name: config.name,
name: agent.name,
subagent_type: "general-purpose",
model: agent.model,
prompt: processedPrompt,
run_in_background: true
})
Spawn ALL agents in a single message for parallel startup.
Output a summary table:
| Agent | Model | Role | Status |
|---|---|---|---|
| name | model | role | spawned |
List available workflows and how to run them.
The tool_mappings section in team.yaml translates generic tool names to runtime-specific ones:
| Generic | Claude Code | OpenAI | Generic |
|---|---|---|---|
| file_read | Read | file_search | read_file |
| file_write | Write | — | write_file |
| file_edit | Edit | — | edit_file |
| shell | Bash | code_interpreter | execute_command |
| web_search | WebSearch | web_search | web_search |
| file_search | Glob | — | find_files |
| content_search | Grep | — | search_content |
When loading by name (not path), check in order:
~/.claude/team-packs/{name}/./team-packs/{name}/${CLAUDE_PLUGIN_ROOT}/assets/team-packs/{name}/For the complete team.yaml specification, see references/team-yaml-spec.md.
For bootloader implementation examples, see scripts/.
npx claudepluginhub vamfi/vamfi-plugins --plugin team-packsCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.