Plugins: automacao, crm-ops, design-media, dev-tools, gestao, infraestrutura, marketing, negocio, perfex-dev, project-manager, wordpress + hello-plugin (existente). Totais: 83 skills, 44 agents, 12 datasets.json Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
231 lines
4.9 KiB
Markdown
231 lines
4.9 KiB
Markdown
---
|
|
name: archive
|
|
description: Intelligent archiving of completed projects and notes. Moves finished
|
|
items to archive with proper organization. Use when user mentions "archive", "arquivar",
|
|
"mover para arquivo", "cleanup", "organizar concluídos".
|
|
author: Descomplicar® Crescimento Digital
|
|
version: 1.0.0
|
|
quality_score: 75
|
|
user_invocable: true
|
|
desk_task: 1462
|
|
allowed-tools: Bash, Glob, Read
|
|
---
|
|
|
|
# /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]
|
|
```
|