Complete end-to-end checklist for adding a new agent to the bOpen team. Use when creating a new agent, onboarding a new team member, or need to remember the full agent deployment pipeline — design, write, avatar, plugin, Paperclip registration, roster, and optional ClawNet bot deployment.
From bopen-toolsnpx claudepluginhub b-open-io/claude-plugins --plugin bopen-toolsThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
End-to-end checklist for bringing a new agent onto the bOpen team. Work through each phase in order. Do not skip steps.
Plugin repo: ~/code/prompts (bopen-tools on the marketplace)
Pushing to master IS publishing — the marketplace picks up the latest commit automatically.
Before writing a single file, define the agent's identity.
code-auditor, front-desk). This becomes the filename and the subagent_type suffix.sonnet for most tasks; opus for complex reasoning, security, or architecture review.red, orange, yellow, green, teal, blue, purple, pink, gray.tools: field get full MCP access. Agents with tools: only see what's listed, so be complete.Agents use a folder-based package structure with a symlink for Claude Code compatibility:
agents/
{name}.md → {name}/{name}.md (symlink — Claude Code auto-discovers this)
{name}/
{name}.md (actual agent definition — source of truth)
SOUL.md (optional — personality/persona)
HEARTBEAT.md (optional — execution procedures for Paperclip)
TOOLS.md (optional — tool reference)
avatar.png (optional — agent portrait)
mkdir -p agents/{name}
# Write the agent .md file inside the folder
# Then create the symlink at the top level:
ln -sf {name}/{name}.md agents/{name}.md
Claude Code discovers agents/{name}.md (the symlink). Paperclip and ClawNet can reference the folder for the full agent package.
---
name: agent-name
display_name: "Display Name"
version: 1.0.0
model: sonnet
description: One-sentence description of what this agent does and when to route to it.
tools: Read, Write, Edit, MultiEdit, Bash, Grep, Glob, WebFetch, Skill(bopen-tools:relevant-skill)
color: blue
---
Write the body in this order:
Every agent should have at least one concrete documentation reference. Examples:
https://nextjs.org/docs, https://sdk.vercel.ai/docshttps://docs.convex.dev, Bun SQL docs~/code/prompts/agents/mcp.md (read the existing Orbit agent for patterns)Look at existing agents in ~/code/prompts/agents/ for reference. The mcp.md, database.md, and agent-builder.md agents are good structural examples.
Every agent needs a portrait avatar.
Invoke Skill(gemskills:generate-image) or delegate to the gemskills:content agent.
Prompt template:
Portrait of [historical figure name], [brief description of who they are].
Professional headshot style. Clean background. High detail.
Consistent with a team of AI agent avatars.
Specs:
agents/avatars/{name}.pngIf the agent will run as a live ClawNet bot, also generate a 32x32 ICO version for the bot's profile icon. The ICO file goes in the same agents/avatars/ directory as {name}.ico.
~/code/prompts/.claude-plugin/plugin.json1.0.86 → 1.0.87)plugin.json for bopen-tools — the plugin auto-discovers agent .md files from the agents/ directory. No manual registration needed.~/code/prompts/skills/deploy-agent-team/references/agent-roster.md — add a row to the roster table with the new agent's subagent_type, model, and best-for summary..md, avatar PNG, plugin.json, agent-roster.mdAdd {name} agent with avatarcd ~/code/prompts
git add agents/{name}.md agents/avatars/{name}.png .claude-plugin/plugin.json skills/deploy-agent-team/references/agent-roster.md
git commit -m "Add {name} agent with avatar"
git push
If the agent will run inside bOpen's Paperclip instance (paperclip.bopen.io), register it there. Paperclip is the control plane — it manages heartbeats, budgets, task assignment, and org hierarchy.
Paperclip agents are NOT the same as Claude Code plugin agents. Key differences:
| Concern | Claude Code Plugin | Paperclip |
|---|---|---|
| Identity | .md file in plugin repo | DB record via API/UI |
| Personality/prompt | Body of .md file | Prompt template or instructionsFilePath |
| Hierarchy | Flat peers | Strict tree (reportsTo) |
| Budget | None | budgetMonthlyCents with auto-pause at 100% |
| Execution | On-demand subagent | Heartbeat protocol (scheduled wakes) |
| Roles | Freeform | 11 fixed: ceo, cto, cmo, cfo, engineer, designer, pm, qa, devops, researcher, general |
.md file (e.g., "Martha", "Jerry")Claude Code for all bOpen agents running Claude/paperclip/.agents/{slug} where {slug} is the name from the agent .md frontmatter (e.g., code-auditor). On Railway persistent volume.model: field from the .md frontmatter (sonnet → Claude Sonnet, opus → Claude Opus)title field for the actual job descriptiondescription: from the .md frontmatter| bOpen Agent Type | Paperclip Role | Title (freeform) |
|---|---|---|
| CEO / strategist | ceo | Chief Executive Officer |
| Engineering lead | cto | Chief Technology Officer |
| Directory/routing | cmo | Front Desk / Directory Service |
| Financial oversight | cfo | Chief Financial Officer |
| Most specialists | engineer | [Actual specialty] Specialist |
| UI/UX agents | designer | UI/UX Designer |
| Project coordinators | pm | Project Manager |
| Testing/auditing | qa | [Code Auditor / Tester] |
| Infra/CI/CD | devops | Infrastructure Lead |
| Research agents | researcher | Lead Researcher |
| Everything else | general | [Actual role description] |
Agents running in Paperclip must follow the heartbeat protocol defined in the Paperclip skill (see Quick Reference table for path). Reference that skill in the agent's system prompt or install it in their working directory.
Most bOpen agents exist in BOTH ecosystems:
The .md file in the plugin repo is always the source of truth for who the agent IS. Paperclip owns HOW it runs (schedule, budget, reporting chain). Never duplicate the system prompt — reference it or paste it into Paperclip's prompt template field.
For Paperclip on Railway:
ANTHROPIC_API_KEY must be set as Railway env var/paperclip/ volume persist across deploysnode user via gosu entrypoint (not root)Only if the agent needs a live, always-on bot instance (e.g., a 24/7 support agent, a monitoring bot).
Skill(clawnet:clawnet-cli) for the deployment workflow~/code/clawnet (core) and ~/code/clawnet-bot (bot runner)clawnet-bot:clawnet-mechanic) for ongoing health and maintenanceJohnny handles: uptime monitoring, reconnects, key rotation, and ClawNet-specific debugging.
After any new agent is deployed:
bopen-tools:front-desk) about the new agent's name, trigger phrases, and delegation rulesskills/front-desk/references/service-providers.md file if Martha's routing reference needs updatingtools: field)| Item | Location |
|---|---|
| Agent files | ~/code/prompts/agents/{name}.md |
| Avatars | ~/code/prompts/agents/avatars/{name}.png |
| Plugin manifest | ~/code/prompts/.claude-plugin/plugin.json |
| Agent roster | ~/code/prompts/skills/deploy-agent-team/references/agent-roster.md |
| ClawNet core | ~/code/clawnet |
| ClawNet bot runner | ~/code/clawnet-bot |
| Bot maintenance | Johnny (clawnet-bot:clawnet-mechanic) |
| Routing updates | Martha (bopen-tools:front-desk) |
| Avatar generation | Skill(gemskills:generate-image) or gemskills:content agent |
| Paperclip instance | https://paperclip.bopen.io |
| Paperclip repo | ~/code/paperclip (b-open-io/paperclip) |
| Paperclip skill | ~/code/paperclip/skills/paperclip/SKILL.md |
| Tortuga plugin | ~/code/tortuga-plugin (@bopen-io/tortuga-plugin) |
| Agent working dirs | /paperclip/.agents/{slug} (Railway volume) |