Files
claude-plugins/crm-ops/skills/desk/SKILL.md
Emanuel Almeida 6b3a6f2698 feat: refactor 30+ skills to Anthropic progressive disclosure pattern
- 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>
2026-03-12 15:05:03 +00:00

241 lines
5.1 KiB
Markdown

---
name: desk
description: Contexto de projecto via .desk-project. Auto-detecção, integração com /time, status rápido, criação de tarefas e changelog. Sistema Triângulo Desk-GDrive-Local.
---
# /desk v3.0 - Contexto de Projecto
Integração automática com Desk CRM via `.desk-project`. Sistema Triângulo.
---
## Novidades v3.0
- **Integração /time:** Mostrar timer activo do projecto
- **Remover /desk-time:** Usar `/time` directamente
- **Novo /desk status:** Resumo rápido
- **Sync bidirecional:** Actualizar .desk-project se dados mudarem
---
## Comandos
| Comando | Função |
|---------|--------|
| `/desk` | Mostrar contexto completo |
| `/desk status` | Resumo rápido (timer + tarefas) |
| `/desk task <desc>` | Criar tarefa no projecto |
| `/desk log <msg>` | Adicionar changelog |
| `/desk init` | Inicializar .desk-project |
**Removido:** `/desk-time` → usar `/time` directamente
---
## Protocolo
### Auto-detecção
Ao entrar numa pasta:
```
1. Verificar se existe .desk-project
2. Se existe:
a. Ler configuração
b. Carregar contexto silenciosamente
c. Mostrar linha breve: "📁 Projecto X (#ID) | Y tarefas"
```
---
### /desk (Contexto Completo)
```
1. Ler .desk-project
2. mcp__desk-crm-v3__get_project({ project_id })
3. mcp__desk-crm-v3__get_tasks({ project_id, status: [1,4] })
4. Verificar timer activo em ~/.claude-work/active-timer.json
5. mcp__desk-crm-v3__get_project_time_tracking({ project_id })
6. Mostrar resumo completo
```
**Output:**
```markdown
## 📁 Stack Workflow (#65)
### Contexto
- **Cliente:** Descomplicar (interno)
- **Status:** Em Curso
- **Progresso:** 65%
### ⏱️ Timer Activo
🟢 #1446 - Documentação Skills (2h 15m)
### 📋 Tarefas Pendentes (5)
| ID | Nome | Prioridade |
|----|------|------------|
| #1450 | Implementar /invoice | Alta |
| #1448 | Testar /time v2 | Normal |
### ⏰ Tempo Esta Semana
- Total: 12h 30m
- Billable: 10h (80%)
```
---
### /desk status (Resumo Rápido)
```
1. Ler .desk-project
2. Verificar timer activo
3. Contar tarefas pendentes
4. Mostrar 1-2 linhas
```
**Output:**
```
📁 Stack (#65) | 🟢 Timer: #1446 (2h) | 📋 5 tarefas | ⏰ 12h esta semana
```
---
### /desk task <descrição>
```
1. Ler .desk-project (project_id, default_milestone, default_tags)
2. mcp__desk-crm-v3__create_task({
name: descrição,
rel_type: "project",
rel_id: project_id,
milestone_id: default_milestone,
assignees: [25], // AikTop
status: 1,
priority: 2,
description: "<p>Criado via /desk task</p>"
})
3. Confirmar: "Tarefa #X criada. Iniciar timer? [Sim/Não]"
4. Se sim: Invocar /time start X
```
---
### /desk log <mensagem>
```
1. Ler .desk-project (changelog_discussion_id)
2. Se não existe discussão:
a. Criar discussão "Changelog - [Projecto]"
b. Actualizar .desk-project com ID
3. Formatar mensagem em HTML:
<h4>[DATA] [tipo]: Mensagem</h4>
<p>Detalhes...</p>
4. mcp__desk-crm-v3__add_discussion_comment({
discussion_id: changelog_discussion_id,
content: html,
staff_id: 25
})
5. Confirmar
```
**Prefixos reconhecidos:**
- `feat:` - Nova funcionalidade
- `fix:` - Correcção
- `docs:` - Documentação
- `refactor:` - Refactoring
---
### /desk init
```
1. Perguntar projecto (ID ou pesquisar por nome)
2. mcp__desk-crm-v3__get_project({ project_id })
3. Criar .desk-project:
{
"project_id": 80,
"project_name": "Nome",
"client_id": 18,
"desk_url": "https://desk.descomplicar.pt/admin/projects/view/80",
"gdrive_folder": null,
"local_path": pwd,
"default_milestone": null,
"default_tags": ["development"],
"changelog_discussion_id": null,
"created_at": "2026-02-05"
}
4. Perguntar: "Criar discussão de changelog? [Sim/Não]"
5. Confirmar setup
```
---
## Estrutura .desk-project
```json
{
"project_id": 65,
"project_name": "Stack Workflow",
"client_id": null,
"desk_url": "https://desk.descomplicar.pt/admin/projects/view/65",
"gdrive_folder": null,
"local_path": "/home/ealmeida/.claude",
"default_milestone": null,
"default_tags": ["development"],
"changelog_discussion_id": 31,
"created_at": "2026-02-05"
}
```
---
## Sistema Triângulo
> Desk↔GDrive↔Local - Qualquer ponto leva aos outros
**Implementação:**
- **Desk:** Campos Pasta GDrive + Pasta Local preenchidos
- **Local:** .desk-project com todos os links
- **GDrive:** README.md com links Desk + Local
- **Obsidian:** Frontmatter com desk_project
---
## Integração /time
- `/desk` mostra timer activo se no projecto actual
- `/desk task` oferece iniciar timer
- Remover comandos de tempo duplicados
---
## Anti-Patterns
- **NUNCA** criar .desk-project sem verificar se projecto existe
- **NUNCA** usar /desk-time (usar /time)
- **NUNCA** criar tarefas sem projecto associado
---
## Changelog
### v3.0.0 (2026-02-05)
- Integração completa com /time
- Remover /desk-time (usar /time)
- Novo /desk status para resumo rápido
- Mostrar timer activo no contexto
- Sync bidirecional .desk-project
### v2.0.0 (2026-01-27)
- Sistema Triângulo implementado
- Auto-detecção .desk-project
### v1.0.0
- Versão inicial
---
*Skill v3.0.0 | 2026-02-05 | Descomplicar®*