--- name: status description: > Dashboard de projecto v1.0. Agrega spec, sprint, desk, git e timer num unico view. Use when "status", "project status", "estado do projecto", "como estamos", "progress", "overview", "dashboard", "resumo projecto". author: Descomplicar® Crescimento Digital version: 1.0.0 quality_score: 70 user_invocable: true category: productivity tags: [status, dashboard, project, progress, overview, aggregator] desk_project: 65 allowed-tools: Read, Bash, Glob, mcp__desk-crm-v3, mcp__mcp-time mcps: desk-crm-v3, mcp-time dependencies: skills: [spec, sprint, scope] mcps: [desk-crm-v3, mcp-time] --- # /status v1.0 - Dashboard de Projecto Agrega todas as fontes num unico painel: SPEC.md + SPRINT.md + Desk CRM + git + timer. --- ## Comandos | Comando | Funcao | |---------|--------| | `/status` | Status completo do projecto actual | | `/status quick` | Resumo em 1-2 linhas | | `/status all` | Status de todos os projectos activos | --- ## Protocolos ### `/status` ``` 1. mcp__mcp-time__current_time 2. Detectar contexto: a. Ler .desk-project se existe -> project_id, project_name b. Se nao: usar directorio actual como contexto 3. RECOLHER em paralelo: a. SPEC: Ler SPEC.md (status, peso, scope items, aprovacao) b. SPRINT: Ler SPRINT.md (progresso, checkpoint, periodo) c. DESK: mcp__desk-crm-v3__get_tasks({ project_id, status: [1,2,4,5] }) d. TIMER: Ler ~/.claude-work/active-timer.json e. GIT: git log --oneline -5 && git status --short (se git repo) 4. COMPOR dashboard: --- ## Projecto: [nome] (#id) ### Spec [Se existe:] - **Status:** [draft/approved/in_progress/amended] - **Titulo:** [titulo] - **Progresso:** X/Y scope items - **Amendments:** N alteracoes pos-aprovacao [Se nao existe:] - **Sem spec.** Considere `/spec create` ### Sprint [Se activo:] - **Sprint:** [id] | [start] -> [end] - **Tasks:** X/Y completadas (Z%) - **Checkpoint:** [feito em DATA / pendente] [Se nao activo:] - **Sem sprint activo.** Use `/sprint plan` ### Desk CRM - **Tasks abertas:** N (U urgentes, H alta prioridade) - **Tasks bloqueadas:** N - **Tempo esta semana:** Xh ### Timer [Se activo:] - **Timer:** #[task_id] - [nome] (Xh Xm) [Se nao:] - **Sem timer activo** ### Git [Se repo:] - **Ultimos commits:** N (7 dias) - **Changes nao committed:** N ficheiros [Se nao repo:] - **Sem repositorio git** ### Bloqueios - [bloqueio 1] - [Nenhum detectado] --- ``` ### `/status quick` ``` 1. Mesma recolha mas output compacto: [nome] (#id) | Spec: [status] | Sprint: [X/Y tasks] | Desk: [N open] | Timer: [activo/off] Exemplo: "Stack (#65) | Spec: approved (3/5) | Sprint W06: 2/4 tasks | Desk: 8 open | Timer: off" ``` ### `/status all` ``` 1. Encontrar todos os .desk-project: Glob: /media/ealmeida/Dados/Dev/**/.desk-project 2. Para cada projecto encontrado: a. Ler .desk-project -> project_id, project_name b. Quick fetch Desk: mcp__desk-crm-v3__get_tasks({ project_id, status: [1,4] }) c. Verificar existencia de SPEC.md e SPRINT.md 3. Compilar tabela: --- ## Projectos Activos | Projecto | Spec | Sprint | Tasks Abertas | Bloqueios | |----------|------|--------|--------------|-----------| | Stack (#65) | approved | W06 (2/4) | 8 | 0 | | SFV (#80) | draft | - | 12 | 2 | | Hub (#90) | - | - | 3 | 0 | **Total:** N projectos, M tasks abertas, K bloqueios --- NOTA: /status all pode demorar ~30s por projecto. Limitar a projectos com .desk-project (nao todos os do Desk CRM). ``` --- ## Regras 1. **NUNCA** modificar dados - apenas leitura 2. Dados em falta = mostrar sugestao (nao esconder) 3. Bloqueios devem saltar a vista (primeiro destaque) 4. Se falhar alguma fonte (MCP offline): mostrar as restantes com nota 5. `/status quick` para uso em `/today`; `/status` para analise