feat: adiciona 12 plugins Descomplicar ao marketplace
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>
This commit is contained in:
273
project-manager/skills/sprint/SKILL.md
Normal file
273
project-manager/skills/sprint/SKILL.md
Normal file
@@ -0,0 +1,273 @@
|
||||
---
|
||||
name: sprint
|
||||
description: >
|
||||
Sprints flexiveis v1.0. Le tasks do Desk CRM, agrupa em sprints com checkpoints.
|
||||
Duracao flexivel por projecto. Checkpoint a meio e review no final.
|
||||
Use when "sprint", "planning", "planeamento", "sprint plan", "sprint review",
|
||||
"check-in", "o que fazer a seguir", "prioridades".
|
||||
author: Descomplicar® Crescimento Digital
|
||||
version: 1.0.0
|
||||
quality_score: 70
|
||||
user_invocable: true
|
||||
category: productivity
|
||||
tags: [sprint, planning, agile, desk, tasks, checkpoint, review]
|
||||
desk_project: 65
|
||||
allowed-tools: Read, Write, Edit, Bash, Glob, mcp__desk-crm-v3, mcp__mcp-time, mcp__memory-supabase
|
||||
mcps: desk-crm-v3, mcp-time, memory-supabase
|
||||
dependencies:
|
||||
skills: [spec]
|
||||
mcps: [desk-crm-v3, mcp-time]
|
||||
---
|
||||
|
||||
# /sprint v1.0 - Sprints Flexiveis
|
||||
|
||||
Sprints com duracao flexivel, Desk CRM como fonte de verdade, checkpoints obrigatorios.
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
|
||||
```markdown
|
||||
---
|
||||
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`
|
||||
|
||||
```
|
||||
1. Executar /sprint review se review nao feito
|
||||
2. Actualizar SPRINT.md: status -> closed
|
||||
3. "Sprint fechado. Metricas registadas."
|
||||
```
|
||||
|
||||
### `/sprint add <task_id>`
|
||||
|
||||
```
|
||||
1. Ler SPRINT.md activo
|
||||
2. Verificar se task_id ja esta no sprint
|
||||
3. Buscar task do Desk: mcp__desk-crm-v3__get_task({ id: task_id })
|
||||
4. Adicionar a tabela de tasks
|
||||
5. Incrementar tasks_added_after no frontmatter
|
||||
6. 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
|
||||
Reference in New Issue
Block a user