- 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>
7.4 KiB
7.4 KiB
name, description, disable-model-invocation
| name | description | disable-model-invocation |
|---|---|---|
| sprint | Sprints flexíveis que lêem tasks do Desk CRM, agrupam em sprints com checkpoints e reviews. | true |
/sprint v1.0 - Sprints Flexiveis
Sprints com duracao flexivel, Desk CRM como fonte de verdade, checkpoints obrigatorios.
Contexto NotebookLM
ANTES de executar, consultar notebooks para contexto especializado:
| Notebook | ID | Consultar quando |
|---|---|---|
| Gestão de Projectos e Agile | 0c9c079c-a426-486c-99eb-1564d42d37ad | Sempre |
mcp__notebooklm__notebook_query({
notebook_id: "0c9c079c-a426-486c-99eb-1564d42d37ad",
query: "<adaptar ao contexto do pedido do utilizador>"
})
Integrar insights do NotebookLM nas recomendações e decisões.
Comandos
| Comando | Funcao |
|---|---|
/sprint |
Mostrar sprint activo |
/sprint plan |
Criar sprint a partir de tasks Desk |
/sprint check-in |
Checkpoint a meio do sprint |
/sprint review |
Review final do sprint |
/sprint close |
Fechar sprint e calcular metricas |
/sprint add <task_id> |
Adicionar task ao sprint activo |
/sprint remove <task_id> |
Remover task do sprint |
SPRINT.md Template
---
sprint_id: YYYY-WNN-[projecto]
project_id: null
start_date: YYYY-MM-DD
end_date: YYYY-MM-DD
status: active
checkpoint_done: false
spec_refs: []
tasks_planned: 0
tasks_added_after: 0
---
# Sprint: [Goal em 1 frase]
## Tasks
| Desk ID | Task | Prioridade | Estimativa | Status | Tempo Real |
|---------|------|-----------|-----------|--------|-----------|
## Checkpoint (Meio do Sprint)
_Data: [a preencher]_
- On track: [sim/nao]
- Bloqueios: [lista]
- Scope changes: [lista]
- Accao: [continuar/ajustar]
## Review (Final do Sprint)
_Data: [a preencher]_
- Tasks completadas: X/Y
- Tasks adicionadas pos-planeamento: N
- Tempo estimado: Xh
- Tempo real: Yh
- Scope changes: N
- Licoes aprendidas: [lista]
- Proximos passos: [lista]
Protocolos
/sprint (sem argumentos)
1. Procurar SPRINT.md no directorio actual (ou pais, max 3 niveis)
2. SE encontrado e status == active:
a. Ler SPRINT.md
b. Buscar estado actual das tasks no Desk CRM:
Para cada task_id na tabela:
mcp__desk-crm-v3__get_task({ id: task_id })
c. Mostrar:
---
## Sprint Activo: [goal]
**Projecto:** [nome] (#id)
**Periodo:** [start] -> [end] (dia X de Y)
**Checkpoint:** [feito/pendente]
| Task | Status Desk | Sprint |
|------|------------|--------|
**Progresso:** X/Y tasks (Z%)
---
3. SE nao encontrado:
"Sem sprint activo. Usar /sprint plan para criar."
/sprint plan
1. mcp__mcp-time__current_time -> data actual
2. Detectar contexto:
a. Ler .desk-project se existe -> project_id
b. Se nao: perguntar projecto
3. Buscar tasks abertas do Desk CRM:
mcp__desk-crm-v3__get_tasks({ project_id: X, status: [1, 4] })
(status 1=Not Started, 4=In Progress)
4. Verificar SPEC.md:
- Se existe e aprovado: incluir referencia no sprint
- Se nao existe: WARN "Sem spec aprovado. Considere /spec create."
- Nao bloquear por isto (gradual adoption)
5. Apresentar tasks ao Emanuel por prioridade:
## Tasks Disponiveis para Sprint
### Urgente / Alta
- #1450: Implement API (4h estimado)
- #1451: Fix login bug (1h estimado)
### Normal
- #1448: Write docs (2h estimado)
### Baixa
- #1452: Refactor CSS (3h estimado)
6. Perguntar:
"Que tasks incluir neste sprint? E data limite?"
(pode ser: "todas as urgentes", "#1450 e #1448", etc.)
7. Calcular estimativa total
8. GERAR SPRINT.md:
- sprint_id: YYYY-WNN-[projecto] (semana ISO actual)
- tasks_planned: contagem
- Preencher tabela de tasks
9. CONFIRMAR: "Sprint com [N] tasks, ~[X]h, ate [data]. Criar?"
10. Gravar SPRINT.md
11. Guardar em memory-supabase:
save_memory({
content: "Sprint [id] iniciado: [N] tasks, [X]h, ate [data]",
tags: ["sprint", "project-[id]", sprint_id]
})
12. "Sprint criado. Check-in recomendado em [data_meio]."
/sprint check-in
1. Ler SPRINT.md
- Se nao existe ou status != active: "Sem sprint activo."
2. Se checkpoint_done == true:
"Checkpoint ja realizado. Para novo check-in, usar /sprint review."
3. mcp__mcp-time__current_time -> calcular dia actual vs periodo
4. Para cada task do sprint:
mcp__desk-crm-v3__get_task({ id: task_id })
- Comparar status actual vs planeado
5. Calcular:
- % tempo decorrido
- % tasks completadas
- Tasks adicionadas apos planeamento (comparar com tasks_planned)
6. Detectar alertas:
- >50% tempo decorrido mas <40% tasks feitas -> "ATRASADO"
- Tasks novas adicionadas -> "SCOPE CREEP: [N] tasks nao planeadas"
- Tasks bloqueadas -> "BLOQUEIO: [task]"
7. Apresentar:
---
## Checkpoint Sprint [id]
**Progresso:** X/Y tasks (Z%)
**Tempo:** dia M de N (W% decorrido)
**Alerta:** [verde/amarelo/vermelho]
### Tasks
| Task | Planeado | Actual |
|------|----------|--------|
### Problemas Detectados
- [lista ou "nenhum"]
### Recomendacao
[Continuar como esta / Ajustar scope / Pedir ajuda]
---
8. Perguntar: "Algum ajuste? Notas?"
9. Actualizar SPRINT.md:
- Preencher seccao Checkpoint
- checkpoint_done: true
/sprint review
1. Ler SPRINT.md
- Se status != active: "Sprint nao activo."
2. mcp__mcp-time__current_time
3. Estado final de todas as tasks:
Para cada task: mcp__desk-crm-v3__get_task({ id })
4. Buscar tempo real:
mcp__desk-crm-v3__get_task_time_logs({ task_id }) para cada task
5. Calcular metricas:
- Completion rate: tasks_done / tasks_total
- Scope creep: tasks_added_after (comparar lista actual vs original)
- Tempo: soma estimativas vs soma real
- Precisao: |estimado - real| / estimado * 100
6. Apresentar review:
---
## Sprint Review: [id]
### Resultado: [X/Y tasks completadas]
| Task | Estimativa | Tempo Real | Status |
|------|-----------|-----------|--------|
### Metricas
- Completion rate: Z%
- Scope changes: N tasks adicionadas/removidas
- Tempo: Xh estimado vs Yh real (precisao: W%)
### Retrospectiva
- O que correu bem?
- O que pode melhorar?
- Accoes para proximo sprint?
---
7. Perguntar retrospectiva ao Emanuel
8. Actualizar SPRINT.md seccao Review
9. Registar metricas:
a. memory-supabase:
save_memory({
content: "Sprint [id] review: [X/Y] tasks, [scope_changes] changes, [Yh] real vs [Xh] estimado",
tags: ["sprint", "metrics", sprint_id, "project-[id]"]
})
b. Se .desk-project existe: comentar na task Desk (formato HTML #27)
10. Perguntar: "Planear proximo sprint? /sprint plan"
### `/sprint close`
- Executar /sprint review se review nao feito
- Actualizar SPRINT.md: status -> closed
- "Sprint fechado. Metricas registadas."
### `/sprint add <task_id>`
- Ler SPRINT.md activo
- Verificar se task_id ja esta no sprint
- Buscar task do Desk: mcp__desk-crm-v3__get_task({ id: task_id })
- Adicionar a tabela de tasks
- Incrementar tasks_added_after no frontmatter
- WARN: "Task adicionada apos planeamento. Isto conta como scope change."
---
## Regras
1. **NUNCA** criar sprint sem consultar Desk CRM
2. **SEMPRE** perguntar ao Emanuel que tasks incluir (nao decidir sozinho)
3. Checkpoint e recomendado mas nao obrigatorio
4. Review e obrigatorio antes de fechar sprint
5. Metricas sao factuais - nao ajustar para "parecer bem"
6. Sprint nao tem cadencia fixa - dura o que o projecto precisa