--- title: "Caso de Uso: Skill Individual" description: Cuando solo necesitas un agente para una tarea enfocada — la vía rápida. --- # Ejecucion de Skill Individual La ejecucion de skill individual es la via rapida — un agente, un dominio, una tarea enfocada. Sin sobrecarga de orquestacion, sin coordinacion multiagente. La habilidad se activa automaticamente desde tu prompt en lenguaje natural. --- ## Cuando Usar Skill Individual Usa esto cuando tu tarea cumpla TODOS estos criterios: - **Pertenece a un dominio** — la tarea completa pertenece a frontend, backend, mobile, base de datos, diseno, infraestructura u otro dominio individual - **Autocontenida** — sin cambios de contrato API entre dominios, sin cambios de backend necesarios para una tarea de frontend - **Alcance claro** — sabes cual deberia ser el resultado (un componente, un endpoint, un esquema, una correccion) - **Sin coordinacion** — otros agentes no necesitan ejecutarse antes ni despues **Ejemplos de tareas de skill individual:** - Construir un componente de UI - Agregar un endpoint de API - Corregir un bug en una capa - Disenar una tabla de base de datos - Escribir un modulo de Terraform - Traducir un conjunto de cadenas i18n - Crear una seccion del sistema de diseno **Cambiar a multiagente** (`/work` u `/orchestrate`) cuando: - El trabajo de UI necesita un nuevo contrato API (frontend + backend) - Una correccion se propaga entre capas (agentes de debug + implementacion) - La funcionalidad abarca frontend, backend y base de datos - El alcance crece mas alla de un dominio despues de la primera iteracion --- ## Lista de Verificacion Previa Antes de escribir el prompt, responde estas cuatro preguntas (se mapean a los cuatro elementos de la [Estructura de Prompt](/docs/core-concepts/skills)): | Elemento | Pregunta | Por Que Importa | |----------|----------|-----------------| | **Objetivo** | Que artefacto especifico debe crearse o modificarse? | Previene ambiguedad — "agregar un boton" vs "agregar un formulario con validacion" | | **Contexto** | Que stack, framework y convenciones aplican? | El agente detecta desde archivos del proyecto, pero ser explicito es mejor | | **Restricciones** | Que reglas deben seguirse? (estilo, seguridad, rendimiento, compatibilidad) | Sin restricciones, los agentes usan valores por defecto que pueden no coincidir con tu proyecto | | **Completado Cuando** | Que criterios de aceptacion verificaras? | Da al agente un objetivo y a ti una lista de verificacion | Si falta algun elemento en tu prompt, el agente: - **Incertidumbre LOW:** Aplica valores por defecto y lista suposiciones - **Incertidumbre MEDIUM:** Presenta 2-3 opciones y procede con la mas probable - **Incertidumbre HIGH:** Se bloquea y hace preguntas (no escribira codigo) --- ## Plantilla de Prompt ```text Build using . Constraints: . Acceptance criteria: 1) 2) 3) Add tests for: . ``` ### Desglose de la Plantilla | Parte | Proposito | Ejemplo | |-------|-----------|---------| | `Build ` | El Objetivo — que crear | "Build a user registration form component" | | `using ` | El Contexto — stack tecnologico | "using React + TypeScript + Tailwind CSS" | | `Constraints:` | Reglas que el agente debe seguir | "accessible labels, no external form libraries, client-side validation only" | | `Acceptance criteria:` | Completado Cuando — resultados verificables | "1) email format validation 2) password strength indicator 3) submit disabled while invalid" | | `Add tests for:` | Requisitos de pruebas | "valid/invalid submit paths, edge cases for email validation" | --- ## Ejemplos Reales ### Frontend: Formulario 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. ``` **Flujo de ejecucion esperado:** 1. **Skill activation:** `oma-frontend` activates (keywords: "form", "component", "Tailwind CSS", "React") 2. **Difficulty assessment:** Medium (2-3 files, some design decisions around validation UX) 3. **Resources loaded:** - `execution-protocol.md` (always) - `snippets.md` (form + Zod patterns) - `component-template.tsx` (React structure) 4. **CHARTER_CHECK output:** ``` 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. **Implementation:** - Creates `src/features/auth/components/login-form.tsx` (Client Component with `"use client"`) - Creates `src/features/auth/utils/login-schema.ts` (Zod schema) - Creates `src/features/auth/components/skeleton/login-form-skeleton.tsx` - Uses shadcn/ui `