--- name: prompt-refine description: Transforma um pedido vago em prompt de excelência — especificação detalhada, inequívoca e estruturada para agentes de IA. Usar quando "refinar prompt", "melhorar prompt", "engenharia de prompts", "prompt para agente", "estruturar instrução IA", "prompt engineering". allowed-tools: Read, Write, mcp__memory-supabase__search_memories --- # /prompt-refine — Engenharia de Prompts Transforma um pedido em linguagem natural num **prompt de excelência** pronto para ser executado por outro agente de IA. ## Quando Usar - Pedido do utilizador é vago ou incompleto - Preparar instrução para um agente especializado - Criar template reutilizável para uma tarefa recorrente - Garantir qualidade máxima de input antes de executar ## Protocolo ### 1. Pesquisar contexto relevante ``` mcp__memory-supabase__search_memories "" ``` Verificar se há padrões ou decisões anteriores relacionadas. ### 2. Analisar o pedido original Identificar: - **O quê** — resultado final esperado - **Para quê** — objectivo ou problema a resolver - **Quem** — agente ou utilizador que vai executar - **Restrições** — limitações técnicas, de formato ou de negócio - **Lacunas** — o que está implícito mas não dito Se faltar informação crítica → perguntar antes de estruturar. ### 3. Estruturar o prompt de excelência Usar este template como base: ```markdown ## Função [Quem é / que papel assume o agente executante] ## Objectivo [O que deve ser produzido — resultado concreto e mensurável] ## Contexto [Informação de fundo necessária para compreender o pedido] ## Requisitos - [Requisito 1 — obrigatório] - [Requisito 2 — obrigatório] - [Restrição ou critério de qualidade] ## Input [Descrição do que o agente recebe como entrada] ## Output esperado [Formato, estrutura e conteúdo exacto do resultado] ## Exemplos ### Exemplo positivo (fazer) [Exemplo concreto do resultado desejado] ### Exemplo negativo (não fazer) [Exemplo do que deve ser evitado] ## Critérios de sucesso - [ ] Critério 1 - [ ] Critério 2 ``` ### 4. Rever antes de entregar Verificar checklist: - [ ] Sem ambiguidades — cada instrução tem um único significado possível - [ ] Completo — nenhuma informação crítica em falta - [ ] Accionável — o agente pode executar sem fazer suposições - [ ] Testável — é possível verificar se o output é correcto - [ ] Conciso — sem redundâncias ou instruções contraditórias ### 5. Entregar com explicação Apresentar: 1. **Prompt refinado** (em bloco de código copiável) 2. **Decisões tomadas** — o que foi inferido vs. o que estava explícito 3. **Questões em aberto** — se houver ambiguidades que o utilizador deve resolver ## Exemplos de Transformação ### Input vago > "Cria um agente que analisa clientes" ### Output refinado ```markdown ## Função Analista de CRM especializado em classificação de clientes ## Objectivo Gerar um relatório de segmentação de clientes com base em histórico de compras e interacções, identificando os segmentos de alto, médio e baixo valor. ## Contexto Base de dados Desk CRM com clientes activos nos últimos 12 meses. Acesso via mcp__desk-crm-v3__get_customers e mcp__desk-crm-v3__get_payments. ## Requisitos - Segmentar em 3 níveis: Alto Valor (>5000EUR/ano), Médio (1000-5000EUR), Baixo (<1000EUR) - Incluir número de projectos activos por cliente - Formato: tabela Markdown ordenada por valor decrescente ## Input Lista de IDs de clientes ou "todos" para analisar base completa ## Output esperado Tabela com: ID, Nome, Segmento, Volume Anual (EUR), Projectos Activos, Última Interacção ``` ## Padrões de Qualidade | Característica | Mau prompt | Bom prompt | |---|---|---| | Especificidade | "Analisa dados" | "Calcula receita mensal por cliente em EUR para Q1 2026" | | Formato output | "Devolve resultados" | "Tabela Markdown com colunas: ID, Nome, Valor, Delta%" | | Critério sucesso | "Deve ser bom" | "Score de satisfação >85% em teste com 3 utilizadores reais" | | Contexto | Nenhum | "Sistema usa Desk CRM v3, moeda EUR, fuso Europe/Lisbon" | --- **Versão**: 1.0.0 | **Autor**: Descomplicar® | **Plugin**: dev-tools --- ## Healing Log Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar. ```jsonl {"date":"","issue":"","fix":"","source":"user|auto"} ``` *Adicionar nova linha após cada erro corrigido.*