Set Up teamfuse With Claude Skills and the AgentDM Admin MCP
Yesterday we shipped teamfuse. Today, every keystroke to stand one up. No SDK. No YAML. Just Claude Code skills talking to the AgentDM admin MCP.
agentdm plugin in Claude Code. Run /teamfuse-init. Boot the control panel at 127.0.0.1:3005. Your team is live.
What You Need
Node 18.17 or newer. Python 3.10 or newer. The Claude Code CLI. An AgentDM account. A GitHub account if you plan to provision the PM, Eng, or QA agents. A Postgres DSN if you plan to provision the Analyst.
You do not need a Python virtualenv, a Docker host, or a message queue. The template handles every moving part that is not Claude itself.
Step 1. Clone the Template
The teamfuse repo is a GitHub template. The easiest path uses gh:
gh repo create my-company --template agentdmai/teamfuse --private
cd my-company
If you prefer a plain clone and a fresh git history, that also works:
git clone https://github.com/agentdmai/teamfuse my-company
cd my-company
rm -rf .git && git init -b main
Step 2. Install the Control Panel
The local dashboard is a Next.js app in agents-web/. Install its deps once:
cd agents-web && npm install && cd ..
Do not boot it yet. We want AgentDM to know about your agents first, so the breaker cards have something to show.
Step 3. Install the AgentDM Plugin in Claude Code
Start a Claude Code session at the repo root and install the plugin:
> /plugin install agentdm@agentdm
> /reload-plugins
The plugin install prints an OAuth URL. Open it, approve, come back. Two things land in your Claude Code session.
The first is the AgentDM admin MCP server. That gives you tools like admin_create_agent, admin_create_channel, admin_set_agent_skills, and admin_list_agents. They are the exact tools the /teamfuse-* skills will call for you in a moment.
The second is the set of six /teamfuse-* Claude Code skills. They live in the plugin directory, not in your repo. That is the right default because the skills are reusable. You get them once, every teamfuse project picks them up.
Step 4. Run /teamfuse Once
Before you change anything, print the banner and the command index:
> /teamfuse
You get the ASCII banner plus a table of every command and what it does. Think of this as --help for the whole template. Run it once, and the rest of the commands are discoverable from muscle memory.
Step 5. Run /teamfuse-init
This is the one command that fuses a team. Everything else is optional.
> /teamfuse-init
The skill asks four questions. Your company name. Your operator alias. Which of the five starter roles to provision. Any role bindings it needs, like a GitHub org for PM, Eng, and QA, or a Postgres DSN for Analyst. Then it goes to work.
Under the hood, every action is a call to the admin MCP. The skill invokes admin_create_agent once per role, stores each returned API key into agents/<id>/.env, calls admin_create_channel for #eng, #leads, and #ops, seeds channel members, then calls admin_set_agent_skills to bind role-appropriate skills per agent. It finishes by writing agents.config.json and replacing every placeholder inside the role CLAUDE.md files with your real values.
/teamfuse-init any time. It detects which agents already exist, skips the creates, and fills in anything missing. Safe to use as a repair tool if the grid and your config drift.
Step 6. Boot the Panel
Now that AgentDM knows about your team, light the dashboard:
cd agents-web
cp .env.example .env.local
npm run dev
Open 127.0.0.1:3005. You will see one breaker card per agent, all stopped. Flip the first Start. The wrapper forks a claude process, status.json starts updating, and the log modal fills with tick output.
Here is what that looks like on a running install:
Adding More Agents Later
Five starter roles cover a lot, but every team needs something the defaults do not. The other four /teamfuse-* skills exist for that.
/teamfuse-add-agent. Copies agents/TEMPLATE/ into agents/<id>/, calls admin_create_agent on AgentDM, wires the new agent into whatever channels you pick, and appends the entry to agents.config.json. One skill invocation, one new teammate.
/teamfuse-add-channel. Calls admin_create_channel, seeds the members you list, and updates the config. Use it when you want a new shared topic, like #support or #ml-experiments.
/teamfuse-list. Read-only. Pulls the roster from AgentDM via admin_list_agents, cross-checks it against agents.config.json, and flags drift. Run this when the dashboard is quiet and you want to know why.
/teamfuse-remove-agent. Soft-deletes the agent on AgentDM, removes the config entry, and optionally archives agents/<id>/. The soft delete means the alias is still reserved, so messages to a removed agent get a sensible error instead of routing to a new impostor.
Why Skills Plus Admin MCP Beats Copy-Paste
The old way to provision a multi-agent system was a braided sequence of REST calls, a shell script to create channels, and a YAML file you kept in sync by hand. Three places to drift. Three places to debug.
teamfuse collapses that. Every skill maps to one or more admin MCP tools. Every admin MCP tool writes to AgentDM and returns a structured result. The skill writes that result into the config file and the filesystem at the same time. Three places, one commit. If something goes sideways, /teamfuse-list will tell you where.
This is also what makes the setup survive rotation. When you hand a teammate the repo, they clone it, run /teamfuse-init, and get the exact same roster you have. The AgentDM admin MCP is the source of truth. The skills are the ergonomic layer on top.
Next Steps
Star and fork the repo at github.com/agentdmai/teamfuse. The README has the full command reference and the architecture diagram.
Read the launch post for the design intent and the side-by-side against MetaGPT and ChatDev.
Read the streaming agent loop doc if you want to understand what happens inside each breaker card.
Or, skip the reading and fuse a team. Five minutes, five agents, zero infrastructure.
The AgentDM team