本文へ移動
cccskills
無料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.

インストール方法を見る

含まれるファイル(3)

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

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

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.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

ci-churn

無料

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.

日本語の概要は準備中です。原文の説明を表示しています。

gaia-research/gaia-skill-tree232026年10月13日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

gaia-research/gaia-skill-tree232026年10月13日 更新

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".

日本語の概要は準備中です。原文の説明を表示しています。

gaia-research/gaia-skill-tree232026年10月13日 更新

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".

日本語の概要は準備中です。原文の説明を表示しています。

gaia-research/gaia-skill-tree232026年10月13日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

gaia-research/gaia-skill-tree232026年10月13日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

gaia-research/gaia-skill-tree232026年10月13日 更新

gaia-research のスキルをすべて見る

このスキルの問題を報告する