Files
dev-workflows/skills/wf-bugfix/SKILL.md
T
EvandroandClaude Opus 5.5 c18d3356ae feat: add the dev-router, lean-code, bugfix/refactor workflows and agents
Every workflow used to run all of its phases for any request, so a one-line
fix paid the cost of a feature. dev-router classifies the request into tiers
0-3 with security triggers that raise the tier, and picks the workflow,
agents and gate tier. Agents get only the tools their role needs.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-24 21:45:19 -03:00

41 lines
1.6 KiB
Markdown

---
name: wf-bugfix
description: Use para corrigir bug, erro, exceção, falha, regressão, comportamento errado ("não funciona", "quebrou", "fix"). Reproduz, acha a causa raiz e prova a correção com um teste de regressão que falha antes e passa depois.
---
# Workflow Bugfix
## 1. Reproduzir
Encontre o comando, teste ou requisição que mostra o erro, e rode. Sem reprodução, colete mais dado
(stack trace, log, entrada exata) em vez de chutar uma correção.
## 2. Achar a causa raiz
- Siga o fluxo real do ponto de entrada até o erro.
- Ache todos os chamadores da função que você pretende mudar (`grep -rn "nomeDaFuncao(" .`).
- Escreva a causa em uma ou duas frases antes de editar. Se não consegue, ainda não achou.
- Corrija no ponto por onde todos os chamadores passam, não só no caminho que o relato citou.
## 3. Provar com teste de regressão
1. Escreva o teste que reproduz o bug.
2. Prove que ele falha sem a correção: `git stash push <arquivos da correção>`, rode o teste, veja vermelho, `git stash pop`.
3. Rode de novo com a correção: verde.
Um teste que passa com e sem a correção não prova nada; reescreva.
## 4. Gate
`"${CLAUDE_PLUGIN_ROOT}/scripts/quality-gate" --tier 1` (ou o nível que o `dev-router` definiu).
## 5. Relatório
Causa em uma frase, o que mudou, o teste que prova (nome e saída vermelho/verde) e o veredito do gate.
## Não faça
- Silenciar o erro com `try/except` ou `catch` vazio.
- Mudar o teste até ele passar em vez de corrigir o código.
- Corrigir o sintoma num chamador e deixar a causa na função compartilhada.