--- name: index-update description: Actualiza INDEX.md de procedimentos após criar/modificar/arquivar PROC. Usar quando "actualizar index", "update INDEX.md", depois de criar procedimento, mover PROC, arquivar procedimento. Mantém estatísticas, navegação e data actualizadas. disable-model-invocation: true --- # /index-update - Actualizador de INDEX.md Actualiza ficheiros INDEX.md de procedimentos após operações (criar, modificar, mover, arquivar). --- ## Referências e Documentação **SEMPRE consultar:** - **[06-Operacoes/Procedimentos/INDEX.md](file:///media/ealmeida/Dados/Hub/06-Operacoes/Procedimentos/INDEX.md)** - INDEX principal (8 departamentos) - **[Hub CLAUDE.md](file:///media/ealmeida/Dados/Hub/CLAUDE.md)** - Convenções INDEX.md --- ## O Que Actualiza ### 1. INDEX.md Departamental Após criar/modificar/mover PROC em departamento: ```markdown | [PROC-Titulo.md](./PROC-Titulo.md) | Descrição breve | [DEPT]-[TEMA]-[NUM] | ``` **Campos:** - Nome ficheiro (link relativo) - Descrição breve (1 linha, <80 chars) - Código procedimento **Ordenação:** Por código (DEV-MCP-001, DEV-MCP-002, WP-SEC-001...) ### 2. INDEX.md Principal Actualizar estatísticas globais: ```markdown **Total:** X procedimentos (update counter) | Departamento | Procedimentos | Código Exemplo | |--------------|---------------|----------------| | D7-Tecnologia | 28 → 29 | DEV, WP, INF, AI, WEB | ``` ### 3. Metadados Actualizar em AMBOS os INDEX.md: ```markdown **Última actualização:** 2026-02-13 ``` --- ## Protocolo de Actualização ### Após Criar PROC (/proc-creator) ``` 1. IDENTIFICAR departamento do novo PROC - Ler frontmatter do PROC-*.md - Obter dept_id e codigo 2. LER INDEX.md departamental - Path: /media/.../Procedimentos/[Dept]/INDEX.md 3. ADICIONAR linha na tabela: | [PROC-Nome.md](./PROC-Nome.md) | Descrição | [DEPT]-[TEMA]-[NUM] | - Inserir na posição correcta (ordenado por código) 4. INCREMENTAR contador no INDEX departamental: "X procedimentos" → "X+1 procedimentos" 5. ACTUALIZAR data: "Última actualização: YYYY-MM-DD" 6. LER INDEX.md principal - Path: /media/.../Procedimentos/INDEX.md 7. INCREMENTAR contador na tabela do departamento: | D7-Tecnologia | 28 → 29 | ... 8. INCREMENTAR "Total:" no topo: "36 procedimentos" → "37 procedimentos" 9. ACTUALIZAR data INDEX principal 10. CONFIRMAR ambos salvos ``` ### Após Mover PROC ``` 1. REMOVER linha do INDEX origem 2. DECREMENTAR contador origem 3. ADICIONAR linha ao INDEX destino 4. INCREMENTAR contador destino 5. ACTUALIZAR INDEX principal (sem alterar total) 6. ACTUALIZAR datas ambos ``` ### Após Arquivar PROC ``` 1. REMOVER linha do INDEX departamental 2. DECREMENTAR contador departamental 3. ACTUALIZAR INDEX principal (decrementar total) 4. ADICIONAR nota "Arquivado YYYY-MM-DD" se relevante 5. ACTUALIZAR datas ``` --- ## Formato INDEX.md Departamental ```markdown --- title: D[N]-[Nome] - Procedimentos date: YYYY-MM-DD type: index status: active tags: [d[N], procedimentos, [tema]] --- # D[N] — [Nome] - Procedimentos **X procedimentos | Código: [DEPT]** --- ## 📋 Lista de Procedimentos | Procedimento | Descrição | Código | |--------------|-----------|--------| | [PROC-Nome1.md](./PROC-Nome1.md) | Descrição breve | [DEPT]-[TEMA]-001 | | [PROC-Nome2.md](./PROC-Nome2.md) | Descrição breve | [DEPT]-[TEMA]-002 | --- ## 📊 Estatísticas | Métrica | Valor | |---------|-------| | Total procedimentos | X | | Códigos únicos | [DEPT1], [DEPT2], [DEPT3] | | Status draft | Y | | Status active | Z | --- ## 🔗 Navegação - [[../INDEX|← Voltar a Procedimentos INDEX]] - [[../../../04-Stack/02.01-Departamentos/D[N]-[Nome]|Ver Departamento]] --- **D[N] — [Nome] | X Procedimentos** **Última actualização:** YYYY-MM-DD ``` --- ## Formato INDEX.md Principal ```markdown --- title: Procedimentos - INDEX date: YYYY-MM-DD type: index status: active tags: [procedimentos, organizacao, hub] --- # Procedimentos - INDEX Principal **Total:** X procedimentos | **Departamentos:** 8 --- ## 📊 Distribuição por Departamento | Departamento | Procedimentos | Código | INDEX | |--------------|---------------|--------|-------| | D1-Comercial | 1 | CRM | [INDEX](./D1-Comercial/INDEX.md) | | D2-Suporte | 0 | SUP | [INDEX](./D2-Suporte/INDEX.md) | | D3-Contabilidade | 2 | FIN | [INDEX](./D3-Contabilidade/INDEX.md) | | D4-RH | 0 | HR | [INDEX](./D4-RH/INDEX.md) | | D5-Design | 0 | DES | [INDEX](./D5-Design/INDEX.md) | | D6-Marketing | 1 | MKT | [INDEX](./D6-Marketing/INDEX.md) | | D7-Tecnologia | 28 | DEV, WP, INF, AI, WEB | [INDEX](./D7-Tecnologia/INDEX.md) | | Cross-Departamental | 4 | XDP | [INDEX](./Cross-Departamental/INDEX.md) | --- **Última actualização:** YYYY-MM-DD ``` --- ## Validações Antes de salvar INDEX.md, verificar: ``` ✅ Contadores correctos (manual count vs INDEX) ✅ Ordenação por código mantida ✅ Links relativos funcionam (./PROC-*.md) ✅ Sem linhas duplicadas ✅ Sem procedimentos órfãos (ficheiro existe mas não está no INDEX) ✅ Sem fantasmas (linha no INDEX mas ficheiro não existe) ✅ Data actualizada para hoje ✅ Formato tabela Markdown correcto ``` --- ## Integração com /proc-creator `/proc-creator` chama `/index-update` automaticamente: ``` User: /proc-creator "MCP Session Recovery" → PROC-MCP-Session-Recovery.md criado → /index-update triggered automaticamente → D7-Tecnologia/INDEX.md actualizado (28 → 29) → INDEX.md principal actualizado (36 → 37) → Confirmação ao utilizador ``` --- ## Modo Manual Quando usar manualmente: ``` User: Arquivei 3 procedimentos antigos do D7. Actualizar INDEX? Assistant: /index-update 1. Lendo D7-Tecnologia/INDEX.md... 2. Detectei que PROC-X, PROC-Y, PROC-Z não existem mais 3. Removendo linhas... 4. Actualizando contador: 28 → 25 5. Actualizando INDEX principal: 36 → 33 6. ✅ Ambos os INDEX.md actualizados ``` --- ## Detecção Automática de Dessinc Quando `/index-update` é chamado sem contexto: ``` 1. PARA CADA departamento: - Ler INDEX.md - Listar ficheiros PROC-*.md no directório - Comparar 2. DETECTAR problemas: - Órfãos: ficheiro existe mas não está no INDEX - Fantasmas: linha no INDEX mas ficheiro não existe - Contadores errados: NUM no INDEX ≠ count real 3. REPORTAR discrepâncias: "D7-Tecnologia: 3 órfãos detectados" "D3-Contabilidade: contador errado (diz 2, tem 3)" 4. PERGUNTAR ao utilizador: "Corrigir automaticamente? [Sim/Não]" 5. SE Sim: - Adicionar órfãos ao INDEX - Remover fantasmas do INDEX - Corrigir contadores - Actualizar datas ``` --- ## Exemplos de Uso ### Exemplo 1: Após Criar PROC ``` User: /proc-creator criou PROC-WordPress-CLI.md Assistant: (auto-triggered /index-update) ✅ D7-Tecnologia/INDEX.md actualizado - Adicionada linha: PROC-WordPress-CLI.md | WP-CLI-001 - Contador: 28 → 29 ✅ INDEX.md principal actualizado - D7: 28 → 29 - Total: 36 → 37 ``` ### Exemplo 2: Correcção Manual ``` User: /index-update Assistant: 🔍 Verificando consistência... D7-Tecnologia: - ⚠️ 2 órfãos detectados: - PROC-MCP-Troubleshooting-Erro-471.md (não está no INDEX) - PROC-MCP-Session-Recovery.md (não está no INDEX) - ✅ Sem fantasmas D3-Contabilidade: - ⚠️ Contador errado: INDEX diz 2, existem 3 ficheiros Corrigir automaticamente? [Sim] → Adicionando órfãos... → Corrigindo contadores... → Actualizando datas... ✅ Todos os INDEX.md consistentes ``` ### Exemplo 3: Após Arquivar ``` User: Arquivei PROC-Backup-Old-Method.md (obsoleto) Assistant: /index-update D7-Tecnologia ✅ Removido PROC-Backup-Old-Method.md do INDEX ✅ Contador: 29 → 28 ✅ INDEX principal: 37 → 36 ✅ Data actualizada ``` --- ## Anti-Patterns **NUNCA:** - ❌ Actualizar INDEX sem verificar ficheiro existe - ❌ Esquecer de actualizar INDEX principal - ❌ Deixar data desactualizada - ❌ Quebrar ordenação por código - ❌ Adicionar linha com link quebrado **SEMPRE:** - ✅ Actualizar AMBOS os INDEX (dept + principal) - ✅ Verificar ficheiro existe antes de adicionar - ✅ Manter ordenação por código - ✅ Actualizar contadores correctamente - ✅ Actualizar data para hoje --- ## Validação Pós-Actualização Checklist automática: ``` ✅ Contadores matemáticos correctos ✅ Links relativos válidos ✅ Ordenação mantida ✅ Sem duplicados ✅ Sem órfãos detectados ✅ Sem fantasmas detectados ✅ Data = hoje ✅ Formato Markdown válido ``` --- ## Scripts Auxiliares (Futuro) ```bash # Validar consistência INDEX.md ./scripts/validate-index.sh # Detectar órfãos e fantasmas ./scripts/detect-orphans.sh # Re-gerar INDEX.md do zero ./scripts/rebuild-index.sh [departamento] ``` --- *Skill v1.0.0 | 2026-02-13 | Plugin gestao | Descomplicar®*