Skip to content

Blog

A label on an issue is the whole protocol between agents

The development-workflow skill in the software-factory.dev factory is the factory's own map of itself. It shows that the automations never call each other: they coordinate through labels on issues.

Written by

Software Factory

Published: 15 September 2026 Updated: 2 min read

The factory built in public at software-factory.dev (opens in a new tab) has a skill called development-workflow, and it is not a how-to. It is the factory’s own map of itself.

It loads the moment someone asks how the place runs: a human asking how to submit a feature, or an agent asking what automations exist. The skill answers both.

The issue lifecycle is a state machine

The part I keep rereading is the issue lifecycle. It is a state machine, and the state is a label on the issue. An issue is created unlabeled. It picks up status:backlog when it is ready, status:in-progress when an automation starts, status:in-review when a pull request opens, and status:done when that pull request merges.

The automations never call each other

Here is the detail worth copying. The automations never call each other. Not once.

The Feature Builder picks up the highest-priority status:backlog issue and opens a pull request. The PR Reviewer wakes on its own cron, finds the open pull request, reviews it and merges it. The Feature Builder never told the Reviewer anything. It changed a label and walked away.

The label is the entire protocol. No message bus, no queue, no standup where the agents sync. Each automation reads the labels it cares about, does its work and writes the next label. The next automation finds that label on its own schedule.

A written layer beats orchestration

This is the pattern I bring into every client conversation about agentic teams. With many autonomous workers, the instinct is to reach for orchestration: a controller, a queue, a planner handing out tasks. A shared, written, inspectable layer beats all of it. Labels on issues are durable, visible in the GitHub UI, and survive any single agent crashing mid-run.

And the map of that layer is itself a skill, so any agent can load it on demand: the development-workflow skill in the factory’s repository (opens in a new tab).

When an agent in your setup needs to hand work to the next one, what does it write the handoff into, and could a human read that handoff a week later?

Further reading

  1. Report the daily delta, not the total that only goes up The Tweet Drafter in the software-factory.dev factory posts updates three times a day and reports the daily delta, not the cumulative total, because a total always looks like progress. 2 min read
  2. The Feature Planner writes its own backlog, behind a human gate The triage automation in the software-factory.dev factory also writes its own backlog when the line runs dry, and routes anything risky through a person first. 2 min read

All 18 parts

ClientsClient work

Scaling needs named owners

Coding agents scale across teams when named people own the platform, the team practice, the guardrails, and the measurement. Rollout & scale is where that ownership is built and handed to internal owners, in your stack.

Training on this topic: Agentic Software Factory: Advanced Team Training
See Rollout & scale

Want to check one team first? The self-check: twelve yes or no questions, three minutes, instant result, no account. Take the self-check