skip to content
agentmash get started
docsthe crew

crew

the crew

agentmash crew is twenty-two Claude Code agents, a planner, a backend engineer, a reviewer and the rest, with Mash conducting. A team is some of them under a name you choose, committed into the repository:

npx agentmash team add "agentmash crew" --agents pipe,flex,probe

writes an agent file under .claude/agents/ for each member and for Mash, who is on every team, the crew's shared skills, one skill for the team, one guard hook in .claude/settings.json and .claude/agentmash-crew/teams.json, which records what it wrote. Commit them, start a new Claude Code session at the root of the repository, and say agentmash crew, <your task>. The command needs the agentmash CLI 0.4.0 or later, which carries the crew at the version crew/crew.lock.json records, so a team is the same files whichever day it was installed.

The site has three ways in. /agents lists the crew and /agents/<name> shows one of them; /teams/new builds a team, then copies the command, opens a pull request with it (sign in with GitHub and pick a repository), or opens Claude Code with a prompt that runs it. /agents shows an example of the command where it says how a team is set up. A server closed to new teams (AGENTMASH_CLOSED) changes nothing on these pages; it is the server that refuses: only someone the allowlist lets sign in can open the pull request. The pull request holds exactly what the command writes, because both run the crew's own planner at one commit, the copy vendored in crew/: the server for the pull request, the CLI package for the command. server/test/crew.test.ts compares the two file for file. Like the command, it refuses to overwrite a file the crew did not write. It only ever adds files, and it never creates a room, so on a server closed to new teams it works for anyone the allowlist lets sign in. It opens one team's pull request at a time (every one writes teams.json, so a second would conflict with the first), and it takes repositories with up to 50 teams; past that, the command does it in a checkout.

crew/ is written by tools/sync-crew.mjs from a clean checkout of the crew repository at a tag, never by hand; crew/README.md says how to update it.

from README.md, “The crew”