| name | board |
| description | Operate the company delivery board (GitHub Project) — add items, move status, assign iterations, build epics, query the backlog. Use whenever a skill or agent needs to read or write the board, or the user mentions the board, backlog, epics, or iterations. |
Board operations
The board is the team's shared view of delivery: one GitHub Project per company/org, holding the actively-pushed repos. Every operation below runs against the values in docs/agents/board.md (org, project number, field names) — read that file first; if it's missing, the repo hasn't run /setup, so say so instead of guessing.
All commands need the project scope: on a scope error, gh auth refresh -s project and retry.
Items
gh project item-add <number> --owner <org> --url <issue-url>
gh project item-list <number> --owner <org> --format json
Moving status and setting iterations are field edits on an item:
gh project item-edit --project-id <PID> --id <ITEM> --field-id <FID> --single-select-option-id <OPT>
Resolve the ids once per session: gh project view <number> --owner <org> --format json gives the project id; gh project field-list <number> --owner <org> --format json gives field and option ids. Cache them in the conversation rather than re-fetching per item.
Epics
An epic is a parent issue labelled epic whose children are GitHub sub-issues. Building one:
gh issue create --title "<epic>" --label epic --body "<goal + scope>"
gh api --method POST repos/<org>/<repo>/issues/<parent>/sub_issues -F sub_issue_id=<child-db-id>
Progress of an epic = state of its sub-issues: gh api repos/<org>/<repo>/issues/<parent>/sub_issues --jq '[.[] | {number, title, state}]'.
Queries the other skills mean
- "the backlog" — board items with Status = Backlog.
- "ready work" — Status = Ready, no open blocker, in the current iteration if one is set.
- "in flight" — Status = In Progress or In Review, grouped by assignee (this is the WIP view; per-person WIP limits live in
docs/agents/board.md).
- "put it on the board" —
item-add, then set Status = Backlog.
Filter item-list output with jq on the JSON; the Projects GraphQL API (gh api graphql) is the fallback for anything item-list can't express (e.g. iteration field values).
The seam
Tickets from the Architect (/to-tickets) land as Backlog suggestions. Implementation starts only after the Product Manager and Delivery Lead pull an item into an epic + iteration and it reaches Ready — an Engineer picking work reads "ready work", never the raw backlog.