# Padrões de Workflow para Skills ## Sumário 1. Workflows Sequenciais 2. Workflows Condicionais 3. Workflow Completo de Criação de Skill Descomplicar 4. Checklist de Entrega Final --- ## 1. Workflows Sequenciais Para tarefas complexas, dividir operações em passos claros e sequenciais. É útil dar ao agente uma visão geral do processo no início do SKILL.md: ```markdown Preencher um formulário PDF envolve estes passos: 1. Analisar o formulário (executar analyze_form.py) 2. Criar mapeamento de campos (editar fields.json) 3. Validar mapeamento (executar validate_fields.py) 4. Preencher o formulário (executar fill_form.py) 5. Verificar output (executar verify_output.py) ``` ### Características de um bom workflow sequencial - Cada passo é concreto e verificável - Dependências entre passos são explícitas - Artefactos de cada passo estão identificados - Passos opcionais estão claramente marcados --- ## 2. Workflows Condicionais Para tarefas com lógica de ramificação, guiar o agente pelos pontos de decisão: ```markdown 1. Determinar o tipo de modificação: **Criar novo conteúdo?** -> Seguir "Workflow de criação" abaixo **Editar conteúdo existente?** -> Seguir "Workflow de edição" abaixo 2. Workflow de criação: a. [passo 1] b. [passo 2] 3. Workflow de edição: a. [passo 1] b. [passo 2] ``` ### Árvore de decisão para tipo de skill Ao criar uma nova skill, determinar primeiro o tipo: ``` Skill nova ou actualização? ├── Nova skill │ ├── Tem scripts reutilizáveis? -> incluir scripts/ │ ├── Tem docs de referência detalhadas? -> incluir references/ │ └── Tem templates/assets de output? -> incluir assets/ └── Actualização de skill existente ├── SKILL.md está >500 linhas? -> mover conteúdo para references/ ├── Description é vaga? -> melhorar com triggers explícitos └── Há duplicação SKILL.md / references? -> consolidar ``` --- ## 3. Workflow Completo de Criação de Skill Descomplicar ### Fase 1: Preparação (antes de escrever qualquer ficheiro) ``` 1. Clarificar com o utilizador: - Que tarefas concretas a skill executa? - Que diria o utilizador para activar a skill? - Que conhecimento o agente não tem por defeito? 2. Identificar recursos reutilizáveis: - Código que é reescrito repetidamente -> scripts/ - Docs de referência, schemas, APIs -> references/ - Templates, assets de output -> assets/ 3. Escolher o plugin de destino: - dev-tools: skills de desenvolvimento (PHP, JS, DB, segurança) - gestao: skills operacionais (worklog, desk, today) - crm-ops: skills comerciais (orçamento, leads) - core-tools: skills core do sistema ``` ### Fase 2: Estrutura ``` 4. Criar directório da skill: ~/.claude/plugins/cache/descomplicar-plugins//1.0.0/skills// 5. Criar SKILL.md com: - Frontmatter: name + description (com triggers explícitos) - Corpo: workflow core, <500 linhas - Referencias a ficheiros de references/ (quando e por quê) 6. Criar references/ se necessário: - Um ficheiro por domínio/tema - Incluir índice no topo se >100 linhas - Sem duplicação com SKILL.md ``` ### Fase 3: Validação ``` 7. Verificar checklist de qualidade: [ ] Frontmatter: apenas name + description [ ] Description: triggers explícitos incluídos [ ] Corpo SKILL.md: <500 linhas [ ] Sem secção "Quando Usar" no corpo [ ] References documentadas com contexto sobre quando ler [ ] PT-PT estrito (verificar acentuação e vocabulário) [ ] Sem emojis nos ficheiros [ ] Sem ficheiros auxiliares (README, CHANGELOG, etc.) [ ] Graus de liberdade calibrados ao risco [ ] Assinatura Descomplicar® no código (se aplicável) 8. Empacotar (se scripts disponíveis): python scripts/package_skill.py ``` ### Fase 4: Iteração ``` 9. Testar em uso real: - Activar a skill numa tarefa real - Notar onde o agente hesita ou erra - Identificar informação em falta ou excessiva 10. Actualizar baseado em feedback: - Se o agente pede informação -> adicionar a references/ - Se o agente ignora informação -> remover ou mover para references/ - Se a skill activa nos momentos errados -> refinar description ``` --- ## 4. Checklist de Entrega Final Antes de considerar uma skill completa, validar: ### Frontmatter - [ ] Apenas `name` e `description` (sem campos extra não documentados) - [ ] `description` inclui o domínio e tecnologias principais - [ ] `description` inclui triggers explícitos ("Usar quando...") - [ ] `description` lista casos de uso concretos numerados ### Corpo SKILL.md - [ ] Abaixo de 500 linhas (contar com `wc -l SKILL.md`) - [ ] Sem secção "Quando Usar" no corpo - [ ] References documentadas: nome do ficheiro + quando ler - [ ] Forma imperativa/infinitivo nas instruções - [ ] Sem emojis ### Língua e estilo - [ ] PT-PT estrito (verificar: utilizador, palavra-passe, eliminar, calendarizar) - [ ] Acentuação correcta (verificar: descrição, criação, configuração, autenticação) - [ ] Monetário sem casas decimais desnecessárias - [ ] Negrito para ênfase, não MAIÚSCULAS ### Estrutura de ficheiros - [ ] Apenas ficheiros que o agente precisa para o trabalho - [ ] Sem README.md, CHANGELOG.md, INSTALLATION_GUIDE.md - [ ] References com índice se >100 linhas - [ ] Scripts testados se incluídos ### Padrões Descomplicar - [ ] MCPs relevantes referenciados (se aplicável) - [ ] Assinatura Descomplicar® no código produzido (se aplicável) - [ ] Graus de liberdade calibrados ao risco da operação ### Validação técnica (Regra #49) - [ ] Código auditado: segurança, erros, boas práticas, performance - [ ] Score 10/10 antes de entregar