analyze · git:20260808.4c75eb4 · 2026-08-08 · sha256 a467d893a3f588cc
analyze git:20260808.4c75eb4A
Immutable. This exact content is served forever at /api/v1/blob/a467d893a3f588cc.
---
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
1. Se issues CRITICAL: resolver antes de `/execute-task`
2. Se apenas LOW/MEDIUM: prosseguir com `/execute-task` mas agendar cleanup
3. `/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):
```markdown
## 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.