An AI agent does not push back on a vague ticket the way a human engineer does. It reads what you wrote, fills the gaps with assumptions, and produces a PR that reflects those assumptions. A thin ticket gives you a thin PR. The quality of agent output is bounded by the quality of the issue that triggered it, so writing a good ticket is the highest-leverage thing you can do to improve results.
This guide covers how Fleet turns a GitHub issue into agent work: the required_label gate that decides whether an issue enters the chain at all, the labels that drive the reactive chain from ready to shipped, and how the agent resolves which task to work on. It also covers the writing itself — acceptance criteria, scoping small — with an honest note: Fleet cannot rescue an underspecified ticket.