一键导入
spec-manager
Automatizar gestão de specs — detectar implementação, atualizar status, organizar documentação
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Automatizar gestão de specs — detectar implementação, atualizar status, organizar documentação
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | spec-manager |
| description | Automatizar gestão de specs — detectar implementação, atualizar status, organizar documentação |
| triggers | ["spec-manager","gerenciar specs","atualizar status","spec status"] |
| globs | ["docs/specs/*.md"] |
Regra: Toda spec approved sem implementation tracking = débt técnico
OBRIGATÓRIO:
OPCIONAL:
./bin/devorq spec status./bin/devorq spec updateAntes de qualquer análise, verificar front matter completo:
| Campo | Formato | Obrigatório |
|---|---|---|
| id | SPEC-YYYY-MM-DD-NNN | ✅ |
| title | texto | ✅ |
| domain | arquitetura|refactor|importacao|ui_ux|seguranca|operacao | ✅ |
| status | draft|planning|approved|in_progress|implemented|validated|blocked|archived | ✅ |
| priority | low|medium|high|critical | ✅ |
| created_at | YYYY-MM-DD | ✅ |
| updated_at | YYYY-MM-DD | ✅ |
| related_files | lista (pode ser []) | ✅ |
| related_tasks | lista (pode ser []) | ✅ |
Problema: grep -c "^- " conta qualquer linha com "- "
Solução: Contar apenas items dentro do bloco YAML:
# Contar só items em related_files: (entre front matter)
related_files=$(awk '/^related_files:/,/^[^ ]/' "$spec_file" 2>/dev/null | grep -c "^- " || echo "0")
Para cada related_file na lista, verificar se existe:
.devorq/ → verificar diretóriobin/ → verificar arquivolib/ → verificar arquivofor file in $related_files_list; do
if [ -e "$file" ] || [ -d "$file" ]; then
exists=$((exists + 1))
fi
done
Se related_tasks tem items (TASK-XXX):
implementedUma spec com status approved é considerada implementada quando:
| Prioridade | Critério |
|---|---|
| 1 | related_files > 0 E > 50% existem → implemented |
| 2 | related_files > 0 E existem → implemented (fallback) |
| 3 | related_tasks > 0 E tasklist existe → implemented |
Para cada spec em docs/specs/:
related_files_count=$(awk '/^related_files:/,/^[^ ]/' "$spec_file" | grep -c "^- ")
for file in $related_files_list; do
[ -e "$file" ] || [ -d "$file" ] && ((exists++))
done
percent=$((exists * 100 / total))
related_files > 0 E percent >= 50 → proposed implementedrelated_tasks > 0 E tasklist existe → proposed implementedMostrar análise detalhada antes de atualizar:
## SPEC-XXX: Título
Status: approved → implementada?
Files: 5 relacionados, 4 existem (80%)
Tasks: 3 relacionadas, tasklist existe ✓
→ Atualizar? [S/N]
Antes de marcar como implemented:
related_files com pelo menos 1 itemrelated_files: [] presente (mesmo vazio)related_tasks: [] presente (mesmo vazio)updated_at recentevalidated ou archived./bin/devorq spec statusLista todas as specs com análise detalhada:
## SPEC-2026-04-02-001: Fluxo Multi-LLM
Status: approved
Domínio: arquitetura
Related files: 6 (detected: 6)
Existência: 6/6 (100%) ✓
→ Proposto: implemented
./bin/devorq spec updateAtualiza com confirmações:
Verificando specs approved...
SPEC-2026-04-02-001: 6 files, 6 existem (100%)
→ Atualizar para implemented? [S/N]: S
→ Atualizado!
Índice regenerado.
[] significa nada feitoPara specs seguirem o padrão e serem detectadas corretamente:
---
id: SPEC-2026-04-06-002
title: Nova Feature
domain: arquitetura
status: draft
priority: high
owner: team-core
created_at: 2026-04-06
updated_at: 2026-04-06
source: manual
related_tasks: []
related_files: []
---
Importante: Sempre incluir related_tasks: [] e related_files: [] mesmo que vazios.
docs/specs/docs/specs/_index.md.devorq/state/tasklist/bin/devorq specExplorar ideias antes de criar plano formal
Revisão de código antes de merge
Documentar aprendizados para evitar recorrência
Validação de schema/enums/tipos antes de implementar código de domínio
Checklist obrigatório antes de qualquer commit
Validar estrutura de banco antes de operações de dados