--- title: "Guia: Execução com Skill Única" description: "Guia detalhado para tarefas de domínio único no oh-my-agent — quando usar, checklist de preflight, template de prompt com explicação, exemplos reais para tarefas de frontend, backend, mobile e banco de dados, fluxo de execução esperado, checklist do portão de qualidade e sinais de escalação." --- # Execução com Skill Única A execução com skill única é o caminho rápido — um agente, um domínio, uma tarefa focada. Sem overhead de orquestração, sem coordenação multi-agente. A skill ativa automaticamente a partir do seu prompt em linguagem natural. --- ## Quando Usar Skill Única Use quando sua tarefa atende a TODOS estes critérios: - **Pertence a um domínio** — toda a tarefa pertence a frontend, backend, mobile, banco de dados, design, infraestrutura ou outro domínio único - **Autocontida** — sem mudanças de contrato de API entre domínios, sem mudanças de backend necessárias para uma tarefa de frontend - **Escopo claro** — você sabe qual deve ser a saída (um componente, um endpoint, um schema, uma correção) - **Sem coordenação** — outros agentes não precisam executar antes ou depois **Exemplos de tarefas de skill única:** - Construir um componente de UI - Adicionar um endpoint de API - Corrigir um bug em uma camada - Projetar uma tabela de banco de dados - Escrever um módulo Terraform - Traduzir um conjunto de strings i18n - Criar uma seção do design system **Mude para multi-agente** (`/work` ou `/orchestrate`) quando: - Trabalho de UI precisa de um novo contrato de API (frontend + backend) - Uma correção se propaga entre camadas (debug + agentes de implementação) - A funcionalidade abrange frontend, backend e banco de dados - O escopo cresce além de um domínio após a primeira iteração --- ## Checklist de Preflight Antes de fazer o prompt, responda estas quatro perguntas (elas mapeiam para os quatro elementos da [Estrutura de Prompt](/docs/core-concepts/skills)): | Elemento | Pergunta | Por Que Importa | |----------|----------|-----------------| | **Goal** | Que artefato específico deve ser criado ou alterado? | Previne ambiguidade — "adicionar um botão" vs "adicionar um formulário com validação" | | **Context** | Qual stack, framework e convenções se aplicam? | O agente detecta dos arquivos do projeto, mas explícito é melhor | | **Constraints** | Quais regras devem ser seguidas? (estilo, segurança, performance, compatibilidade) | Sem restrições, agentes usam padrões que podem não corresponder ao seu projeto | | **Done When** | Quais critérios de aceitação você verificará? | Dá ao agente um alvo e a você um checklist de verificação | Se qualquer elemento estiver faltando no seu prompt, o agente irá: - **LOW uncertainty:** Aplicar padrões e listar suposições - **MEDIUM uncertainty:** Apresentar 2-3 opções e prosseguir com a mais provável - **HIGH uncertainty:** Bloquear e fazer perguntas (não escreverá código) --- ## Template de Prompt ```text Build using . Constraints: . Acceptance criteria: 1) 2) 3) Add tests for: . ``` ### Detalhamento do Template | Parte | Propósito | Exemplo | |-------|---------|---------| | `Build ` | O Goal — o que criar | "Build a user registration form component" | | `using ` | O Context — stack tecnológico | "using React + TypeScript + Tailwind CSS" | | `Constraints:` | Regras que o agente deve seguir | "accessible labels, no external form libraries, client-side validation only" | | `Acceptance criteria:` | Done When — resultados verificáveis | "1) email format validation 2) password strength indicator 3) submit disabled while invalid" | | `Add tests for:` | Requisitos de teste | "valid/invalid submit paths, edge cases for email validation" | --- ## Exemplos Reais ### Frontend: Formulário de Login ```text Create a login form component in React + TypeScript + Tailwind CSS. Constraints: accessible labels, client-side validation with Zod, no external form library beyond @tanstack/react-form, shadcn/ui Button and Input components. Acceptance criteria: 1) Email validation with meaningful error messages 2) Password minimum 8 characters with feedback 3) Disabled submit button while form is invalid 4) Keyboard and screen-reader friendly (ARIA labels, focus management) 5) Loading state while submitting Add unit tests for: valid submission path, invalid email, short password, loading state. ``` **Fluxo de execução esperado:** 1. **Ativação da skill:** `oma-frontend` ativa (palavras-chave: "form", "component", "Tailwind CSS", "React") 2. **Avaliação de dificuldade:** Média (2-3 arquivos, algumas decisões de design sobre UX de validação) 3. **Recursos carregados:** - `execution-protocol.md` (sempre) - `snippets.md` (padrões de form + Zod) - `component-template.tsx` (estrutura React) 4. **Saída CHARTER_CHECK:** ``` CHARTER_CHECK: - Clarification level: LOW - Task domain: frontend - Must NOT do: backend API, database, mobile screens - Success criteria: form validation, accessibility, loading state, tests - Assumptions: Next.js App Router, @tanstack/react-form + Zod, shadcn/ui, FSD-lite architecture ``` 5. **Implementação:** - Cria `src/features/auth/components/login-form.tsx` (Client Component com `"use client"`) - Cria `src/features/auth/utils/login-schema.ts` (schema Zod) - Cria `src/features/auth/components/skeleton/login-form-skeleton.tsx` - Usa shadcn/ui `