1
🐛 Template — Bug fix
O formato mais usado. Foca em reprodução concreta e critério binário.
# INTENT
Bug: [sintoma em 1 frase]
Impacto: [quem é afetado, com que frequência]
Repro: [passos ou curl/payload]
# ARQUIVOS
- Suspeitos: [paths]
- Teste que deve passar: [path::caso]
# CONSTRAINTS
- Não alterar [assinatura/schema/etc]
- Sem cleanup adjacente
# CRITERIA
- [comando de teste] passa
- Diff ≤ [N] arquivos2
✨ Template — Feature nova
Feature bem briefada sai em 1 turno. Escopo explícito evita mission creep.
# INTENT
Adicionar [feature] para [perfil de usuário]
Motivo de negócio: [uma frase mensurável]
Comportamento esperado: [happy path em 3 linhas]
# ARQUIVOS
- Novos: [paths que serão criados]
- Alterar: [paths]
- Não tocar: [paths relacionados mas fora do escopo]
# CONSTRAINTS
- API pública mantida
- [framework/versão] compatível
- Sem novas deps sem avisar
# CRITERIA
- Testes novos passam: [path]
- Nenhum teste existente quebra
- Feature toggle: [flag] (desativada por padrão)3
🔎 Template — Investigação/debug
Separa diagnóstico de correção. Pede hipóteses ranqueadas.
# INTENT
Entender por que [sintoma]. NÃO corrigir ainda.
Output: 3 hipóteses ranqueadas por probabilidade,
cada uma com teste de confirmação.
# ARQUIVOS
- Logs: [path]
- Suspeitos: [paths]
- Config relevante: [path]
# CONSTRAINTS
- Não edite código
- Não rode comandos destrutivos
# CRITERIA
- 3 hipóteses concretas
- Cada hipótese com evidência + contra-evidência
- Recomendação final4
🔄 Template — Refactor multi-arquivo
O maior buraco de tokens quando mal-briefado. Liste todos os call-sites.
# INTENT
Refatorar [padrão] para [padrão novo]
Motivo: [dado concreto — 3x copy/paste, DRY, etc]
# ARQUIVOS (todos os call-sites)
- /src/a.ts:42
- /src/b.ts:87
- /src/c.ts:15
(liste TUDO — resultado de grep inclusive)
# CONSTRAINTS
- Comportamento idêntico (testes passam sem mudança)
- Sem renomear funções públicas
- Commit único
# CRITERIA
- `npm test` verde
- `git diff --stat` ≤ 5 arquivos
- Sem `any` novos5
📚 Template — Migração de legado
Sem spec escrita, alucinação é garantida. Testes caracterizadores primeiro.
# INTENT
Migrar [módulo] de [tech A] para [tech B]
Critério de equivalência: comportamento em [spec link]
# ARQUIVOS
- Origem: [path]
- Destino: [path novo]
- Testes caracterizadores: [path] (criar antes)
# CONSTRAINTS
- Nenhuma regressão nos testes caracterizadores
- API pública inalterada
- Deprecation warning nos call-sites, não remoção
# CRITERIA
- Testes caracterizadores ≥ 20 casos
- Cobertura de linha ≥ 85%
- Doc de migração em /docs/migrations/[nome].md6
🔗 Template — Integração com API externa
Falham mais por premissa oculta que por código. Nunca deixe o modelo inferir auth.
# INTENT
Integrar com [API Xyz] para [ação específica]
# CONTRATOS
- Endpoint: POST https://api.xyz/v1/...
- Auth: Bearer token via env var X
- Response: { "id": string, "status": enum }
- Rate limit: 60/min
- Idempotency-Key: UUID por request
# ARQUIVOS
- Client: /src/integrations/xyz-client.ts (novo)
- Testes: /tests/integrations/xyz.test.ts
# CONSTRAINTS
- Retry exponencial (max 3) só em 5xx
- Timeout 10s
- Sem fallback silencioso em 4xx
# CRITERIA
- Mock server roda localmente
- Testes cobrem: 200, 4xx, 5xx, timeout
- Nenhum secret hard-coded7
💾 Como salvar como snippets
Atalho > memória. 1 gatilho por template.
VSCode snippets.json
"ICCA Bug": {
"prefix": "icca-bug",
"body": ["# INTENT", "Bug: $1", ...]
}Claude Code commands
~/.claude/commands/icca-bug.md
~/.claude/commands/icca-feat.md
# rode com /icca-bug💡 Dica
Versione os snippets no repo dotfiles. Compartilhar com a equipe tira dúvida de "qual é o template oficial".
📋 Resumo
✓
6 templates — bug, feature, debug, refactor, migração, API
✓
Todos seguem ICCA — mesma espinha dorsal
✓
Snippet por template — VSCode/Alfred/Claude Code
✓
Versione no git — equipe alinhada
Próximo Módulo:
2.3 — Níveis de Effort