The /yarnt agent skill
The MCP server gives an agent the tools to work your board. It does not
tell the agent what to do with them. An agent with twenty tools and no instructions picks the
easy tasks, reopens decisions, and stops early. /yarnt is a skill for Claude Code
that gives it a loop: work your queue until it is empty, then halt.
When you run it, the skill does this:
- Reads the repo's
.yarntfile to learn which Yarnt project this checkout is. - Pulls every task in that project assigned to its own robot. It never pulls your tasks or unassigned tasks.
- Reads each description and its comments as the spec. Then it does the work or dispatches it to subagents.
- Tests, commits, merges, and finishes the task. It does not publish (push, release, deploy). Whatever runs the skill does that.
- Hands back any task it cannot progress: it comments why, calls
unstart_task, and reassigns the task to you. - Re-checks for tasks assigned while it worked, then halts. It does not poll and does not use timers.
Setup
1. Connect the MCP server
In Claude Code, add the server and authorize it. The MCP page has the details.
claude mcp add --transport http yarnt https://mcp.getyarnt.com
The consent screen asks you to pick or create a robot. A robot is a workspace member with the fewest permissions. The agent acts as it. Name it for the agent. Robots are not paid seats. They share the plan's number of tasks in flight for each human.
2. Install the skill
mkdir -p ~/.claude/skills/yarnt
curl -o ~/.claude/skills/yarnt/SKILL.md https://getyarnt.com/docs/yarnt-skill.md
You can read it first: yarnt-skill.md. It is a plain Markdown file. Edit it to match how your team works. It stops at a committed, merged task. To make the agent push or deploy, add that step yourself.
3. Tell the repo which project it is
Commit a .yarnt file at the repo root naming its Yarnt project:
project: Yarnt
The project a repo belongs to is a fact about the repo, like its remote, so the repo holds it.
Without the file, the agent guesses from the directory name. If the guess is ambiguous, it
asks you. Then it writes the file itself. The file lets a human correct a bad guess. It also
lets a coordinator map projects to checkouts by globbing */.yarnt.
4. Assign it work
The agent picks up only tasks assigned to its robot. Assign them in the app or with the tools:
whoami -> abcd1234-... Yarntbot (integration)
update_task id=<task> assignee=abcd1234-...
5. Run it
/yarnt
With an empty queue, it says so and stops. It ends when no work is left, not on a timer.
The robot works only its own queue. It never picks up tasks on your plate or on nobody's, however relevant they look. Assigning a task hands it over.
Rules and reasons
| Rule | Why |
|---|---|
| Work the whole batch before re-checking | If it can choose, an agent takes the easy tasks and leaves the hard ones. |
| Read the body, not the title | list_tasks shows one line. The spec is in the description and comments. A design made from a title alone builds the wrong feature. |
| Blocked work escalates, never lingers | A task left in doing holds a WIP slot, and every later run sends an agent to the same dead task. Comment, call unstart_task, and reassign. The task then leaves the robot's queue. |
| Comment before unstarting | unstart_task clears the blocked flag and its reason. The comment is the only durable record of why the agent stopped. |
| Halt, do not poll | An agent that waits for work spends tokens on an empty queue. Run it again after you assign a task. |
Other agents
The skill is written for Claude Code. A Claude Code skill is a Markdown file with a name and a description. The loop does not depend on Claude. Any agent that can call the MCP tools can follow the same instructions as a system prompt.
Questions about agents on Yarnt: hello@getyarnt.com.