Board Triage
Systematic review of the GitHub project board. Do every step — don't skip any.
Steps
1. Get current board state
bash
python3 scripts/board_view.py
2. Get open issues not on the board
bash
gh issue list --state open --limit 50 --json number,title,labels,createdAt
- •Cross-reference with board output
- •Any open issue NOT on the board is invisible to the listener — flag it
3. Check each column for anomalies
Backlog:
- •Items with
needs-discussionlabel: skip (listener won't process) - •Items older than 7 days with no activity: flag as potentially stale
- •Items with
auto-mergelabel that should have been processed: investigate why listener didn't pick them up
In Progress:
- •Should have an active CTO or worker on them
- •Items with
needs-discussionlabel should NOT be In Progress — demote to Backlog - •Items stuck more than 24 hours: flag
Testing:
- •Should have an open PR
- •Check each:
gh pr list --state open --json number,title,headRefName - •Items with no PR: investigate — the PR may have merged without board update
- •Items with merged PRs: should move to Deployed
Deployed:
- •Items here should be recently shipped and awaiting Jon's "Retire" comment
- •Items older than 14 days: flag for retirement
4. Check for orphaned PRs
bash
gh pr list --state open --json number,title,labels
- •Any open PR without a corresponding board item: flag
- •Any open PR with stale branch (no commits in 7+ days): flag
5. Check listener health
bash
tail -20 scripts/gh_listener.log
- •Look for errors, especially "Failed to move card" or "Could not resolve"
- •Confirm the listener ran within the last 3 minutes
6. Summarize
Output a clear summary:
- •Items that need action (with recommended action)
- •Anomalies found
- •Listener health status
- •Anything that needs Jon's input (label as
needs-discussion)
Do not fix anything without asking first — this is a diagnostic skill, not a fix-it skill.