Skip to content
cccskills
FreePublished on GitHub

gaia-triage

Triage the Gaia issue backlog and skill-batch intake queue. Use this skill when someone asks to: "triage issues", "clean up the issue tracker", "review the backlog", "close stale issues", "process the intake queue", "review skill-batches", "evaluate draft skill proposals", "approve or reject pending skills", "is this issue still valid?", "what's clogging the backlog?", "run a triage pass", or /gaia-triage. Covers two workstreams: (1) GitHub issue lifecycle — identifying resolved, stale, or need-more-info issues and acting on them via gh CLI; (2) skill-batch intake — evaluating draft proposals in registry-for-review/skill-batches/ and routing them toward promotion or rejection. This is the gatekeeping step before new skills enter the canonical registry; and (3) a cross-repo triage sweep — sizing, P0-P4 prioritization, umbrella/epic synthesis, and assignment across every gaia-research org repo, on the one headquarters tracker.

The English summary is being prepared. Showing the original description.

Works withGitHub

Run score Not tested

See how to install

Files included (3)

  • SKILL.md13.9 KB
  • references/evidence-check.md1.1 KB
  • scripts/triage_batch.sh7.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

gaia-triage

Triage has three workstreams — GitHub issue hygiene, skill-batch intake review, and the cross-repo prioritization sweep. Run them independently or together depending on what the user asks for. All three produce documented, auditable decisions rather than silent changes.

This skill absorbed favorchurch/rock-steward's rock-triage (2026-09-01): its impact sizing, priority matrix, four-step inspection, and prioritized-matrix output landed here as Workstream 3 rather than shipping as a second, competing triage skill. There is one gaia-triage. Its priority ladder is the P0-P4 ladder /gaia-meta-audit and /gaia-meta-sweep already use — one vocabulary, not two.

Triage is not cartography. Sorting a backlog of known work is this skill; planning an effort too big for one session as a map of decision tickets is /wayfinder. Taking one triaged issue end-to-end to a PR is /gaia-issue-resolver.


Headquarters

Every issue lives on gaia-research/gaia-skill-tree, regardless of which repo the fix lands in. One tracker for the whole org.

export GAIA_HQ=gaia-research/gaia-skill-tree

Tag the target repo on the issue when the work lands elsewhere — a line at the top of the body, **Target repo:** \gaia-research/gaia-skill-heaven`, matching the /wayfinderconvention. Cross-repo references use the fullgaia-research/<repo>#<n>form; a bare#<n>` always resolves to HQ.


Classification taxonomy

Every triaged issue gets a size and a priority. Both are labels; neither is invented ad hoc (see label hygiene below).

Impact size

Blast radius, structural complexity, and data footprint — not hours.

SizeMeans
XSTrivial fix, label correction, single config value, negligible blast radius
SMinor scoped adjustment, one predicate, isolated UI touch-up
MStandard scoped task — one command, one schema field, one localized workflow
LCross-component change, non-trivial data backfill, multi-surface impact
XLArchitecture-level refactor, substantial registry debt remediation
XXLHigh blast radius — core schema, authorization, or site-wide parity
EpicUmbrella spanning multiple distinct sub-issues across domains

Priority — P0-P4

The same ladder /gaia-meta-audit and /gaia-meta-sweep use. Read those for the registry-specific instances of each rung.

PriorityMeans
P0Critical integrity violation or active breakage — unsupported top-rank claim, security/authorization exposure, secrets in a diff, the site dark, main red
P1Structural correctness — dead evidence links, Star Bar gaps, broken data contracts, lockstep drift, a prerequisite blocking milestone delivery
P2Attribution, sourcing, and feature upgrades — wrong promoted pointer, stale catalog URL, enhancement to a working surface
P3Registry hygiene and nice-to-haves — over-broad mappings, duplicate clusters, backlog enhancements, exploratory design
P4Documentation cleanup — placeholder bodies, generated-output drift, comment and copy fixes

P0 interrupts. P1 schedules. P2-P4 queue.

Label hygiene

  • Preflight. Inspect the existing labels before applying any:
    gh label list --repo "$GAIA_HQ" --limit 200
    
  • Zero ad-hoc labels. .github/workflows/labels-sync.yml reconciles labels from .github/labels.yml on every push to main with skip-delete: false — a label that is not in that file is deleted off live issues at the next sync. If you need a new label, add it to .github/labels.yml in a PR. Never create one with gh label create and assume it survives.
  • Idempotency. If an issue already carries an appropriate priority and size, do not relabel it. Post the status update and move on.
  • The five triage roles (needs-triage, needs-info, ready-for-agent, ready-for-human, wontfix) map to this repo's label strings in docs/agents/triage-labels.md. Extend that table rather than inventing labels.

Workstream 1: GitHub Issue Triage

The goal is a clean, signal-rich backlog — not a closed one. Closing issues prematurely hides real work; leaving stale issues open buries actionable items. For each issue, make an explicit call: close (resolved), update (needs narrowing), or keep (valid, still open).

Step 1 — Pull the open issue list

gh issue list --repo gaia-research/gaia-skill-tree --state open --limit 100

Group by theme (CLI bug, registry data, docs drift, enhancement). This shapes the decision pattern — CLI bugs and registry issues require code evidence; enhancement requests require a current-relevance check against the roadmap.

Step 2 — Audit each issue against the codebase

Before commenting or closing, verify the claim. Check the evidence paths in references/evidence-check.md for common file locations:

Issue typeWhere to look
CLI command request or bugsrc/gaia_cli/commands/
Registry data or duplicate skillsregistry/gaia.json, registry/nodes/
Documentation driftRun python scripts/build_docs.py --check
Packaging / dependencypyproject.toml, uv.lock
Test coveragetests/

Step 3 — Act via gh CLI

Post a triage comment (findings without closing — use when the issue needs narrowing or a reproduction, or when you want to flag it for a human maintainer):

gh issue comment <issue-number> --repo gaia-research/gaia-skill-tree \
  --body "Triage update: <findings and recommendation>"

Close a resolved issue (only when codebase evidence confirms it is implemented):

gh issue close <issue-number> --repo gaia-research/gaia-skill-tree \
  --reason completed \
  --comment "Closing as implemented. Evidence: <specific file + line or command output>"

Dry-run first: the scripts/triage_batch.sh script supports --apply and --close-resolved flags. Run without flags to preview all comments before posting:

bash .claude/skills/gaia-triage/scripts/triage_batch.sh
# Then, when ready:
bash .claude/skills/gaia-triage/scripts/triage_batch.sh --apply --close-resolved

Decision guide

FindingAction
Issue is implemented and tests passClose as completed with evidence pointer
Issue is valid but under-specifiedComment with narrowing questions; keep open
Issue references a stale command nameComment updating the correct current command; keep open unless fully superseded
Issue is a duplicateClose with a link to the canonical issue
Issue is an enhancement blocked on designComment with current blocker; keep open

Workstream 2: Skill-Batch Intake Review

Draft skill proposals land in registry-for-review/skill-batches/ after a contributor runs gaia push. This workstream gates them before they enter registry/nodes/.

Rejecting bad batches here is cheaper than demoting skills after promotion — every skill that enters the canonical registry acquires timeline history, evidence links, and downstream references that make later removal messy.

Step 1 — List pending batches

ls registry-for-review/skill-batches/

Each batch is a JSON file. Read its metadata to understand the contributor and scope before evaluating individual skills.

Step 2 — Evaluate each skill proposal

For each skill in the batch, work through these checks in order:

  1. Schema validity — does the node satisfy the canonical JSON schema?
    gaia dev validate --intake
    
  2. Nomenclature — does the skill name and description match CONTEXT.md vocabulary? Flag banned synonyms; the rarity field is deprecated and should not appear in new proposals.
  3. Evidence quality — each above-1★ claim needs graded evidence with a valid Evidence Type (arxiv|repo|github-stars) and a derived Evidence Grade; weak/ungraded-only evidence is grounds for needs-info. Ranking up gates on Trust Magnitude, not an evidence-class floor.
  4. Prerequisite existence — all prerequisites[] IDs must resolve in the current registry.
    gaia dev list --generic | grep <prerequisite-id>
    
  5. Duplication check — does a substantially equivalent skill already exist?
    gaia dev list --generic | grep -i "<skill-name>"
    

Step 3 — Label and route

Apply one of three dispositions per skill:

LabelMeaningNext action
approveSchema valid, evidence solid, no duplicatePromote via gaia dev add
needs-infoFixable gap (weak evidence, missing prereq, naming issue)Comment on the batch file with specifics; do not promote yet
rejectDuplicate, out of scope, or unfixable schema violationDocument reason; discard batch entry

For approved skills, promote via CLI (never hand-edit registry nodes directly):

gaia dev add "<Skill Name>" --type basic --description "<description>"
gaia dev evidence <skill-id> "<url>" --type repo --trust <value>

After promotion, regenerate Class S artifacts:

gaia dev docs

Workstream 3: Cross-repo triage sweep

Use this when the ask is "triage the backlog" at scale rather than "is this one issue still valid". It sizes, prioritizes, links, and assigns — and it ends in a matrix a human can act on without reopening every thread.

Four-step inspection

Run all four on every issue in scope, in order:

  1. State & relevance. Is it still live, or already resolved/superseded? Verify against the codebase, merged PRs, or a read-only probe — never against the issue's own claim. The read-only probes are the ones in /gaia-issue-resolver Phase 2 (gaia dev audit, scripts/verify_evidence.py, python scripts/build_docs.py --check). If resolved, close with the evidence.
  2. Status update & timeline. One concise technical comment: what is true now, and whether the work is starting soon, blocked on a prerequisite, or in backlog.
  3. Linkage & umbrella synthesis. Find the shared cause across issues. Where several related sub-issues have no parent, create an umbrella and label it epic, then nest the children as GitHub sub-issues (gh api repos/$GAIA_HQ/issues/<parent>/sub_issues -f sub_issue_id=<child-id> — the child's id, not its number). An umbrella that turns out to be a fog-bound effort rather than a known set of tasks is a /wayfinder map, not an epic. The test: if the children are decisions you cannot yet state precisely, stop triaging and chart a map.
  4. Assignment. Default to the original issue author unless someone is already assigned. Assign a synthesized umbrella to the owner of its constituent issues.

Fan-out

Delegate parallel reads — pulling issue payloads, checking whether a claim still holds in the tree, counting occurrences — to cheap subagents. Keep with yourself: deciding priority, deciding size, judging whether two issues share a cause, and writing the umbrella. Give each subagent the exact command and the exact thing to report back; a subagent asked to "investigate" returns prose, one asked to "run X and report the integer after Total:" returns data.

Output — the prioritized matrix

# Gaia Triage Summary — <date>

## P0 - Critical
- **#<n>** - <Title> | `<Size>` | repo: `<target repo>` | assignee: `@<who>` | <Active/Blocked/Ongoing>
  - *Umbrella*: <link>
  - *Verification*: <what was actually probed, and the result>
  - *Next action*: <the immediate step>

## P1 - Structural correctness
## P2 - Attribution & upgrades
## P3 - Hygiene & backlog
## P4 - Documentation

## Umbrellas & epics
- **Epic: <Title> (#<n>)** [assignee: `@<who>`] - sub-issues: #A, #B, #C

Refer to issues by title, not by bare number — a wall of #42, #43, #44 is illegible.


Output

At the end of a triage pass, report:

  • How many issues were reviewed, closed, and left open with comments
  • How many batch skills were evaluated, approved, flagged needs-info, and rejected
  • The prioritized matrix, if Workstream 3 ran
  • Any recurring patterns worth tracking (e.g. a common prereq that's missing from the registry) - a pattern seen a fourth time is a Class A detector in /gaia-issue-resolver, not another issue

This summary helps the next maintainer understand what happened without re-reading every issue thread.


Optional Semantic Issue Advisory

When evaluating large backlogs or triage queues, an operator may optionally run the read-only Jev advisory runner (docs/agents/jev.md):

# Offline dry-run by default ($0 spend); add --live to query TypeSafe API
gh issue list --json number,title,body,labels > /tmp/issues.json
python scripts/jev_advisory.py --mode issues --input /tmp/issues.json

The runner provides non-binding duplicate shortlists and advisory P0–P4 priority recommendations. It never labels, comments on, or closes issues. If unauthenticated, ambiguous, or over budget, it generates a bounded handoff packet to worker-luna.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Measure CI churn cost for a pull request: how many commits and how many CI-compute seconds were burned on avoidable "fix the CI" push rounds. Use when you want to understand the efficiency cost of a PR's iteration cycle, get actionable pre-push check suggestions, or include a churn summary in a pipeline report. Triggers: "ci churn", "how much CI did we burn", "avoidable commits", "ci efficiency", "wasted CI time", "churn report", "/ci-churn". Called automatically by /fp-drift at pipeline close.

The English summary is being prepared. Showing the original description.

gaia-research/gaia-skill-tree23Updated Oct 24, 2026

Produce the rendered evidence a human-gated frontend PR owes its reviewer: capture each changed surface (plus the before state for anything modified, plus mobile width), then generate one self-contained local HTML page the founder can open and review without checking anything out. Use when a PR is gated by the "Frontend changes are HUMAN-GATED" section of CLAUDE.md, or when the user says "/design-gate", "screenshot evidence for this PR", "prep this for founder review", "build the design evidence page", "what does this look like before and after". The page comes from a template script, not hand-written markup. Output is session-local and never committed. Do NOT use for non-gated changes: typo/grammar/factual fixes in an unchanged block, dead link targets, alt/ARIA fixes with no visual change, cache-bust bumps, or refactors with no rendered diff.

The English summary is being prepared. Showing the original description.

gaia-research/gaia-skill-tree23Updated Oct 24, 2026

One-fix-at-a-time, approval-gated design fix recovery. Given a checklist of fixes (handover doc, CHECKLIST.md, or inline list), applies each individually, presents a diff, and waits for an explicit APPROVE / REJECT / NO CHANGES decision before committing. Trigger phrases: /design-iteration, "go through the checklist one by one", "fix these one at a time", "bucket recovery", "design fix pass".

The English summary is being prepared. Showing the original description.

gaia-research/gaia-skill-tree23Updated Oct 24, 2026

Playbook for correcting a named skill's star level to match its computed Trust Magnitude grade, with an independent post-calibration verification pass and a CLI-logged timeline event (never hand-written). Use when: recalibrating a skill's level, fixing a stale or drifted star rating, running a batch of `gaia dev calibrate` corrections, or confirming a past calibration actually landed. Triggers: "calibrate <skill>", "recalibrate the trust magnitude backlog", "promote/demote <skill> to N stars", "why is <skill> still N stars", "verify a calibration actually landed", "Hall of Heroes ranking is wrong".

The English summary is being prepared. Showing the original description.

gaia-research/gaia-skill-tree23Updated Oct 24, 2026

Close out a completed EPIC / sprint end-to-end: author a fact-verified meta-post announcing what shipped, archive the EPIC's handovers, snapshot orchestrator memory, gate the integration→main merge on CI-green + explicit human go, drive the version bump (merge-commit conventions that auto-sync classifies), and verify the release reached the registry/PyPI. Use when the user says "close out EPIC <n>", "wrap up the sprint", "ship the meta shift", "/epic-close", or asks to finalize an integration branch that is ready to merge to main. Generalizes the EPIC 1002 (Yggdrasil II) close-out. This skill orchestrates — it authors founder docs directly (superadmin) and delegates code/regen to workers; it NEVER merges to main without the human gate.

The English summary is being prepared. Showing the original description.

gaia-research/gaia-skill-tree23Updated Oct 24, 2026

Run this skill for Phase 3 of the evidence verification pipeline — the adversarial audit step. Use when you need to check the evidence data lake for bad data before ingestion: dead links, wrong URL formats (tree/ vs blob/), subjective wording ("elite", "high-quality"), stale migration notes, benchmark catalog misuse/vendor-claim leakage, or skills whose star evidence conflicts with classified evidence level. Triggers on phrases like: "audit the data lake", "adversarial check", "ev-adversarial-audit", "check for noise in evidence", "flag bad evidence", "run the audit phase", "quality check the by-type files", or any reference to Phase 3 of the pipeline.

The English summary is being prepared. Showing the original description.

gaia-research/gaia-skill-tree23Updated Oct 24, 2026

See all skills by gaia-research

Report a problem with this skill