- All SKILL.md files now <500 lines (avg reduction 69%) - Detailed content extracted to references/ subdirectories - Frontmatter standardised: only name + description (Anthropic standard) - New skills: brand-guidelines, spec-coauthor, report-templates, skill-creator - Design skills: anti-slop guidelines, premium-proposals reference - Removed non-standard frontmatter fields (triggers, version, author, category) Plugins affected: infraestrutura, marketing, dev-tools, crm-ops, gestao, core-tools, negocio, perfex-dev, wordpress, design-media Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
224 lines
4.8 KiB
Markdown
224 lines
4.8 KiB
Markdown
---
|
|
name: archive
|
|
description: Arquivamento inteligente de projectos e notas concluídos. Move itens finalizados para arquivo com organização adequada. Usar quando "archive", "arquivar", "mover para arquivo", "cleanup", "organizar concluídos".
|
|
disable-model-invocation: true
|
|
---
|
|
|
|
# /archive - Arquivamento Automatico
|
|
|
|
Skill para mover ficheiros concluidos para pastas de arquivo, mantendo o vault organizado.
|
|
|
|
---
|
|
|
|
## Comandos
|
|
|
|
| Comando | Descricao |
|
|
|---------|-----------|
|
|
| `/archive` | Arquiva ficheiros com `status: done` ou `status: concluido` |
|
|
| `/archive logs` | Arquiva logs >7 dias para 99-Arquivo |
|
|
| `/archive tests` | Arquiva testes concluidos em z_tests/arquivo/ |
|
|
| `/archive dry` | Mostra o que seria arquivado (sem mover) |
|
|
|
|
---
|
|
|
|
## Logica de Arquivamento
|
|
|
|
### Por Frontmatter Status
|
|
|
|
```javascript
|
|
// Detectar ficheiros com status concluido
|
|
const patterns = [
|
|
"status: done",
|
|
"status: concluido",
|
|
"status: completed",
|
|
"status: archived"
|
|
];
|
|
|
|
// Pastas locais Obsidian a verificar
|
|
const pastas_origem = [
|
|
"z_logs/", // Logs de trabalho
|
|
"z_reflect/" // Reflexões
|
|
];
|
|
|
|
for (pasta of pastas_origem) {
|
|
const ficheiros = await Glob({ pattern: pasta });
|
|
|
|
for (ficheiro of ficheiros) {
|
|
const conteudo = await Read({ file_path: ficheiro });
|
|
|
|
if (matchesAnyPattern(conteudo, patterns)) {
|
|
// Determinar pasta arquivo
|
|
const arquivo_path = getArchivePath(ficheiro);
|
|
|
|
// Mover
|
|
await Bash({
|
|
command: `mv "${ficheiro}" "${arquivo_path}"`
|
|
});
|
|
|
|
// Registar
|
|
arquivados.push(ficheiro);
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Por Idade (Logs)
|
|
|
|
```javascript
|
|
// /archive logs - ficheiros >7 dias na pasta z_logs/
|
|
const limite = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000);
|
|
|
|
// Listar ficheiros na pasta z_logs/
|
|
const logs = await Glob({ pattern: "z_logs/*.md" });
|
|
|
|
for (log of logs) {
|
|
const data_ficheiro = extractDateFromFilename(log); // YYYY-MM-DD
|
|
|
|
if (data_ficheiro < limite) {
|
|
// Mover para pasta z_arquivo/
|
|
await Bash({
|
|
command: `mv "${log}" "z_arquivo/"`
|
|
});
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Estrutura de Pastas (Obsidian Vault)
|
|
|
|
```
|
|
Planeamento/
|
|
├── z_logs/ # Logs de trabalho
|
|
│ ├── 2026-01-27-worklog.md # Activo (<7 dias)
|
|
│ └── 2026-01-19-worklog.md # Mover para z_arquivo (>7 dias)
|
|
│
|
|
├── z_reflect/ # Reflexões
|
|
│ ├── 2026-01-27-review.md # Activo
|
|
│ └── 2026-W04-weekly.md # Mover para z_arquivo
|
|
│
|
|
└── z_arquivo/ # Destino arquivamento
|
|
├── 2026-01-19-worklog.md
|
|
└── 2026-W04-weekly.md
|
|
```
|
|
|
|
---
|
|
|
|
## Regras de Arquivamento
|
|
|
|
| Tipo | Criterio | Destino |
|
|
|------|----------|---------|
|
|
| Logs | >7 dias | z_arquivo/ |
|
|
| Reflexoes | >14 dias OU weekly | z_arquivo/ |
|
|
| Projectos | status: done | z_arquivo/ |
|
|
|
|
---
|
|
|
|
## Output
|
|
|
|
### /archive (normal)
|
|
|
|
```markdown
|
|
## Arquivamento - 2026-01-27
|
|
|
|
### Movidos (5 ficheiros)
|
|
|
|
| Ficheiro | Origem | Destino |
|
|
|----------|--------|---------|
|
|
| 2026-01-19-worklog.md | z_logs/ | z_arquivo/ |
|
|
| TEST-Skills.md | z_tests/ | z_tests/arquivo/ |
|
|
| ... | ... | ... |
|
|
|
|
### Ignorados (status activo)
|
|
|
|
- 2026-01-27-worklog.md (activo)
|
|
- TEST-Current.md (status: active)
|
|
|
|
---
|
|
*Arquivamento concluido via `/archive`*
|
|
```
|
|
|
|
### /archive dry
|
|
|
|
```markdown
|
|
## Dry Run - 2026-01-27
|
|
|
|
### Seria arquivado (5 ficheiros)
|
|
|
|
| Ficheiro | Motivo |
|
|
|----------|--------|
|
|
| 2026-01-19-worklog.md | >7 dias |
|
|
| TEST-Done.md | status: concluido |
|
|
|
|
> [!info] Nenhum ficheiro foi movido
|
|
> Executar `/archive` para arquivar
|
|
```
|
|
|
|
---
|
|
|
|
## Integracao
|
|
|
|
### Com /today (segunda-feira)
|
|
|
|
O `/today` chama automaticamente `/archive logs` as segundas antes da analise semanal.
|
|
|
|
### Com /reflect
|
|
|
|
Apos gerar weekly review, ficheiros de reflexao da semana anterior podem ser arquivados.
|
|
|
|
---
|
|
|
|
## Seguranca
|
|
|
|
- **NUNCA arquiva** ficheiros sem pasta arquivo/ existente
|
|
- **NUNCA arquiva** ficheiros em edicao (modificados <1h)
|
|
- **Cria ficheiro** com lista de movidos em z_logs/: `archive-log-YYYY-MM-DD.md`
|
|
|
|
---
|
|
|
|
## Changelog
|
|
|
|
### v1.0.0 (2026-01-27)
|
|
- Versao inicial
|
|
- Arquivamento por frontmatter status
|
|
- Arquivamento por idade (logs >7 dias)
|
|
- Modo dry run
|
|
- Integracao com /today
|
|
|
|
---
|
|
|
|
*Skill v1.0 | Descomplicar®*
|
|
|
|
---
|
|
|
|
|
|
## Quando NÃO Usar
|
|
|
|
- Para tarefas fora do domínio de especialização desta skill
|
|
- Quando outra skill mais específica está disponível
|
|
- Para operações que requerem confirmação manual do utilizador
|
|
|
|
|
|
## Protocolo
|
|
|
|
1. Analisar requisitos da tarefa
|
|
2. Verificar disponibilidade de ferramentas necessárias
|
|
3. Executar operações de forma incremental
|
|
4. Validar resultados antes de concluir
|
|
5. Reportar status e próximos passos
|
|
|
|
|
|
## Exemplos
|
|
|
|
### Exemplo 1: Uso Básico
|
|
```
|
|
Input: [descrição da tarefa]
|
|
Output: [resultado esperado]
|
|
```
|
|
|
|
### Exemplo 2: Uso Avançado
|
|
```
|
|
Input: [caso complexo]
|
|
Output: [resultado detalhado]
|
|
```
|