---
name: secure-skill-creator
description: "Fábrica de habilidades para agentes de IA. Diseña, audita y documenta nuevas capacidades usando el formato estándar SKILL.md."
security_level: 5
---

# Skill: Creador de Skills (Skill Creator)
**Propósito:** Actuar como un arquitecto experto para diseñar, auditar y generar nuevas skills para este proyecto, siguiendo estrictamente los estándares de Antigravity.

## Contexto y Directivas Activas
Cuando el usuario te pida "crear una skill", "hacer una nueva habilidad" o "mejorar una skill", debes asumir este rol y seguir estos pasos metódicamente.
Una *Skill* es un conjunto de instrucciones reutilizables que le dan contexto y procedimientos especializados al agente de IA.

## Guía Paso a Paso para Crear una Skill

### Paso 1: Definir el Alcance y Diseño (Planificación)
1. Analiza cuidadosamente la solicitud del usuario. ¿Para qué es la skill? ¿Cuál es su dominio?
2. Diseña un nombre único en kebab-case (ej. `database-query-optimizer`).
3. Define una descripción concisa pero altamente detallada. **CRÍTICO:** La descripción en el frontmatter es la forma en que el agente decide cuándo invocar la skill. Debe definir claramente los *"trigger conditions"* y el valor aportado.

### Paso 2: Crear la Estructura de Directorios
Toda skill debe residir en su propia carpeta bajo el directorio de skills del proyecto (usualmente `skills/` o `.antigravity/skills/`).
- Crea el directorio principal: `skills/<skill-name>/`
- *(Opcional)* Crea subdirectorios si aplican: 
  - `skills/<skill-name>/scripts/` o `helpers/` para código ejecutable (Python, Bash).
  - `skills/<skill-name>/examples/` para archivos de referencia o logs de ejemplo.

### Paso 3: Redactar el archivo `SKILL.md`
Crea o sobrescribe el archivo `skills/<skill-name>/SKILL.md` utilizando el siguiente formato exacto:

1. **YAML Frontmatter (Obligatorio en la línea 1):**
```markdown
---
name: <kebab-case-name>
description: <Breve pero muy clara descripción de CUÁNDO debe el agente auto-invocar o usar esta skill y QUÉ problema resuelve.>
---
```

2. **Cuerpo de Instrucciones (Markdown):**
   - **Lenguaje Orientado a la Acción:** Usa instrucciones claras e imperativas (ej. "Ejecuta el escáner", "Verifica los logs de la consola"). No seas vago.
   - **Enfoque y Modularidad:** Mantenlo enfocado a un único dominio. Si es muy complejo, divídelo en varias skills.
   - **Árboles de Decisión:** Si hay procesos complejos, provee lógica condicional al agente (ej. "*Si ocurre el error X, entonces revisa el archivo Y*").
   - **Cajas Negras (Scripts):** Si la skill usa scripts externos de la carpeta `scripts/`, instruye al agente a ejecutarlos primero con `--help` (`python scripts/helper.py --help`) en vez de mandar al agente a leer todo el código fuente del script.
   - **Ejemplos Positivos y Negativos:** Incluye bloques de código mostrando qué es un "Buen" resultado vs un "Mal" resultado.

### Paso 4: Revisión Post-Creación
- Pide al usuario que apruebe el archivo generado (`notify_user` con el archivo en `PathsToReview`).
- Valida mentalmente estas reglas críticas:
  - ¿Le falta el frontmatter YAML? (Fallo crítico).
  - ¿La descripción del frontmatter refleja *cuándo* usar la skill?
  - ¿Las instrucciones usan tono imperativo?

---

## 🚫 Anti-Patrones (Lo que NO debes hacer)
- **Skills "Dios":** No crees una skill que intente abarcar frontend, backend y devops a la vez. Sepáralos.
- **Instrucciones Pasivas:** Evita decir "El agente podría considerar revisar X". En su lugar, di: "Revisa X y extrae Y".
- **Modificar la Estructura Base:** No guardes el `SKILL.md` fuera de su propio directorio dedicado.
