badger-triage
npx skills add https://github.com/autumnsgrove/groveengine --skill badger-triage
Agent 安装分布
Skill 文档
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-triageor 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:
# 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
heartwoodissues 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:
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:
# 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:
gh api graphql -f query='
mutation {
updateProjectV2ItemFieldValue(
input: {
projectId: "PVT_kwHOAiMO684BNUxo"
itemId: "PVTI_..."
fieldId: "PVTSSF_lAHOAiMO684BNUxozg8WnH4"
value: { singleSelectOptionId: "f784b110" }
}
) { projectV2Item { id } }
}'
Update Priority:
gh api graphql -f query='
mutation {
updateProjectV2ItemFieldValue(
input: {
projectId: "PVT_kwHOAiMO684BNUxo"
itemId: "PVTI_..."
fieldId: "PVTSSF_lAHOAiMO684BNUxozg8WnH0"
value: { singleSelectOptionId: "aa1d5ead" }
}
) { projectV2Item { id } }
}'
Update Status:
gh api graphql -f query='
mutation {
updateProjectV2ItemFieldValue(
input: {
projectId: "PVT_kwHOAiMO684BNUxo"
itemId: "PVTI_..."
fieldId: "PVTSSF_lAHOAiMO684BNUxozg8Wm9E"
value: { singleSelectOptionId: "61e4505c" }
}
) { projectV2Item { id } }
}'
Assign Milestone:
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:
-
𦡠DIG â “Surveying the hive… Found 18 issues without sizes, 12 in Backlog that might be ready.”
-
𦡠SORT â “Grouping by component. First batch: 5 lattice issues, then 4 heartwood, then 9 misc.”
-
𦡠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
-
𦡠TIMELINE â “Want to set target dates or create a milestone for these?”
- User creates “February Sprint” milestone
- Assigns the 3 Ready items
-
𦡠PLACE â Updates all 18 issues via GraphQL
-
𦡠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:
/bee-collectâ dump your ideas, bee creates issues/badger-triageâ badger organizes what bee collected
A well-organized burrow means always knowing where to dig next. ð¦¡