Receber por email
← Voltar para o catálogo

github-triage

Faça a triagem de issues do GitHub usando uma máquina de estados configurável baseada em rótulos. Isso é útil para triar issues recebidas, prepará-las para um agente autônomo ou movê-las entre estados de fluxo de trabalho.

27estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: Apache-2.0

Como adicionar

/plugin marketplace add OutlineDriven/odin-claude-plugin

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/github-triage-outlinedriven/svg)](https://www.skillteca.com.br/skills/github-triage-outlinedriven)

Skills relacionadas

Ver todas de Desenvolvimento →

Alerta por categoria

Receba novas skills de Desenvolvimento toda segunda

1 email curto, só com as skills novas de Desenvolvimento. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

State-machine triage over GitHub issues. Every comment posted carries an AI disclaimer. Label names are configurable; state semantics are not.

AI disclaimer (mandatory)

Every comment or new issue body posted during triage MUST begin with:

> *This was generated by AI during triage.*

No exceptions.

Label map (configure per project)

Bind ODIN's abstract state tokens to your repo's actual label names. Edit this block before first use; defaults match Matt Pocock's upstream convention.

category:
  bug:        "bug"             # something is broken
  enhancement:"enhancement"     # new feature or improvement
state:
  triage_pending:   "needs-triage"     # maintainer must evaluate
  awaiting_info:    "needs-info"       # waiting on reporter
  ready_for_agent:  "ready-for-agent"  # fully specified, autonomous-agent-suitable
  ready_for_human:  "ready-for-human"  # requires human judgment
  wont_fix:         "wontfix"          # closed, not actioned

Body uses the abstract tokens (triage_pending, ready_for_agent, etc.). Replace with your repo's labels at apply time.

Invariants

  • Every issue carries exactly one category label and one state label.
  • Conflicting state labels = halt and ask the maintainer which is correct.
  • Maintainer can override any state directly; flag unusual transitions.

State machine

| From | To | Trigger | Effect | | --------------- | ----------------- | ------------------- | ------------------------------------------------------------------------ | | unlabeled | triage_pending | skill (first look) | applies label after presenting recommendation | | unlabeled | ready_for_agent | maintainer | post agent brief, apply label | | unlabeled | ready_for_human | maintainer | post task summary, apply label | | unlabeled | wont_fix | maintainer | comment + close | | triage_pending | awaiting_info | maintainer | post triage notes capturing progress + reporter questions | | triage_pending | ready_for_agent | maintainer | grilling complete; agent brief; apply label | | triage_pending | ready_for_human | maintainer | grilling complete; task summary; apply label | | triage_pending | wont_fix | maintainer | comment + close | | awaiting_info | triage_pending | skill (reply seen) | reporter replied; surface for re-evaluation |

Workflows

Overview ("what needs my attention")

Group open issues into three buckets and display oldest-first:

  1. Unlabeled — never triaged.
  2. triage_pending — needs evaluation or continuation.
  3. awaiting_info with new activity since the last triage-notes comment.

Triage a specific issue

  1. Dispatch Explore agent to read full issue + all comments + related code paths.
  2. Present category and state recommendations with reasoning.
  3. For bugs: attempt reproduction. Run repo tests, trace logic.
  4. If underspecified, run a /domain-model session.
  5. Apply outcome per state.

awaiting_info comment template

## Triage Notes

**Established so far:**
- point 1
- point 2

**Need from you (@reporter):**
- specific question 1
- specific question 2

Reporter questions must be specific and actionable.

Parallel examples

TypeScript repo: label-map binds ready_for_agent → "agent-ready", awaiting_info → "blocked-on-reporter". State machine and prose unchanged.

Rust repo: label-map binds triage_pending → "S-needs-triage", wont_fix → "C-wont-fix" per Rust-project conventions. State machine and prose unchanged.

Compartilhar X LinkedIn