| name | analyze |
| description | Cross-artifact SDD consistency analysis (spec/plan/tasks/constitution) — read-only. Triggers: "analyze", "cross-check", "auditar artefatos", "validar spec vs tasks". Skip for single-document validation (use validate-documentation). |
| argument-hint | [caminho para diretorio da feature ou escopo] |
| allowed-tools | ["Read","Glob","Grep","Agent"] |
Skill: Analise de Consistencia Cross-Artifact
Analise read-only que identifica inconsistencias, duplicacoes, ambiguidades e gaps
de cobertura entre os artefatos de uma feature (spec, plan, tasks, constitution).
STRICTLY READ-ONLY: NAO modifica nenhum arquivo. Produz relatorio estruturado.
Pre-requisitos
Obrigatorio: spec.md E tasks.md existentes na feature a analisar.
Sem ambos, a skill aborta e indica qual comando rodar primeiro.
Opcional: plan.md e docs/constitution.md aumentam a cobertura da analise.
Proximos passos
- Se issues CRITICAL: resolver antes de
/execute-task
- Se apenas LOW/MEDIUM: prosseguir com
/execute-task mas agendar cleanup
/specify, /clarify ou /plan — conforme findings apontem onde corrigir
Argumentos
$ARGUMENTS
FLUXO DE EXECUCAO
1. INICIALIZAR Localizar e carregar artefatos
|
2. MODELAR Construir modelos semanticos
|
3. DETECTAR 6 passes de deteccao
|
4. CLASSIFICAR Atribuir severidade
|
5. REPORTAR Gerar relatorio compacto
|
6. RECOMENDAR Proximas acoes
ETAPA 1: INICIALIZAR
1.1 Localizar Artefatos
Use $ARGUMENTS para encontrar o diretorio da feature.
Derivar paths absolutos:
SPEC = {feature_dir}/spec.md
PLAN = {feature_dir}/plan.md
TASKS = {feature_dir}/tasks.md (ou docs/tasks*.md se fora do padrao specs/)
Se $ARGUMENTS vazio: listar diretorios em docs/specs/ e pedir ao usuario para escolher.
Artefatos obrigatorios: spec.md E tasks.md (ou equivalente).
Se algum esta ausente: abortar com mensagem indicando qual comando rodar primeiro.
1.2 Carregar Artefatos (Progressive Disclosure)
Da spec.md:
- Overview/Contexto
- Functional Requirements
- Non-Functional Requirements
- User Stories
- Edge Cases (se presente)
Do plan.md (se existir):
- Arquitetura/stack choices
- Referências a Data Model
- Fases
- Constraints tecnicos
Do tasks.md:
- Task IDs
- Descricoes
- Agrupamento por fase
- Marcadores [P] de paralelismo
- Paths de arquivo referenciados
Da constitution (se existir):
- Carregar
docs/constitution.md
- Extrair principios MUST/SHOULD
ETAPA 2: MODELAR
2.1 Construir Modelos Semanticos
Criar representacoes internas (nao incluir artefatos raw no output):
Inventario de Requisitos:
- Cada requisito funcional + nao-funcional com chave estavel
- Derivar slug do verbo imperativo (ex: "User can upload file" →
user-can-upload-file)
Inventario de User Stories/Acoes:
- Acoes discretas do usuario com criterios de aceite
Mapeamento de Cobertura de Tasks:
- Mapear cada task a um ou mais requisitos/stories
- Inferencia por keyword / padroes de referencia explicita (IDs, frases-chave)
Conjunto de Regras da Constitution:
- Extrair nomes de principios e afirmacoes MUST/SHOULD
ETAPA 3: DETECTAR
3.1 Passes de Deteccao
Executar 6 passes sobre os modelos semanticos. Detalhamento completo de cada
pass (o que flaggear, severidade tipica, exemplos) em
references/consistency-checks.md (mesmo diretorio desta skill):
- A. Duplicacao — requisitos near-duplicate
- B. Ambiguidade — adjetivos vagos, placeholders nao resolvidos
- C. Sub-especificacao — verbos sem objeto, criterios incompletos
- D. Alinhamento com Constitution — violacoes MUST sao automaticamente CRITICAL
- E. Gaps de Cobertura — requisitos orfaos, tasks orfas
- F. Inconsistencia — drift de terminologia, contradicoes entre artefatos
- G. Convencoes de Borda (case style) — comparar
plan.md §Convencoes de Borda contra uso real em data-model.md, contracts/*.md e
payload examples. Se plan declara DB=snake_case mas data-model.md
cita coluna userName, flag MAJOR. Se contracts declara
camelCase mas exemplo de payload usa user_name, flag MAJOR.
Razao: dec-172/173 historicos resolveram em FASE 8 (onda-040) uma
divergencia que existia desde onda-014 — 40 ondas de retrabalho
porque a convencao nao foi cross-checked upfront.
Focar em findings de alto sinal. Limite: 50 findings total. Agregar
restante em resumo de overflow.
ETAPA 4: CLASSIFICAR
4.1 Heuristica de Severidade
Tabela completa em references/consistency-checks.md#heuristica-de-severidade.
Resumo:
| Severidade | Criterio |
|---|
| CRITICAL | Violacao de MUST na constitution, artefato core ausente, requisito core sem cobertura |
| HIGH | Duplicacao/conflito, seguranca/performance ambigua, criterio nao-testavel |
| MEDIUM | Drift de terminologia, NFR parcialmente coberto, edge case sub-especificado |
| LOW | Estilo, redundancia menor |
ETAPA 5: REPORTAR
5.1 Formato do Relatorio
Produzir relatorio Markdown (NO FILE WRITES — apenas output na conversa):
## Specification Analysis Report
### Findings
| ID | Categoria | Severidade | Localizacao | Resumo | Recomendacao |
|----|-----------|-----------|-------------|--------|--------------|
| A1 | Duplicacao | HIGH | spec.md §FR-3, §FR-7 | Requisitos similares sobre... | Merge, manter versao mais clara |
| B1 | Ambiguidade | MEDIUM | spec.md §SC-002 | "rapido" sem metrica | Quantificar com threshold |
| D1 | Constitution | CRITICAL | plan.md §Tech | Viola principio Test-First | Adicionar fase de testes |
| E1 | Cobertura | HIGH | spec.md §FR-005 | Zero tasks mapeadas | Adicionar tasks em Phase 3 |
### Coverage Summary
| Requisito | Tem Task? | Task IDs | Notas |
|-----------|-----------|----------|-------|
| FR-001 | Sim | T012, T014 | |
| FR-002 | Sim | T015 | |
| FR-003 | Nao | — | Gap: sem tasks |
### Constitution Alignment
[Lista de violacoes ou "Todos os principios atendidos"]
### Unmapped Tasks
[Tasks sem requisito/story correspondente ou "Todas as tasks mapeadas"]
### Metricas
- **Total de Requisitos**: [N]
- **Total de Tasks**: [N]
- **Cobertura**: [N]% (requisitos com >= 1 task)
- **Ambiguidades**: [N]
- **Duplicacoes**: [N]
- **Issues Criticas**: [N]
ETAPA 6: RECOMENDAR
6.1 Proximas Acoes
Baseado nos findings:
- Se issues CRITICAL existem: Recomendar resolver antes de
/execute-task
- Se apenas LOW/MEDIUM: Usuario pode prosseguir, mas fornecer sugestoes de melhoria
- Comandos sugeridos concretos:
- "Rodar
/specify para refinar requisito FR-003"
- "Rodar
/plan para ajustar arquitetura"
- "Editar tasks.md para adicionar cobertura para 'performance-metrics'"
- "Rodar
/clarify para resolver ambiguidades na spec"
6.2 Oferecer Remediacao
Perguntar ao usuario:
"Deseja que eu sugira edicoes concretas de remediacao para os top N issues?"
NAO aplicar automaticamente — apenas sugerir se usuario aprovar explicitamente.
REGRAS IMPORTANTES
- NUNCA modificar arquivos (analise estritamente read-only)
- NUNCA hallucinar secoes ausentes (se ausente, reportar com precisao)
- Priorizar violacoes de constitution (sempre CRITICAL)
- Usar exemplos sobre regras exaustivas (citar instancias especificas)
- Reportar zero issues gracefully (emitir relatorio de sucesso com estatisticas de cobertura)
- Resultados deterministicos: re-rodar sem mudancas deve produzir IDs e contagens consistentes
- Max 50 findings: agregar overflow em resumo
Diferenca do validate-documentation
validate-documentation: Valida UM documento (UC) contra padroes de qualidade estrutural
analyze: Valida MULTIPLOS artefatos ENTRE SI (spec vs plan vs tasks vs constitution)
- Ambos coexistem — validate-docs para documentos individuais, analyze para consistencia cross-artifact
Gotchas
STRICTLY READ-ONLY — quebrar isso invalida o contrato
A skill NAO escreve nem edita arquivos. Se uma correcao parece obvia, sugira no relatorio e aguarde aprovacao explicita do usuario. Aplicar fixes automaticamente viola o proposito da analise.
Violacoes de constitution sao SEMPRE CRITICAL
Nao importa o quao pequena a violacao parece. Se conflita com um principio MUST, a severidade e CRITICAL e bloqueia /execute-task ate resolver. Nao rebaixe para HIGH por "contexto".
Max 50 findings — o resto vai para overflow
Ultrapassar esse limite dilui o sinal. Se mais de 50 candidatos, priorizar por (Impacto x Incerteza) e agregar o restante num resumo no final do relatorio.
Nao inventar secoes ausentes
Se a spec nao tem "Edge Cases", reporte como Gap (E. Gaps de Cobertura) — nao alucine conteudo "como deveria ser". O papel da skill e detectar, nao preencher.
Resultados devem ser deterministicos
Re-rodar a analise sem mudancas nos artefatos deve produzir os mesmos IDs, contagens e severidades. Se duas execucoes consecutivas divergem, o modelo interno esta instavel — rever heuristicas.