Receber por email
← Voltar para o catálogo

triage-issue

Investigate a reported bug to root cause, then emit a TDD-shaped fix plan as an issue artifact. Trigger when the user reports a bug, says "triage", asks for issue investigation, or wants a fix plan before code changes.

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/triage-issue/svg)](https://www.skillteca.com.br/skills/triage-issue)

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

Investigate, find root cause, emit a fix plan shaped as RED-GREEN cycles. Mostly hands-off — minimize user prompts.

Process

1. Capture the problem (one prompt max)

If the user has not already described the bug, ask exactly one question: "What's the problem you're seeing?" Then start investigating. No follow-ups yet.

2. Explore and diagnose

Dispatch an Explore agent. Find:

  • Where the bug manifests (entry points, UI, API responses)
  • What code path executes (trace the flow)
  • Why it fails (root cause, not just symptom)
  • Related code (similar patterns, adjacent modules, existing tests)

Use git --no-pager grep -n -C 3 <pattern> and ast-grep run -p '<pattern>' -l <lang> -C 3 for structural traces.

3. Identify the fix shape

From the investigation, lock:

  • Minimal change targeting root cause
  • Affected modules and their interface contracts
  • Behaviors needing test coverage
  • Classification: regression / missing feature / design flaw

4. Design the TDD fix plan

Ordered list of RED-GREEN cycles. Each cycle is a vertical slice through public interfaces.

Rules:

  • Tests assert on observable behavior through public interfaces, never internal state.
  • One test at a time. Vertical slicing — never "all tests first, then all code".
  • Each test must survive radical internal refactors.
  • Include a final REFACTOR step if cleanup is warranted.
  • Durability gate: the plan reads like a spec, not a patch. No file paths, no line numbers, no internal struct names.

5. Emit the issue

gh issue create --title "<bug summary>" --body-file <tmp> using the template below. Do NOT ask the user to review first — file it, then share the URL and a one-line root-cause summary.

Template

## Problem
- Actual: what happens
- Expected: what should happen
- Repro: numbered steps (or "non-deterministic; observed in <context>")

## Root Cause Analysis
- Code path involved (described by module + behavior, not file paths)
- Why current code fails (the contract violation, not the line)
- Contributing factors

## TDD Fix Plan
1. **RED:** Write a test asserting <observable behavior>.
   **GREEN:** Minimal change to make it pass.
2. **RED:** Write a test asserting <next observable behavior>.
   **GREEN:** Minimal change to make it pass.
**REFACTOR:** Cleanup after green (extract, rename, deduplicate). Optional.

## Acceptance Criteria
- [ ] Behavior X visible from public interface
- [ ] Behavior Y visible from public interface
- [ ] All new tests pass
- [ ] Existing tests still pass

RED-GREEN Examples Across Stacks

Python (pytest):

  1. RED: test_balance_returns_zero_for_new_account asserts account_service.balance(new_id) == Decimal("0").

GREEN: Initialize default balance in account constructor.

Rust (cargo test):

  1. RED: #[test] fn balance_returns_zero_for_new_account asserts service.balance(id)? == Decimal::ZERO.

GREEN: Initialize default balance in Account::new.

Compartilhar X LinkedIn