Set up a product backlog for AI coding agents with AGENTS.md
Point AGENTS.md at goals.md, impact.md and backlog.md in your repo, and your AI coding agents read the why before they build.
What AGENTS.md is
AGENTS.md is a plain markdown file in your repo that tells coding agents how to work there. Codex, Cursor and many other agents read that file before they work, and Claude Code reads it when your CLAUDE.md imports it. To import it, add the line @AGENTS.md to your CLAUDE.md. The format is described at agents.md.
Set up your backlog with one line
Paste this line into Claude Code, Codex or Cursor. Your agent writes your backlog files, adds an AGENTS.md block and installs the Inwoven skill in your repo. It follows the setup instructions.
Set up Inwoven in this repo: follow https://backlog.works/setup.mdInstall the skill yourself
The setup line already installs the Inwoven skill in your repo. To install it yourself, for example on your own machine, run these commands. The skill tells your agent how to pick an item, read its goal, check the product files and keep the lessons you approve. It needs GitHub CLI 2.90 or later. Claude Code and Codex have plugin commands on GitHub.
gh auth login
gh skill install priaby/inwoven inwovenWhat your agents read
Your agent reads backlog.md, goals.md and impact.md, in docs/product/ unless you change the path in the block. Before it starts an item, it finds the item in impact.md and reads its goal. It also reads learnings.md, the lessons you approved. When it finishes an item, it may propose one lesson and writes it only after you say yes. It never marks an item Done or reorders rows. You accept and order.
- backlog.md Every item, one row each. Row order is priority.
- goals.md Your goals, each with a measure and a horizon: Now, Next or Later.
- impact.md One map per goal. It lists who must act differently, how, and the item ids that cause it.
The AGENTS.md block
The setup line adds this block. You can also paste it into your AGENTS.md yourself.
## Product files
Our product files are in docs/product/. Change the path if yours differ.
- backlog.md: one row per item. Row order is priority.
- goals.md: the goals, each with a measure and a horizon: Now, Next or Later.
- impact.md: one map per goal. It lists who must act differently, how, and the item ids that cause it.
- learnings.md: lessons the team approved, one line each. A lesson expires after 90 days unless a check enforces it.
## Working an item
- Work the highest item whose Status is In Progress. Start a To Do item only when the person who owns the backlog asks.
- Before you start, find the item's id in impact.md and read its goal, actor and change. If the id is not there, say so.
- Read learnings.md before you start. When you finish an item, you may propose one lesson as a table row; write it only after the person says yes.
- Status is To Do, In Progress or Done. An empty Status cell means To Do. Tags follow `<br>`, such as Ready, Waiting on:, Due:, Accepted: and Reopened.
- If an item is blocked, add `Waiting on: <condition>` as a tag.
- Never mark an item Done, add Accepted or Reopened tags, reorder rows or delete items. The person accepts and orders.
- Keep backlog.md valid: keep the header, five cells per row and every id. A title is at most 80 characters.