Files
claude-plugins/project-manager/skills/sprint/SKILL.md
T

4.9 KiB

name, description, disable-model-invocation, layer
name description disable-model-invocation layer
sprint Sprints flexíveis que lêem tasks do Desk CRM, agrupam em sprints com checkpoints e reviews. true wiki

/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 mem0:
    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 | A