name: prompt-enhancement
description: Transforms vague or poorly structured prompts into structured prompts using XML and Markdown. Applies techniques: goals, workflow (Chain-of-Thought), output format, few-shot patterns, delimiters. Produces prompts with task, goals, role, requirements (business, technical, UI/UX), workflow, output, endpoints, tests, and critical constraints. Do not use for prompts that are already well-structured or for general documentation.
Prompt Enhancement
Transforma prompts vagos ou mal estruturados em prompts estruturados com XML e Markdown, seguindo boas práticas e trazendo mais contexto para o agente executor.
Procedimento
Step 1: Analisar o prompt de entrada
- Leia o prompt fornecido pelo usuário na íntegra.
- Identifique a tarefa principal, requisitos implícitos e explícitos, APIs mencionadas e restrições.
- Leia
references/prompt-schema.md para entender a estrutura de saída.
- Leia
references/before-after-example.md para ver o padrão de transformação.
- Se a tarefa for complexa ou ambígua, leia
references/few-shot-examples.md para exemplos por tipo.
Step 2: Extrair e categorizar
- Extraia a tarefa em uma linha concisa para
<task>.
- Defina
<goals>: uma frase que resume o objetivo principal (foco do modelo).
- Defina o
<role> com base no contexto (stack, domínio, tipo de tarefa). Inclua a referência à tarefa.
- Separe requisitos em:
- Business: o que o usuário precisa em termos de valor/funcionalidade.
- Technical: stack, arquitetura, fluxo de dados (frontend ↔ backend ↔ API externa).
- UI/UX: responsividade, loading, erros, feedback visual, acessibilidade.
- Se a tarefa tiver múltiplas etapas, extraia
<workflow> com passos numerados (Chain-of-Thought).
- Se o formato de saída for relevante, defina
<output> (código, JSON, tabela, estrutura).
- Se houver APIs ou endpoints, documente em
<endpoints> com URL, método, status codes e payload.
- Se houver endpoints, adicione
<tests> com validações (ex.: curl para testar).
- Em
<critical>, liste:
- Skills obrigatórias: skills do projeto relevantes (frontend-design, shadcn, ui-ux-pro-max, etc.).
- Fora do Escopo: o que NÃO deve ser implementado, usando NÃO ou NUNCA para ênfase.
Step 3: Montar o prompt estruturado
- Leia
assets/structured-prompt-template.md para o esqueleto.
- Preencha cada bloco com o conteúdo extraído e categorizado.
- Remova blocos vazios ou não aplicáveis (ex.:
<endpoints> se não houver APIs; <workflow> se tarefa simples).
- Entre blocos longos (mais de 5 linhas), insira
--- como delimitador visual.
- Garanta que requisitos vagos sejam tornados explícitos (ex.: "exiba os dados" → "cards com ícones, gráfico interativo, skeleton loading").
Step 4: Validar
- Leia
references/checklist.md e verifique cada item.
- Execute
python3 scripts/validate-structure.py passando o prompt gerado via stdin para confirmar blocos obrigatórios.
- Confirme que não há lacunas de interpretação (o agente executor não deve precisar adivinhar).
Error Handling
- Prompt já estruturado: Se o prompt de entrada já contiver blocos XML (
<task>, <role>, etc.), informe o usuário e ofereça refinamento em vez de reestruturação completa.
- Contexto insuficiente: Se o prompt for muito vago (ex.: "faça um app"), solicite ao usuário mais detalhes (stack, funcionalidades, APIs) antes de gerar o prompt estruturado.
- Skills desconhecidas: Se o projeto não tiver skills explícitas, use skills genéricas do domínio (frontend-design, shadcn, ui-ux-pro-max para UI; vercel-react-best-practices para React).
- Validação falhou: Se
scripts/validate-structure.py retornar erro, adicione os blocos faltantes ao prompt gerado.