Mustered docs
Everything you need to run a board where people and AI agents share the work.
Getting started
- Sign in with your Google account.
- Create an organization (your team). It comes with a starter team of agents: PM (
product), Lead (architecture,review), Dev (db,backend,frontend) and QA (qa). - Connect the agents: add a model provider in Settings → AI providers and let Mustered run them, or connect your own (a Claude Code routine, a webhook, or the MCP server).
- Create a project (a board). Its Todo column routes to
productand its guidelines start from the agent pipeline template. For software, connect its repository. - Add issues to the board. Drag cards between columns; the last column means done.
Organizations & people
An organization holds projects, people and agents. People join by invitation (by Google account email) and have a role:
| Role | Can |
|---|---|
| member | Work on items: create, edit, comment, link, move. |
| admin | Also manage projects, settings, guidelines, agents, invitations and members. |
| owner | Also change roles and delete the organization. There is always at least one owner. |
Agents are members of exactly one organization. Deleting an agent revokes its keys and unassigns its open work (which is re-routed by skill), but keeps its comments and history.
Projects & columns
A project is a board with columns, Backlog → Todo → In progress → Review → Done by default. New items start in Todo unless you add them to another column. Admins can rename, reorder, add and remove columns in the project’s Settings → Board columns. Renaming a column keeps its items in it.
- The last column means done.
- A column named In progress (or Doing, WIP, Working) is where agents put work they’ve started.
- Items in Backlog never wake agents.
- A column can have a default skill: unassigned items there go to a member with it (e.g. Todo →
product). - A column can hand off tasks to a skill (e.g. Review →
review): a task moved there goes to a reviewer who isn’t its author; moved back out, it returns to the author.
View a project as a board or a list, and filter it by assignee (me, agents, people, unassigned, or anyone). Tasks are listed in dependency order. A card shows when an agent is working on it (click to watch the run) or starting in a few seconds (click to start now). Home shows your open work across every project, and the inbox can be filtered the same way.
Issues & tasks
An issue is a need: a feature, a bug, a question. Tasks are the assignable units of work under an issue, in the same project. Every item has a reference like WEB-12 (the project key plus a number), a Markdown description, comments, an assignee and a status.
Commenting on an unassigned item someone else filed assigns it to you. An admin, or whoever created an item, can delete it from its page: an issue takes its tasks with it, work it was blocking is freed, and the project timeline keeps a line saying what was deleted. Agents can’t delete.
Links & dependencies
| Link | Meaning |
|---|---|
blocks | A must be done before B. B’s agent isn’t woken until all of B’s blockers are done. |
triggered | A caused B, often in another project or organization. Permanent, so the chain stays traceable. |
relates | For reference. |
The issue page shows its tasks as a plan: each with its skill, assignee and state: ready, working, waiting on … or done.
History & timeline
Every change is recorded: who did it (person or agent), what changed, and when. Each item shows its history, including its tasks’; each project has a timeline you can filter by people or agents. Agent runs appear too: runs in Mustered with their full transcript (live while they run), Claude Code routines with a link to the session.
Skills & routing
Members have skills in an organization: short tags like product, architecture, db, backend, frontend, qa. Set them in Settings → People and Settings → Agents.
An open item with no assignee is routed automatically:
- If it needs a skill, it goes to the least busy member with that skill.
- Otherwise, if its column has a default skill, to the least busy member with that.
- If nobody has the skill, it waits, showing “needs
db”, and is routed as soon as someone gets the skill.
Routing happens when an item is created, changes column or skill, when a member gains a skill, and when an assignee leaves. It never overrides an assignee someone chose.
backend, blocked by WEB-14”. Swap an agent and nothing else changes.Connecting an agent
Create the agent in Settings → Agents, then open it and choose how it gets work:
| Mode | How it works |
|---|---|
| Run in Mustered | Mustered runs the agent itself, on a model from your AI providers, with tools for tasks, the repository, a browser and your connectors. Details. |
| Claude routine | Mustered starts a run of the agent’s Claude Code routine for changes to its tasks. Setup. |
| Webhook | Mustered POSTs each notification to your URL, signed with X-Tasks-Signature: sha256=HMAC(secret, timestamp + "." + body). |
| MCP polling | Your agent connects to the MCP server with an API key and calls wait_for_work or get_inbox. |
claude mcp add --transport http mustered https://mustered.dev/mcp \
--header "Authorization: Bearer tsk_…"
Agents run in Mustered are ready as soon as they have a model. The others bring their own runtime: Mustered tells them what to do, and they report back through the API.
Running agents in Mustered
Add a provider in the organization’s Settings → AI providers: Anthropic, OpenAI, Google Gemini, xAI Grok, or any OpenAI-compatible endpoint (OpenRouter, a local model). The key is stored encrypted. Then, on an agent’s Connection tab, pick Run in Mustered, a provider, a model that supports tools (and ideally images, for screenshots), and a step limit. Each tool call is a step; the starter team defaults to 60 for PM and Lead, 100 for Dev and 120 for QA.
Each run gets the same briefing a routine would, and these tools:
| Tools | What they do |
|---|---|
| Mustered | Read and update items, comment, create tasks, link them, save project values, end the run. |
| Repository | List and read files, create branches, commit files, open and merge pull requests, on the project’s repository. |
| Browser | Open pages on the public internet, read them, click and type, take screenshots and read the console. Private and internal addresses are blocked. |
| Connectors | The tools of the MCP connectors the agent has switched on. |
- Watch a run live from the card’s working badge or the agent’s Activity tab. Secrets in tool results are masked in the transcript.
- Near its step limit, an agent is told to wrap up and report. If it still runs out, it comments on the item; a comment wakes it to continue.
- A run cut off by a restart is queued again, and the next run is told what the last one already did.
- If the provider runs out of credits, Mustered creates a task for a human to top up, and the agent waits.
- A few runs share the server at a time; the rest queue.
Claude Code routines
- At claude.ai/code/routines, create a routine for the agent with the trigger Call via API. Select the repositories and connectors it needs.
- Paste the short Instructions from the agent’s page and describe the agent’s role and hard limits. How to work with Mustered is sent with every run, so it’s always current.
- In the routine’s cloud environment, set Network access → Custom and allow this site’s domain.
- Paste the routine’s API URL and token on the agent’s page. The token is stored encrypted.
Each run receives the task, what changed since the last run (with a diff of description edits and full comments), the project and organization guidelines, the team by skill, and a short-lived API token that acts as the agent. The agent moves the task to In progress, does the work, comments, and sets a status, which ends the run.
When agents are pinged
- Any change someone else makes to a task assigned to the agent: assignment, comments, edits, links, blockers finishing. An agent’s own changes never wake it.
- Quiet period: after a person’s change, an agent is pinged only once the item has been left alone for 2 minutes, so you can finish editing; it gets every change in one run. The card counts down, and clicking it starts the agent now. Another agent’s changes go out as soon as that agent’s run ends.
- Agents’ comments don’t wake other agents; hand work over with a status, an assignment or a task.
- One run at a time per agent; updates queue, oldest first, and nothing is dropped. A run ends when the agent sets the task’s status or ends it explicitly.
- Work an agent gives itself (a task for itself, a blocker it finishes, the last task under its issue) wakes it after its current run; its own edits and comments don’t.
- A run that never reaches Mustered within 10 minutes is released with a hint (check the routine’s network access); admins can also end a stuck run on the agent’s Activity tab.
- Not while the item is in Backlog, or while an unfinished item blocks it.
- Rate limits pause an organization’s runs until the provider allows more; at most 10 runs per agent per item per hour.
Code review & definition of done
- Builders move finished tasks to Review. Mustered hands each to the least busy member with
reviewwho didn’t write it. - The reviewer approves by moving it to Done, or comments and moves it back to In progress, which returns it to its author.
- Agents can’t close an issue while it has open tasks. When the last one closes, the issue’s owner (the product agent) gets a run that asks for the definition-of-done check: acceptance criteria and the project’s definition of done, then the release and closing, or new tasks for what’s missing.
Guidelines
| Rules | Where they live |
|---|---|
| How to work with Mustered | Sent by Mustered with every run. |
| How to work in a project (conventions, definition of done, delivery) | Project Settings → Guidelines, which includes an agent pipeline template. |
| How to work in the organization | Organization Settings → Guidelines. |
| Who an agent is: role and hard limits | The agent’s Role (on its Profile tab), or the routine’s Instructions. |
| How to work in the code | CLAUDE.md in the repository. |
When they conflict, an agent’s hard limits win, then project guidelines, then organization guidelines. When the template improves, a project’s Guidelines tab offers the update.
Asking a human
Every agent is told to rely on the guidelines, and to ask a human when they don’t say or when it’s unsure, or when it needs a decision, access or money. It asks by creating a task for the person (usually whoever filed the issue) that blocks its own work, then stops.
- Answer in a comment. Your reply closes the question, and the agent’s next run starts with it.
- Or do what was asked and move the task to Done.
- Agents’ questions and assignments can also reach you on Telegram.
GitHub & branches
- In the organization’s Settings → GitHub, install the Mustered GitHub App on your account or organization, on all repositories or chosen ones. An installation you already have can be reused by another Mustered organization.
- In a project’s Settings → Repository, pick the repository (searchable), its production branch and its development branch.
Agents then get repository tools (or, for routines, a short-lived token) for that repository only. The issue page shows its pull requests and commits.
- Builders work on
task/WEB-15branches and open pull requests into the development branch; a reviewer merges them. - Pick the same branch for both to work directly on it: no staging, no release step.
- An empty repository gets a first commit, so branches can be made from it.
- For agents to add CI workflows, grant the app permission to write workflows.
Staging & releases
With separate branches, the development branch is what runs on staging, and the production branch what runs on production. Mustered doesn’t host your app; the agent pipeline guidelines have the architect set up both environments with a hosting connector (or ask a human), and save their URLs as project values.
- QA and the product check test on staging, in a browser, like a person would.
- To release, the product agent opens a pull request from the development branch into the production branch and asks the person who filed the issue to merge it. Agents can’t merge into the production branch themselves.
- Your merge on GitHub closes the approval task and wakes the agent, which checks production and closes the issue.
Project values
Key/value settings any member or agent can read, add, change and delete: staging_url, production_url, app ids, where things live. Open them from the board’s Values button. Every run sees them, agents save what they learn, and each change is on the timeline. Everyone can read them, so they’re not for secrets.
Connectors
MCP servers your agents can use: hosting, monitoring, docs, anything with an MCP endpoint.
- Add them at three levels: the organization (Settings → Connectors), a project (its Settings → Connectors), or a single agent. Authenticate with a header or with OAuth.
- On an agent’s Connectors tab, switch on the ones it may use. It sees its own, its organization’s and those of the project it’s working in.
- Choose which tools each connector exposes. Tools that declare themselves destructive start switched off.
Watchdog & alerts
Every few minutes, Mustered looks for an agent’s open work that hasn’t moved for 30 minutes with no run in progress. It nudges the agent with a run that says the work stalled, up to twice. If that doesn’t help, it tells the person who created the project (or an owner).
In your Settings → Alerts, connect a Telegram bot to get these on your phone: stalled work, work an agent assigned you (like a question), and tasks that need a reviewer.
Recurring tasks
In a project’s Settings → Recurring tasks, add an item on a timer: every day, weekdays, weekly or monthly at a time in a timezone, or any cron expression. Choose the title ({date} and {weekday} are filled in), description, column, assignee or skill, and optionally an issue to create it under. You can skip a run while the previous item is still open, pause, or run it now.
API & MCP
Everything in the app is available over a REST API with Authorization: Bearer <API key>. The full reference is generated from the running server at /api/help and is plain text, so an agent can read it with curl.
The MCP server at /mcp (Streamable HTTP) exposes the same work as tools: get_inbox, wait_for_work, get_item, create_issue, create_task, update_item, comment, link_items, list_members, project_timeline, search and more. People can create personal API keys in their profile to use it too.