Manages the Anubis Issue Tracker GitHub project board. Use when you need to organize issues by difficulty/status, move issues through workflow stages, or generate board status reports.
The Anubis Issue Tracker project board is already created and configured:
Important: Do NOT create a new project board. Always use project #8.
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.
difficulty: easy, difficulty: medium, or difficulty: hardThis skill helps manage the existing project board by:
# List all items on the project board
gh project item-list 8 --owner forrestthewoods --format json
# View project details
gh project view 8 --owner forrestthewoods --format json
When new issues are created, add them to the board:
# Add a single issue
gh project item-add 8 --owner forrestthewoods --url https://github.com/forrestthewoods/anubis/issues/<number>
# Add all open issues not yet on board
gh issue list --state open --json url -q '.[].url' | while read url; do
gh project item-add 8 --owner forrestthewoods --url "$url" 2>/dev/null
done
Update issue status based on progress:
# Get project and field IDs
gh project view 8 --owner forrestthewoods --format json
# Get item ID for specific issue
gh project item-list 8 --owner forrestthewoods --format json | jq '.items[] | select(.content.number == <issue-number>)'
# Update status
gh 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 |
Ensure issues have appropriate difficulty labels:
# Create difficulty labels (if not exist)
gh label create "difficulty: easy" --color "0E8A16" --description "Simple change, good first issue" --force
gh label create "difficulty: medium" --color "FBCA04" --description "Moderate complexity" --force
gh label create "difficulty: hard" --color "D93F0B" --description "Complex, requires significant effort" --force
# Add label to issue
gh issue edit <number> --add-label "difficulty: easy|medium|hard"
## Anubis Issue Tracker - Board Status
**Project:** https://github.com/users/forrestthewoods/projects/8
### Summary
- **Total Issues:** 22
- **Triage:** 2
- **Needs Agent Review:** 5
- **Needs Human Review:** 3
- **Ready to Implement:** 8
- **Needs Code Review:** 2
- **Done:** 2
### By Difficulty
| Difficulty | Triage | Agent Review | Human Review | Ready to Impl | Code Review | Done |
|------------|--------|--------------|--------------|---------------|-------------|------|
| Easy | 0 | 1 | 1 | 3 | 1 | 1 |
| Medium | 1 | 2 | 1 | 3 | 1 | 1 |
| Hard | 0 | 2 | 1 | 2 | 0 | 0 |
| Unlabeled | 1 | 0 | 0 | 0 | 0 | 0 |
### Ready to Implement (Prioritized)
These issues have plans and are ready for work:
**Easy (Quick Wins):**
1. #10 - Fix typo in README
2. #11 - Add --help examples
**Medium:**
1. #18 - Add user preferences
**Hard:**
1. #22 - Refactor build system
### Needs Human Review
These need human responses before agent can continue:
- #4 - Asked about reproduction steps (3 days ago)
- #9 - Asked about expected behavior (1 day ago)
### Needs Code Review
Implementation in progress (has active branch):
- #25 - Parallel builds (branch: claude/issue-25-parallel-builds)
- #30 - Add caching (branch: claude/issue-30-add-caching)
### Stale Items
Items that haven't been updated in 14+ days:
- #8 - In "Ready to Implement" since Dec 1
- #12 - In "Needs Human Review" since Nov 28 (may need follow-up)
Weekly cleanup checklist:
Check for orphaned issues:
# Find open issues not on board
gh issue list --state open --json number,title | jq -r '.[] | "#\(.number) - \(.title)"'
Archive completed items older than 30 days:
Flag stale "Needs Code Review" items:
Verify labels match board status:
Check for issues needing triage:
Check for stale "Needs Human Review":
Detect issues with active branches:
# List all remote branches that may correspond to issues
git ls-remote --heads origin | grep -E 'claude/issue-|issue-'
The project board has automated workflows that handle:
These automations run automatically. Manual/agent status updates are needed for:
# View board
gh project view 8 --owner forrestthewoods --web
# List all items
gh project item-list 8 --owner forrestthewoods
# Add issue to board
gh project item-add 8 --owner forrestthewoods --url <issue-url>
# List open issues
gh issue list --state open
# View specific issue
gh issue view <number>
# Edit issue labels
gh issue edit <number> --add-label "difficulty: easy"