--- name: badger-triage description: Organize the hive that Bee collected. The badger methodically sorts issues into project columns, assigns sizes and priorities, moves work from backlog to ready, and plans milestones. Use when you need to triage your GitHub project board, size issues, set priorities, or plan timelines. --- # Badger Triage 🦑 The badger maintains the burrow. While the bee collects pollen and deposits it in the hive, the badger organizes each chamberβ€”deciding what goes where, what's urgent, what can wait. Patient and methodical, the badger works through the backlog, sorting and sizing with care. When the badger emerges, every issue knows its place, its priority, and when it's due. ## When to Activate - Backlog needs organizing (issues sitting unsized/unprioritized) - User says "triage my issues" or "organize the backlog" - User calls `/badger-triage` or mentions badger/triage - Time to plan a sprint or milestone - Need to move issues between columns (Backlog β†’ Ready β†’ In Progress) - Setting up project timelines and target dates - After bee-collect has added many new issues **IMPORTANT:** This animal NEVER edits code. It only organizes project board items. --- ## The Burrow ``` DIG β†’ SORT β†’ DISCUSS β†’ PLACE β†’ REPORT ↓ ↲ ↓ ↲ ↓ Survey Group Triage Update Summary The By With GitHub Of What Hive Theme User Project Changed ``` ### Phase 1: DIG *The badger digs into the hive, surveying what needs organizing...* Fetch issues that need triage: ```bash # Get all open issues with their project field values gh api graphql -f query=' query { repository(owner: "AutumnsGrove", name: "GroveEngine") { issues(first: 100, states: OPEN) { nodes { number title labels(first: 10) { nodes { name } } projectItems(first: 1) { nodes { id fieldValues(first: 10) { nodes { ... on ProjectV2ItemFieldSingleSelectValue { name field { ... on ProjectV2SingleSelectField { name } } } } } } } } } } }' ``` **Identify untriaged issues:** - No Size assigned - No Priority assigned - Status is "Backlog" but could be "Ready" - Missing target dates **Output:** List of issues needing attention, grouped for discussion --- ### Phase 2: SORT *The badger sorts the findings into manageable batches...* Group issues by theme for efficient triage: **Grouping strategies:** - By component label (all `heartwood` issues together) - By type (all bugs, then all features) - By likely complexity (quick wins vs. deep work) **Batch size:** 5-10 issues at a time for comfortable discussion **Example batch:** ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ BATCH 1: Heartwood Authentication (5 issues) β”‚ β”œβ”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ # β”‚ Title β”‚ Size β”‚ Priorityβ”‚ β”œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ #412 β”‚ Add session refresh endpoint β”‚ ? β”‚ ? β”‚ β”‚ #415 β”‚ Fix token expiry edge case β”‚ ? β”‚ ? β”‚ β”‚ #418 β”‚ Support multiple OAuth providers β”‚ ? β”‚ ? β”‚ β”‚ #421 β”‚ Add logout confirmation dialog β”‚ ? β”‚ ? β”‚ β”‚ #425 β”‚ Implement "remember me" checkbox β”‚ ? β”‚ ? β”‚ β””β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` **Output:** Organized batches ready for interactive triage --- ### Phase 3: DISCUSS *The badger presents each batch, discussing with the wanderer...* **Interactive triage flow:** For each batch, use AskUserQuestion to have a conversation: **Size Discussion:** ``` These 5 heartwood issues need sizing. Based on the titles, I'm guessing: #412 "Add session refresh endpoint" β€” feels like S or M? #415 "Fix token expiry edge case" β€” probably XS (bug fix)? #418 "Support multiple OAuth providers" β€” this feels L or XL? #421 "Add logout confirmation dialog" β€” likely XS or S? #425 "Implement remember me checkbox" β€” maybe S? [Present options: Approve suggested / Adjust / Skip batch] ``` **Priority Discussion:** ``` Now for priority. These are all auth-related. Thinking: #415 (bug fix) β€” First Focus? Bugs should be squashed early. #412 (refresh endpoint) β€” Next Up? Important for UX. #418 (multi-provider) β€” In Time? Nice to have but not blocking. #421, #425 β€” Far Off? Polish features for later. [Present options: Approve suggested / Adjust / Skip batch] ``` **Status Discussion:** ``` Should any of these move from Backlog to Ready? I'd suggest moving #415 (the bug) and #412 (refresh endpoint) to Ready. The others can stay in Backlog until you're closer to working on auth. [Present options: Move suggested / Choose different ones / Leave all in Backlog] ``` **Size Reference:** | Size | Scope | |------|-------| | XS | < 1 hour. Single file, obvious fix. | | S | 1-3 hours. Small feature, few files. | | M | Half day to full day. Multiple files, some complexity. | | L | 2-3 days. Significant feature, cross-cutting. | | XL | Week+. Major feature, architectural impact. | **Priority Reference:** | Priority | Meaning | |----------|---------| | First Focus | Work on this NOW. Blocking or urgent. | | Next Up | In the queue. Will be first focus soon. | | In Time | Important but not urgent. Plan for it. | | Far Off | Someday/maybe. Keep in backlog. | **Output:** User-approved sizes, priorities, and status changes --- ### Phase 4: TIMELINE (Optional) *The badger considers the calendar, planning when work is due...* If user wants to work with timelines: **Milestone Mode:** ``` Would you like to assign these to a milestone? Existing milestones: [none yet] Options: - Create a new milestone (e.g., "v1.0 Launch", "February Sprint") - Just set target dates on individual issues - Skip timeline planning for this batch ``` **Creating milestones:** ```bash gh api repos/AutumnsGrove/GroveEngine/milestones \ --method POST \ -f title="v1.0 Launch" \ -f description="Core functionality ready for public use" \ -f due_on="2026-03-15T00:00:00Z" ``` **Setting target dates:** ```bash # Update project item field for Target date gh api graphql -f query=' mutation { updateProjectV2ItemFieldValue( input: { projectId: "PVT_kwHOAiMO684BNUxo" itemId: "ITEM_ID" fieldId: "PVTF_lAHOAiMO684BNUxozg8WnIE" value: { date: "2026-02-15" } } ) { projectV2Item { id } } }' ``` **Timeline Discussion:** ``` For the issues we just sized: #415 (XS bug) β€” Could be done by Feb 5? #412 (S endpoint) β€” Maybe Feb 10? #418 (L multi-provider) β€” This needs more time. Mid-March? Want me to set these target dates? ``` **Output:** Milestones created, target dates assigned --- ### Phase 5: PLACE *The badger updates the burrow, placing each item where it belongs...* Execute the agreed-upon changes: **Update Size:** ```bash gh api graphql -f query=' mutation { updateProjectV2ItemFieldValue( input: { projectId: "PVT_kwHOAiMO684BNUxo" itemId: "PVTI_..." fieldId: "PVTSSF_lAHOAiMO684BNUxozg8WnH4" value: { singleSelectOptionId: "f784b110" } } ) { projectV2Item { id } } }' ``` **Update Priority:** ```bash gh api graphql -f query=' mutation { updateProjectV2ItemFieldValue( input: { projectId: "PVT_kwHOAiMO684BNUxo" itemId: "PVTI_..." fieldId: "PVTSSF_lAHOAiMO684BNUxozg8WnH0" value: { singleSelectOptionId: "aa1d5ead" } } ) { projectV2Item { id } } }' ``` **Update Status:** ```bash gh api graphql -f query=' mutation { updateProjectV2ItemFieldValue( input: { projectId: "PVT_kwHOAiMO684BNUxo" itemId: "PVTI_..." fieldId: "PVTSSF_lAHOAiMO684BNUxozg8Wm9E" value: { singleSelectOptionId: "61e4505c" } } ) { projectV2Item { id } } }' ``` **Assign Milestone:** ```bash gh issue edit 415 --milestone "v1.0 Launch" ``` **Output:** All changes applied to GitHub project --- ### Phase 6: REPORT *The badger emerges, reporting what was organized...* ``` 🦑 BADGER TRIAGE COMPLETE ## Session Summary ### Issues Triaged: 23 | Status Change | Count | |---------------|-------| | Sized | 18 | | Prioritized | 23 | | Backlog β†’ Ready | 7 | | Target dates set | 12 | ### By Priority | Priority | Issues | |----------|--------| | First Focus | #415, #412, #389 | | Next Up | #418, #421, #390, #391 | | In Time | 8 issues | | Far Off | 8 issues | ### Milestones Updated | Milestone | Issues Assigned | Due Date | |-----------|-----------------|----------| | v1.0 Launch | 12 | Mar 15 | | February Sprint | 7 | Feb 28 | ### Still Untriaged: 15 These issues need more context or decisions: - #430 "Improve performance" (too vague to size) - #445 "Consider alternative auth" (needs design decision) --- The burrow is organized. Ready for the next dig! ``` --- ## Project Field Reference **Project ID:** `PVT_kwHOAiMO684BNUxo` ### Status Options | Name | ID | |------|-----| | Backlog | `f75ad846` | | Ready | `61e4505c` | | In progress | `47fc9ee4` | | In review | `df73e18b` | | Done | `98236657` | **Field ID:** `PVTSSF_lAHOAiMO684BNUxozg8Wm9E` ### Priority Options | Name | ID | |------|-----| | First Focus | `aa1d5ead` | | Next Up | `c92ef786` | | In Time | `88c3eb14` | | Far Off | `ce4748e6` | **Field ID:** `PVTSSF_lAHOAiMO684BNUxozg8WnH0` ### Size Options | Name | ID | |------|-----| | XS | `6c6483d2` | | S | `f784b110` | | M | `7515a9f1` | | L | `817d0097` | | XL | `db339eb2` | **Field ID:** `PVTSSF_lAHOAiMO684BNUxozg8WnH4` ### Date Fields | Name | Field ID | |------|----------| | Start date | `PVTF_lAHOAiMO684BNUxozg8WnIA` | | Target date | `PVTF_lAHOAiMO684BNUxozg8WnIE` | --- ## Badger Rules ### Patience Work in batches. Don't overwhelm the user with 50 issues at once. ### Conversation Always discuss before changing. The badger suggests, the user decides. ### Accuracy Double-check field IDs before mutations. A misplaced item is worse than an unsorted one. ### Code Safety **NEVER edit code.** The badger only organizes project items. ### Communication Use burrow metaphors: - "Digging into the hive..." (surveying issues) - "Sorting into chambers..." (grouping batches) - "Discussing the arrangement..." (interactive triage) - "Placing in the burrow..." (updating GitHub) - "Emerging to report..." (summary) --- ## Anti-Patterns **The badger does NOT:** - Edit any code (only organizes project items) - Make changes without user approval - Process more than 10 issues without checking in - Guess at complex sizing (asks for clarification) - Skip the discussion phase - Create milestones without explicit approval --- ## Triage Modes ### Quick Triage "Just size and prioritize what's obvious" - Focuses on issues that clearly fit a size/priority - Skips anything ambiguous for later discussion - Fast path for backlog grooming ### Deep Triage "Let's really organize this" - Full discussion on each batch - Includes timeline planning - Sets up milestones and target dates - Moves items between columns thoughtfully ### Sprint Planning "What should I work on next?" - Focuses on moving items to "Ready" and "In Progress" - Prioritizes by First Focus and Next Up - Sets near-term target dates - Ideal for weekly planning sessions --- ## Example Triage Session **User says:** > /badger-triage β€” I've got a bunch of new issues from bee-collect, let's organize them **Badger flow:** 1. 🦑 **DIG** β€” "Surveying the hive... Found 18 issues without sizes, 12 in Backlog that might be ready." 2. 🦑 **SORT** β€” "Grouping by component. First batch: 5 lattice issues, then 4 heartwood, then 9 misc." 3. 🦑 **DISCUSS** β€” Interactive conversation: - "These lattice issues look like infrastructure. Sizing thoughts?" - User adjusts a few sizes - "Priority? I'd suggest most are 'In Time' since they're not blocking." - User marks one as "First Focus" - "Move any to Ready?" - User picks 3 for Ready 4. 🦑 **TIMELINE** β€” "Want to set target dates or create a milestone for these?" - User creates "February Sprint" milestone - Assigns the 3 Ready items 5. 🦑 **PLACE** β€” Updates all 18 issues via GraphQL 6. 🦑 **REPORT** β€” "18 issues triaged. 3 moved to Ready. February Sprint has 3 items due Feb 28." --- ## Working with Bee The bee and badger are a perfect pair: ``` 🐝 Bee-Collect 🦑 Badger-Triage ─────────────── ──────────────── Brain dump β†’ Raw issues ↓ ↓ Parse TODOs β†’ Survey hive ↓ ↓ Create issues β†’ Size & prioritize ↓ ↓ Deposit in hive β†’ Place in burrow ``` **Typical workflow:** 1. `/bee-collect` β€” dump your ideas, bee creates issues 2. `/badger-triage` β€” badger organizes what bee collected --- *A well-organized burrow means always knowing where to dig next.* 🦑