Per-project board template
A reusable template for the board the github-project-backlog skill creates at project kickoff. Companion to the Paid Work board, which is the cross-client one.
Why a template at all
Views cannot be created through the API. There is no gh project view-create, and no public GraphQL mutation for it. gh project can create fields but never views.
So a script can only ever produce a board with one unnamed table view, which is what the skill does today. The only way to get a configured board from a script is:
- Build one template project by hand, with the fields and views wanted
gh project mark-templateit- Have the skill run
gh project copyinstead ofgh project create
Copying carries fields and views across. That's the whole reason this page exists.
The trap: two boards don't share field values
An issue can sit on both this board and Paid Work. Custom field values are per-project, so they do not sync. Setting Status to In progress here does nothing to the same issue on Paid Work, and card order is independent too.
That's not a bug to work around, it's a reason to give each board a job and not overlap them.
| Board | Owns | Question it answers |
|---|---|---|
| Paid Work | Status, Priority, Up next | What am I doing today, across everything |
| Per-project | Phase, Target date, epics | What's in this project, and when does it land |
Rule: Paid Work is the truth for status. The per-project board is for scoping at kickoff and for showing a client where things are. If Status gets set on both, they will drift, and the global one wins.
Status is a built-in field so it can't be removed from the project board. Ignore it there rather than fighting it.
Fields
| Field | Type | Why |
|---|---|---|
Priority | Single select: High, Medium, Low | Matches Paid Work, so the same word means the same thing on both |
Target date | Date | Drives the roadmap view |
Phase | Single select: Discovery, Build, Launch, Aftercare | Where in delivery this sits |
Milestones are native to the repo and already show up as a field, so no custom field for them.
Deliberately not included:
| Field | Why not |
|---|---|
Size, Estimate | I don't estimate, so they'd sit empty |
Iteration | I don't run iterations. It came free with GitHub's template, which isn't a reason to keep it |
Start date | Only useful with a Gantt-style plan, which this isn't |
GitHub's built-in template ships all four of those. They're the same trap as the eight-field version of Paid Work: fields nobody fills in stop meaning anything, and then the board stops being trusted.
Views
| View | Layout | Shows | For |
|---|---|---|---|
Board | Board, by Status | Everything open | Day-to-day working view |
Backlog | Table | Everything open, sorted Priority then Target date | Deciding what's next in this project |
By phase | Table, grouped by Phase | Everything open | What's left before this ships |
Roadmap | Roadmap, by Target date | Everything with a date | Showing a client when things land |
Waiting on client | Table | Status is Waiting on client | The chase list for this client |
Recently done | Table | Status Done, sorted newest | Writing an update, and invoicing |
Dropped from GitHub's defaults:
My items— everything is mine, so it's the same asBacklogCurrent iteration— no iterations to be current in
Roadmap and Recently done are the two that earn their keep here rather than on Paid Work. A client wants a timeline and a "what did you do this month", and neither question is cross-client.
Building it
- Create a project called
Project template, set up the fields and views above by hand gh project mark-template <number> --owner nathan-roberts- Change
create_github_backlog.pysoensure_project()runsgh project copy <template> --source-owner nathan-roberts --target-owner nathan-roberts --title "<project> backlog"instead ofgh project create - Keep the existing
gh project linkstep so the board attaches to the repo
Worth checking after the first copy: whether the copy brings view filters across or only the view names and layouts. If filters don't survive, they're a one-off manual fix per project and the template is still worth having.
Related
- Paid Work board, the cross-client board
- Claude skills, what
github-project-backlogdoes today