Kanban Project Management
Project Board
The Anubis Issue Tracker project board is already created and configured:
- Project URL: https://github.com/users/forrestthewoods/projects/8
- Project Number: 8
- Owner: forrestthewoods
Important: Do NOT create a new project board. Always use project #8.
Board Status Workflow
The project board uses these seven status columns:
| Status | Description |
|---|---|
| Backlog | Future ideas or deferred work; not ready for action yet |
| Triage | New issues not yet added to the project board |
| Needs Agent Review | Issues ready for agent to review and categorize |
| Needs Human Review | Agent has questions; waiting for human clarification |
| Ready to Implement | Agent reviewed, wrote plan, no questions remaining |
| Needs Code Review | Implementation in progress (has active branch) |
| Done | Closed and completed (automatic via GitHub) |
Important: Issues in Backlog should be completely ignored by all skills. These are tasks that have been captured so they won't be forgotten, but are not ready for action. They will be moved to Triage or Needs Agent Review when they are ready to be worked on.
Workflow Overview
- New issues are created in GitHub Issues
- Issues not in the project are placed in Triage
- Issues move to Needs Agent Review for agent processing
- Agent reviews each issue:
- Labels the issue as
difficulty: easy,difficulty: medium, ordifficulty: hard - If clarification needed → post questions as comment → move to Needs Human Review
- If no questions → write detailed implementation plan as comment → move to Ready to Implement
- Labels the issue as
- When implementation begins, agent creates branch using the branch naming convention
- Issues with active branches are detected and moved to Needs Code Review
- When issue is closed, GitHub automatically moves it to Done
Purpose
This skill helps manage the existing project board by:
- Adding new issues to the board
- Moving issues through workflow stages
- Organizing issues by difficulty labels
- Generating board status reports
- Maintaining board hygiene
Instructions
Step 1: View Current Board State
bash1# List all items on the project board 2gh project item-list 8 --owner forrestthewoods --format json 3 4# View project details 5gh project view 8 --owner forrestthewoods --format json
Step 2: Add New Issues to Board
When new issues are created, add them to the board:
bash1# Add a single issue 2gh project item-add 8 --owner forrestthewoods --url https://github.com/forrestthewoods/anubis/issues/<number> 3 4# Add all open issues not yet on board 5gh issue list --state open --json url -q '.[].url' | while read url; do 6 gh project item-add 8 --owner forrestthewoods --url "$url" 2>/dev/null 7done
Step 3: Move Issues Through Stages
Update issue status based on progress:
bash1# Get project and field IDs 2gh project view 8 --owner forrestthewoods --format json 3 4# Get item ID for specific issue 5gh project item-list 8 --owner forrestthewoods --format json | jq '.items[] | select(.content.number == <issue-number>)' 6 7# Update status 8gh project item-edit --project-id <project-id> --id <item-id> --field-id <status-field-id> --single-select-option-id <option-id>
Status Transition Rules:
| From | To | Trigger |
|---|---|---|
| Triage | Needs Agent Review | Issue added to project board |
| Needs Agent Review | Needs Human Review | Agent posts clarifying questions |
| Needs Agent Review | Ready to Implement | Agent writes implementation plan |
| Needs Human Review | Needs Agent Review | Human responds to questions |
| Ready to Implement | Needs Code Review | Agent creates implementation branch |
| Needs Code Review | Done | PR merged and issue closed |
Step 4: Manage Difficulty Labels
Ensure issues have appropriate difficulty labels:
bash1# Create difficulty labels (if not exist) 2gh label create "difficulty: easy" --color "0E8A16" --description "Simple change, good first issue" --force 3gh label create "difficulty: medium" --color "FBCA04" --description "Moderate complexity" --force 4gh label create "difficulty: hard" --color "D93F0B" --description "Complex, requires significant effort" --force 5 6# Add label to issue 7gh issue edit <number> --add-label "difficulty: easy|medium|hard"
Step 5: Generate Board Status Report
markdown1## Anubis Issue Tracker - Board Status 2 3**Project:** https://github.com/users/forrestthewoods/projects/8 4 5### Summary 6- **Total Issues:** 22 7- **Triage:** 2 8- **Needs Agent Review:** 5 9- **Needs Human Review:** 3 10- **Ready to Implement:** 8 11- **Needs Code Review:** 2 12- **Done:** 2 13 14### By Difficulty 15 16| Difficulty | Triage | Agent Review | Human Review | Ready to Impl | Code Review | Done | 17|------------|--------|--------------|--------------|---------------|-------------|------| 18| Easy | 0 | 1 | 1 | 3 | 1 | 1 | 19| Medium | 1 | 2 | 1 | 3 | 1 | 1 | 20| Hard | 0 | 2 | 1 | 2 | 0 | 0 | 21| Unlabeled | 1 | 0 | 0 | 0 | 0 | 0 | 22 23### Ready to Implement (Prioritized) 24These issues have plans and are ready for work: 25 26**Easy (Quick Wins):** 271. #10 - Fix typo in README 282. #11 - Add --help examples 29 30**Medium:** 311. #18 - Add user preferences 32 33**Hard:** 341. #22 - Refactor build system 35 36### Needs Human Review 37These need human responses before agent can continue: 38- #4 - Asked about reproduction steps (3 days ago) 39- #9 - Asked about expected behavior (1 day ago) 40 41### Needs Code Review 42Implementation in progress (has active branch): 43- #25 - Parallel builds (branch: claude/issue-25-parallel-builds) 44- #30 - Add caching (branch: claude/issue-30-add-caching) 45 46### Stale Items 47Items that haven't been updated in 14+ days: 48- #8 - In "Ready to Implement" since Dec 1 49- #12 - In "Needs Human Review" since Nov 28 (may need follow-up)
Step 6: Board Hygiene Tasks
Weekly cleanup checklist:
-
Check for orphaned issues:
bash1# Find open issues not on board 2gh issue list --state open --json number,title | jq -r '.[] | "#\(.number) - \(.title)"' -
Archive completed items older than 30 days:
- Items in "Done" status can be archived to keep board clean
-
Flag stale "Needs Code Review" items:
- Issues in "Needs Code Review" for more than 14 days may have stalled PRs
-
Verify labels match board status:
- All issues should have a difficulty label once they leave "Triage"
-
Check for issues needing triage:
- New issues should be moved from "Triage" to "Needs Agent Review" promptly
-
Check for stale "Needs Human Review":
- Issues waiting for human response for more than 7 days may need follow-up
-
Detect issues with active branches:
bash1# List all remote branches that may correspond to issues 2git ls-remote --heads origin | grep -E 'claude/issue-|issue-'- Issues with active branches should be in "Needs Code Review"
Automation Notes
The project board has automated workflows that handle:
- Moving items to "Done" when issues are closed
- Moving items when issues are reopened
These automations run automatically. Manual/agent status updates are needed for:
- Moving from "Triage" to "Needs Agent Review"
- Agent review decisions (to "Needs Human Review" or "Ready to Implement")
- Detecting active branches and moving to "Needs Code Review"
Guidelines
- Keep the board focused on actionable items
- Update status when actual progress changes
- Don't let items sit in "In-progress" indefinitely
- Review stale items weekly
- Use consistent labeling between issues and board
- Prioritize items in "Triage" status quickly
- Ensure all open issues are on the board
Quick Reference Commands
bash1# View board 2gh project view 8 --owner forrestthewoods --web 3 4# List all items 5gh project item-list 8 --owner forrestthewoods 6 7# Add issue to board 8gh project item-add 8 --owner forrestthewoods --url <issue-url> 9 10# List open issues 11gh issue list --state open 12 13# View specific issue 14gh issue view <number> 15 16# Edit issue labels 17gh issue edit <number> --add-label "difficulty: easy"