google-labs-code/fleet-triage
Cognitive triage of fleet audit findings. Read issue content, evaluate labeling accuracy, and determine open/close/dispatch/relabel actions for fleet-managed issues. Use when triaging undispatched issues or reviewing audit scan results.
npx skills add https://github.com/google-labs-code/jules-sdk --skill fleet-triage
Cognitive triage of fleet-managed issues. The audit scan surfaces findings deterministically; you make the judgment calls.
fleet audit scan and seeing cognitive findingsfleet dispatch to prevent wasting sessions on non-actionable issuesTools are evidence, you are expertise. The scan tells you what exists. You read the content and decide what to do.
Pull all open issues as a summary table. Do NOT read issue bodies yet.
gh issue list --repo <owner>/<repo> --state open --limit 50 \
--json number,title,labels,milestone
Classify each issue into buckets by title and labels alone:
| Bucket | Signal | Typical Action |
|--------|--------|----------------|
| Insight | Title contains [Insight], [Fleet Insight], or label fleet-insight | Likely close — informational only |
| Assessment | Title contains [Assessment], or label fleet-assessment | Evaluate — may be actionable or stale |
| Execution | Title contains [Fleet Execution], label fleet without insight/assessment | Likely dispatch — has code work |
| Ambiguous | Mixed signals or unlabeled | Needs deep dive (Phase 3) |
Record the index in a triage artifact (see Triage Artifact).
For Insight and Assessment buckets, you can often decide without reading the body:
Update the triage artifact with decisions.
For Ambiguous or Execution issues only:
gh issue view <N> --repo <owner>/<repo>
Read the body. Evaluate:
Record your decision in the triage artifact before moving to the next issue.
After all decisions are recorded, present the triage artifact to the user for review. Then apply:
# Close issues
gh issue close <N> --repo <owner>/<repo> --comment "Closing: <reason>"
# Relabel
gh issue edit <N> --repo <owner>/<repo> --remove-label fleet --add-label fleet-insight
# Dispatch (only confirmed actionable issues)
fleet dispatch --owner <owner> --repo <repo>
Create a persistent artifact at triage-<repo>.md:
# Triage: <owner>/<repo>
## Summary
- Total open: N
- Reviewed: N
- Close: N | Keep: N | Dispatch: N | Relabel: N
## Decisions
| # | Title | Labels | Decision | Reason |
|---|-------|--------|----------|--------|
| 194 | [Fleet Insight] Coverage | fleet, fleet-insight | CLOSE | Insight, no code action |
| 141 | [Fleet Execution] Update Enums | fleet, fleet-assessment | DEEP DIVE | Mixed labels, need to read body |
gh issue close in a single command per issueFleet analyzers often create duplicate insights across runs. Look for:
An assessment may have been addressed by a PR that didn't reference the issue:
mainFixes #NThe analyzer sometimes labels insights as fleet (execution-worthy) when they're informational:
fleet-insight, not fleetTake google-labs-code/fleet-triage from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.