harnsy

How harnsy works

A short interactive course on how harnsy lets a multi-agent team work on your machine: what harnsy does, who is who, how agents talk, and how to run your own team. Nearly every lesson has something to try.

4 modules17 lessonsabout 25 minutes

  1. 1What harnsy does
  2. 2Who is who: company, project, team, role
  3. 3How agents talk: messages and handover
  4. 4Running your own team of agents

Not startedHow harnsy works

What harnsy does

You already use a coding agent. harnsy lets several of them work as one team on your machine, and keeps you in charge.

1.1The problem: you are the post office

You already use Claude Code, Codex or OpenCode. Each one works well alone. The trouble starts when you run several. One agent finishes something the next one needs, and you copy it across by hand. You become the post office between your own agents. Your time goes to passing things along, not to deciding.

harnsy links these tools. It runs on your machine. It delivers a message straight into a running session, and the agent reads it in the turn it is already in.

Step by stepBoth sides move together.

Without harnsyYour steps: 0

  1. kestrelbill-backend finishes the export endpoint.

With harnsyYour steps: 0

  1. kestrelbill-backend finishes the export endpoint.

Steps you do yourself so far: 0 without harnsy, 0 with harnsy.

Step 1 of 5

1.2You lead, agents work

In harnsy you are the boss and the reviewer, not a member of the team. You say what you want. A lead agent splits it into work for the others. They do it and check each other. You step in only when something waits for you: an answer, a permission, or a result to accept or send back.

You talk to the lead, not to every agent. What matters is that the result is what you asked for.

harnsy does not promise work without a person. On hard tasks agents still go off track. What it gives you is a process where your time goes to the lead and to the moments that need you.

Human checkpoints →

Answer itThese are the dashboard's own words.

Waiting for you1waiting

kestrelbill-lead kestrelbill · Lead

Should «download all invoices as ZIP» (#429) be on every plan or paid only?

1.3Meet the harnesses

A harness is the tool an agent runs in: Claude Code, Codex or OpenCode. harnsy connects the tools you already have. It does not replace them. It uses only the way each tool offers to receive a message. Permissions stay the tool's own.

Pick a harness

harnsy writes the message into the running session's own inbox, as a user turn, not as typed keys.

You keep using it the way you did.

No path types into a terminal. If a delivery fails, harnsy says so. It does not try again by typing.

1.4Key terms

Each card says the same as the module that uses the word. Come back here when a word is unclear.

Glossary13 terms

Who is who: company, project, team, role

The parts of harnsy: company, project, team, role, lead, agent, item, and the dashboard where you see them.

2.1Company, project, team, role

A company is the whole picture. It keeps the role templates. A project is a folder you work in. A team belongs to one project folder. A role is a post in the team, with a mandate, goals and a deliverable.

Roles stay. Agents sit on roles. When an agent is replaced, the role stays.

So instructions, versions and written handover notes carry the work, not one session's memory. That is the idea behind «the company stays, the agents change».

Persistent roles →

Open one level at a time

CompanyKestrelbill

The whole picture. Keeps role templates every project can use.

1 of 4 levels

Company: The whole picture. Keeps role templates every project can use.

2.2Lead and agents

Every team has a lead role at the top. The lead hands out work and watches who is idle or stuck. It asks you only what it cannot decide.

Agents hold the roles below. A role can have more than one holder for a while: a successor sits next to the old holder until the handover is done.

The lead is told when:

  • an agent is idle with open work;
  • an item stalls;
  • a holder's context runs high;
  • a holder is gone with open work.

The lead does not check on a timer.

Pick a rolePick a role to see its job.

Leadonline
Mandate
Splits what you ask into items, hands them out, keeps the team moving, asks you what it cannot decide.
Held by
kestrelbill-lead
Harness
Claude Code
Context used
41%

2.3Items: the work

Work is tracked as items. An item belongs to a role, not to a session. A successor finds it where the old holder left it.

An item moves New → Taken → In progress → In review → Done. It can also be Blocked while it waits (for you, or for something outside until a date), or Dropped. Nothing moves by itself: someone moves it.

When an agent hands in an item, it writes a summary and evidence. Whoever asked judges the result: accept it, or send it back with a note.

Task management →

Move the item

#412Partial payments in JPY round to 0.01New
Also possible:
Who moves it
The lead writes it from your request and picks a role.
What they write
What, why, and the criteria.

2.4Dashboard, tray, bell

You do not watch the dashboard all day. It calls you: a tray notification, the bell, a wait or a failure. You act and go back to work.

It runs on your machine at 127.0.0.1:7788 and answers only on your machine.

A colour means one thing everywhere. Amber: waits for a person. Green: works. Red: failed, or has no holder. Blue: an action. Every colour also has a word or a shape.

Notifications and settings →

Read the coloursPick a row.

Agentskestrelbill

Amber, green, red, blue: one meaning each, everywhere in the dashboard.

Check yourself

  1. An agent row is amber. What does it need?

0 of 1 answered

How agents talk: messages and handover

Three channels with three jobs: messages, items and handover.

3.1Three channels, three jobs

A message is a quick word to one agent, delivered into its running session. An item is work with an owner, a state and a result. A handover is a written note. It lets a new agent take over a role when the old one's context is full.

A message says something. An item gets something done. A handover keeps the work going from one session to the next.

Compare

MessageItemHandover
What it isA quick word to one agentWork with an owner, a state and a resultA note to the next holder of a role
Who writes itAny agent, to another by nameWhoever asks; the lead hands it to a roleThe agent whose context is nearly full
How long it livesOne turn of a conversationUntil it is accepted or droppedUntil the successor confirms it
What proves it arrivedok means handed to the harness. Not read, not done.The state on the board, and evidence on submitThe successor confirms it read the note

3.2A message arrives

An agent sends a message to another by name. harnsy hands it to the harness the recipient runs in, in that harness's own way. The recipient answers with a reply tied to the first message, so one conversation stays one conversation.

Everything on the bus is recorded. You can see who talked to whom in the Messages tab and the Links graph.

Agent-to-agent communication →

Step by step

kestrelbill-leadharnsykestrelbill-backend
  1. 1The lead sends a message to kestrelbill-backend by name.
  2. 2harnsy hands it to the harness that runs the backend (Codex).
  3. 3The text lands in the backend's running session, in this turn.
  4. 4The backend replies; the reply is tied to the first message.
  5. 5The exchange is recorded: Messages tab and the Links graph.

kestrelbill-backend · session

› codex · ~/kestrelbill · kestrelbill-backend

Running tests for #418 retry worker…

The lead sends a message to kestrelbill-backend by name.

Step 1 of 5

3.3The key difference

Match each channel to the line that describes it.

MatchPick a channel, then the line that fits it.

0 of 3 paired

3.4When to use what

If you need a result that someone must judge, make an item. If it is a question or a fact, send a message. If the agent that holds the knowledge is about to leave, write a handover.

Pick a channel

  1. Ask the tester whether the build is green.

  2. Add checkout API tests by Friday; the lead will accept.

  3. The designer's context is at its threshold and a successor is coming.

  4. The reviewer found a bug in a finished item.

0 of 4 answered

3.5Handover: the company stays, the agents change

Every step an agent takes sends its whole context again, and a context has an end. Each role has a handover threshold. When the holder reaches it, the lead is told.

The work continues because the next agent follows a note. It is not endless memory. harnsy has no memory feature today.

Handovers →

Step by step

Backend developerthreshold 70%
kestrelbill-backend52%
  1. kestrelbill-backend works. Every step sends its whole context again.
  2. The context reaches the role's threshold (70%). The lead is told.
  3. The holder stops taking new work.
  4. It writes a note: the goal, what it owns, open threads, decisions and why, next steps.
  5. It tells the lead where the note is.
  6. The lead opens a replacement on the same role.
  7. The replacement reads the note and confirms.
  8. The old agent stays as a consultant until the lead releases it.

kestrelbill-backend works. Every step sends its whole context again.

Stage 1 of 8

Running your own team of agents

From nothing to a first team, what a role document holds, and how you answer and review.

4.1From nothing to a first team

Six steps, from installing harnsy to your first word to the lead. An initiator agent sets the team up with you; it saves nothing without your yes.

harnsy without a key: 1 project, 10 running agents, no other machines. A restore that would go over 10 opens nothing.

Walk through

What you need first · 0 of 3

harnsy does not install these and does not sign you in.

  1. Install

    Paste this into your agent. It shows its plan first, then installs.

    Install harnsy following https://harnsy.dev/llms.txt
  2. Answer the installer

    Run it in a separate terminal. It asks a few yes/no questions. Each change to your settings is shown before it is made, and you can say no.

    harnsy install
  3. Open the dashboard

    At 127.0.0.1:7788. It is empty and says «Start your first team».

    Start your first teamRun the initiator

  4. Run the initiator

    Click «Run the initiator», enter your project folder, press «Open the initiator». It opens as a tab in Terminals. It asks about your company, folder, goals and roles, and saves nothing without your yes. The lead is always on the list.

    Open the initiator

    keep it open Keep this tab open. This is where the initiator asks you questions.

    initiator · ~/kestrelbill

    What is the company called, and what does it make?

    Kestrelbill. Invoicing for freelancers.

    I read the folder: a Go backend, a Vue front end, tests in CI. Positions found:

    1. Lead
    2. Backend developer
    3. Frontend developer
    4. Reviewer
    5. QA engineer

    Save the company, the project and these five roles? (yes / no)

  5. Seat the lead

    Copy the invite link. Open a fresh agent in the project folder and paste the link. That agent becomes the lead and fills the other seats.

    invite linkhttp://127.0.0.1:7788/i/4kq2-7f3a
  6. Tell the lead what you need

    You do not create tasks yourself. The lead turns your words into tasks and hands them out. Answer when it asks.

4.2What a role document holds

A role document is what an agent reads when it starts. It holds the mandate, goals, deliverable, what to read first, who the lead is, the handover threshold, and what the post did before.

A company template gives the base. A project adds its own text on top. A change is saved as a new version, and the holder is told their duties changed.

Read the documentPoint at a block to see why it is there.

Or move the keyboard focus to a block.

Backend developerv3kestrelbill

4.3Permissions and review

harnsy does not override a harness's permissions. When an agent asks to run something, or asks you a question, the bell shows it with buttons. You answer there, without opening the agent's terminal. Amber means it is waiting for you.

When an item reaches In review, whoever asked judges it. For your own requests, that is you, on the item's card.

The bell

Tasks / kestrelbill

Waiting for you2oldest first

kestrelbill-reviewkestrelbill · Reviewer

Asks permission to use Bash

Command

go test ./billing/... -run TestRecurring -count=20

kestrelbill-leadkestrelbill · Lead

Include archived invoices in the CSV export?

Check yourself

  1. Who may approve a permission an agent asks for?

0 of 1 answered

4.4Final check

One question. It checks that you can read the dashboard.

Final check

  1. A role in the dashboard is red and says «The seat is free: the agent is gone.» What happened?

0 of 1 answered

You have the picture

Install harnsy and seat your first team: the last module walks you through it.

Install harnsy
site-3flead · Claude Codeliveview only
❯ Plan #42 with the team.

Waiting for the breakdown from analyst-7a…

from analyst-7a through harnsy❯ #42 broken down: three acceptance criteria, including a retry after 24 h.

I’ll hand #42 to site-9a.

❯