idagents-team-builder
Build an id-agents team correctly from scratch.
Skill by idchain-world
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/idchain-world-idagents-team-builder
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/idagents-team-builder
What's inside
- Skill name
idagents-team-builder- Description
- Build an id-agents team correctly from scratch. Covers YAML structure, per-agent workspaces, role files, library agent templates, skill bundling, and the gotchas (silent default drops, symlinks vs copies, cpSync collisions). Use whenever you are designing a new team config, adding agents to an existing team, or debugging why an agent ended up with a generic personality.
- License
- MIT
- Instructions
- 328 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- body: contains an absolute path from the author's machine
Files (1)
- SKILL.md
SKILL.md (first lines)
# ID Agents Team Builder
How to build an id-agents team that actually works. Distilled from real-world team builds that hit every avoidable footgun.
## When to use
- Designing a new team config under `configs/<team>.yaml`.
- Adding agents to an existing team and wondering "where does the role come from".
- An agent deployed but has no unique personality (just framework boilerplate).
- An agent is supposed to have specialist skills but only has the defaults.
- A deploy fails with `EEXIST` from `cpSync`.
- Multiple agents are stepping on each other's `CLAUDE.md`.
## The seven rules
These come from rebuilding the same team three times to get it right.
### 1. `workingDirectory` MUST be per-agent. Defaults are silently dropped.
`defaults.workingDirectory` in the YAML is not merged into each agent. The config parser only merges `runtime`, `model`, `plugins`, `skills`, `allowedTools`, and `resources` from defaults (see `mergeDefaults` in `src/config-parser.ts`). If you put `workingDirectory` in `defaults`, every agent falls back to `<workspace>/agents/<agent-id>/` and the parser cannot find their role files.
Always set `workingDirectory` explicitly per agent:
```yaml
agents:
- name: cso
workingDirectory: /Users/me/projects/security/agents/cso
description: "..."
- name: security-stack-a
workingDirectory: /Users/me/projects/security/agents/security-stack-a
description: "..."
```
### 2. Role files are read from `<workingDirectory>/.claude/agents/<name>.md` at deploy time.
The parser calls `loadSubAgentTemplate(workingDirectory, name, runtime)`. Two patterns are accepted, directory wins over single-file:
- **Directory pattern**: `<wd>/.claude/agents/<name>/CLAUDE.md` (priority)
- **Single-file pattern**: `<wd>/.claude/agents/<name>.md`
Whichever the parser finds, its body (everything after the frontmatter) becomes `roleBody`. The framework appends roleBody to its boilerplate (scheduling, task discipline, output convention) and writes the combined personality to `<wd>/.claude/CLAUDE.md` at spawn time.
If `workingDirectory` is unset (see rule 1) the parser returns early and no role is loaded. The agent gets framework boilerplate only and acts identical to every other underspecified agent in the team.
### 3. Each agent owns its workspace. No shared `workingDirectory`.
The framework writes per-agent personality to `<wd>/.claude/CLAUDE.md`. If two agents share a `workingDirectory`, they overwrite each other's CLAUDE.md as they spawn. Last writer wins. Every other agent ends up with the wrong personality.
Give each agent its own directory. The portfolio pattern: a parent umbrella project with per-agent subdirs.
```
my-security/
├── .claude/agents/ # canonical role files (optional, for Claude-Code-subagent mode)
│ ├── cso.md
│ ├── cso/CLAUDE.md
│ └── ...
└── agents/ # per-agent workspaces for the daemon team
├── cso/
│ └── .claude/agents/cso.md
├── security-stack-a/
│ └── .claude/agents/security-stack-a.md
└── ...
```
### 4. No symlinks in the per-agent workspace. Copy real files.
The deploy uses `cpSync(srcDir, destDir, {recursive, force})` to overlay agent dir contents. If your role file or context dir is a relative symlink, cpSync creates a symlink at the destination pointing to the resolved target. If that destination already exists as a real directory, the deploy fails with `EEXIST: file already exists, symlink 'target' -> 'destination'`.
Always copy. Never symlink.
```bash
# WRONG
ln -s ../../../../.claude/agents/cso.md agents/cso/.claude/agents/cso.md
# RIGHT
cp .claude/agents/cso.md agents/cso/.claude/agents/cso.md
```
Acceptable duplication: if you also keep canonical role files at `idx-security/.claude/agents/`, you have two copies. They drift if you edit one without the other. Live with it, or regenerate with a script when role files change.
### 5. Library agent templates compose with custom roles.
`agent: <template-name>` in an agent's YAML pulls a library template (from `configs/agents/<template>/`) into the agent's workspace. The deploy calls `copyLibraryAgentOverlay`:
- Template's `CLAUDE.md` goes to `<wd>/.claude/rules/agent-<template>.md` (sidecar, NOT overwriting your custom role).
- Template's bundled `skills/` get merged into `<wd>/.claude/skills/`.
So you keep your custom role at `<wd>/.claude/agents/<name>.md`, and the library template provides extra skills + reference rules on the side.
Available templates today (under `configs/agents/`): `security`, `solidity-security`, `pashov-solidity-security`, `foundry-dev`, `frontend`, `frontend-react`, `fullstack-nextjs`, `devops`, `editor`, `copywriter`. Inspect each template's `skills/` to see what it adds.
### 6. Skills come from three sources and merge in the agent's `.claude/skills/`.
- **Bundled framework skills** (`<id-agents>/skills/`): `identity`, `inter-agent`, `catalog`, `task-discipline`, `wallet`, `xmtp`, etc. Listed in `defaults.skills` or per-agent `skills:`. Deploy copies them via `deploySkillsToAgent`.
- **Library template skills** (`configs/agents/<template>/skills/`): bundled with the template. Pulled in by `agent: <template-name>`.
- **Per-agent custom skills**: drop a directory at `<wd>/.claude/skills/<skill-name>/` with a `SKILL.md`. The agent owns it.
The per-agent skill copy is **a full copy at deploy time**. Each agent owns its skills and can modify them independently. Edits do not affect other agents and do not get clobbered on `/agents rebuild` (rebuild restarts existing agents from DB; it does not re-overlay).
`/deploy <team>` re-overlays skills, but it is CREATE-ONLY — it refuses an existing team, so it can no longer clobber a live one. `/sync` is REMOVED. Per-agent skill edits survive `/agents rebuild`. If an agent has customizations worth keeping, fold them back into a library template.
### 7. Structure: defaults + org + agents.
```yaml
version: "1"
team: <team-name>
# Inherited by every agent EXCEPT workingDirectory (rule 1).
defaults:
local: true
runtime: claude-code-cli
model: claude-opus-4-7
dangerouslySkipPermissions: true
skills:
- identity
- inter-agent
- catalog
- task-disciplineFrom idchain-world/id-agents, MIT.
More from idchain-world/id-agents
- 0.639score
task-discipline
idchain-world
Required lifecycle for non-trivial work.
SkillAFreshness: A★ 18Claude Code +9 - 0.589score
idagents-admin-control
idchain-world
Programmatically manage an ID Agents team — add/remove agents, export/import team configs, rebuild and restart the manager, dispatch work to agents and poll…
SkillBFreshness: B★ 18Claude Code +9 - 0.552score
inter-agent
idchain-world
Communicate with other agents in your team — send messages, delegate tasks, list agents, check news.
SkillCFreshness: C★ 18Claude Code +9 - 0.552score
sound-symbolism
idchain-world
Analyze and choose names based on the perceptual qualities that letters and sounds carry.
SkillCFreshness: C★ 18Claude Code +9 - 0.542score
catalog
idchain-world
Update your REST-AP catalog to describe your role, expertise, and status to other agents and the manager.
SkillCFreshness: C★ 18Claude Code +9 - 0.541score
identity
idchain-world
Your agent identity — name and team.
SkillCFreshness: C★ 18Claude Code +9 - 0.492score
k8s-troubleshooter
idchain-world
Systematic Kubernetes troubleshooting and incident response.
SkillDFreshness: D★ 18Claude Code +9 - 0.492score
solidity-auditor
idchain-world
Security audit of Solidity code while you develop.
SkillDFreshness: D★ 18Claude Code +9 - 0.492score
x-ray
idchain-world
Generates an x-ray.md pre-audit report covering overview, enhanced threat model (protocol-type profiling, git-weighted attack surfaces, temporal risk…
SkillDFreshness: D★ 18Claude Code +9 - 0.488score
iac-terraform
idchain-world
Infrastructure as Code with Terraform and Terragrunt.
SkillDFreshness: D★ 18Claude Code +9 - 0.488score
ci-cd
idchain-world
CI/CD pipeline design, optimization, DevSecOps security scanning, and troubleshooting.
SkillDFreshness: D★ 18Claude Code +9 - 0.487score
wallet
idchain-world
OWS wallet — view addresses, sign transactions/messages, check balances, manage agent access.
SkillDFreshness: D★ 18Claude Code +9
Signals
- Stars
- 18
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Jul 26, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/idchain-world/id-agents
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from idchain-world
- 0.639score
task-discipline
idchain-world
Required lifecycle for non-trivial work.
SkillAFreshness: A★ 18Claude Code +9 - 0.589score
idagents-admin-control
idchain-world
Programmatically manage an ID Agents team — add/remove agents, export/import team configs, rebuild and restart the manager, dispatch work to agents and poll…
SkillBFreshness: B★ 18Claude Code +9 - 0.552score
inter-agent
idchain-world
Communicate with other agents in your team — send messages, delegate tasks, list agents, check news.
SkillCFreshness: C★ 18Claude Code +9 - 0.552score
sound-symbolism
idchain-world
Analyze and choose names based on the perceptual qualities that letters and sounds carry.
SkillCFreshness: C★ 18Claude Code +9 - 0.542score
catalog
idchain-world
Update your REST-AP catalog to describe your role, expertise, and status to other agents and the manager.
SkillCFreshness: C★ 18Claude Code +9 - 0.541score
identity
idchain-world
Your agent identity — name and team.
SkillCFreshness: C★ 18Claude Code +9
Cite this page
idagents-team-builder skill. Agent Mart. https://agentmart.dev/skills/idchain-world-idagents-team-builder (last updated 2026-10-24)