CÓMO CREAR UN AGENT SKILL DE IA
Los Agent Skills se han convertido en una de las formas más potentes de potenciar a los agentes de inteligencia artificial. En lugar de repetir las mismas instrucciones una y otra vez, creas un archivo reutilizable que enseña al agente exactamente cómo debe realizar una tarea específica.En este artículo se crea un Agent Skill, paso a paso, cómo crearlo con un ejemplo completo y listo para usar centrado en PHP y MySQL.
¿Qué es un Agent Skill?
Un Agent Skill es un paquete de instrucciones, normalmente un archivo llamado "SKILL.md" que el agente de IA carga automáticamente cuando detecta que es relevante para la tarea. El fichero contiene:- Metadatos: nombre y descripción.
- Instrucciones claras y estructuradas.
- Reglas, mejores prácticas y ejemplos.
- Opcionalmente scripts o archivos de referencia.
Cómo crear un Agent Skill paso a paso
- Crear una carpeta con el nombre del skill, en minúsculas y con guiones. Ejemplo: "php-mysql-optimizado".
- Dentro de esa carpeta crear el archivo "SKILL.md".
- Escribir el frontmatter YAML, la parte superior entre "---".
- Escribir las instrucciones en Markdown de forma clara, numerada y específica.
- Guardar el skill donde el agente lo pueda encontrar, Claude, Cursor, Kimi, etc.
Ejemplo completo: Skill para PHP y MySQL
Este skill enseña al agente a escribir código PHP moderno, seguro y optimizado cuando trabaja con MySQL.---
name: php-mysql-optimizado
description: Genera o mejora código PHP que interactúa con MySQL de forma segura, eficiente y siguiendo buenas prácticas modernas (PDO, prepared statements, índices, etc.)
---
# Instrucciones para código PHP + MySQL
Siempre que el usuario pida código relacionado con PHP y MySQL, o cuando detectes consultas a bases de datos, sigue estrictamente estas reglas:
## 1. Conexión a la base de datos
- Usa **siempre PDO** (nunca mysqli ni mysql_*)
- Usa variables de entorno o un archivo de configuración para las credenciales
- Activa el modo de errores con excepciones
- Usa charset utf8mb4
Ejemplo de conexión correcta:
PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
$pdo = new PDO($dsn, $_ENV['DB_USER'], $_ENV['DB_PASS'], $options);
## 2. Consultas
- Usa **siempre prepared statements** (nunca concatenes variables en la query)
- Prefiere `fetch()` o `fetchAll()` según el caso
- Usa transacciones (`beginTransaction`, `commit`, `rollBack`) cuando haya varias operaciones relacionadas
## 3. Seguridad
- Nunca confíes en datos del usuario
- Valida y sanitiza entradas
- Usa `password_hash()` y `password_verify()` para contraseñas
- Evita mostrar errores de base de datos al usuario final
## 4. Rendimiento
- Sugiere índices cuando detectes consultas lentas (WHERE, JOIN, ORDER BY)
- Evita `SELECT *` → selecciona solo las columnas necesarias
- Usa `LIMIT` cuando sea apropiado
- Prefiere `EXISTS` en lugar de `COUNT(*)` cuando solo necesites saber si existe un registro
## 5. Estilo de código
- Usa tipado estricto (`declare(strict_types=1);`)
- Nombres de variables y métodos en camelCase
- Comentarios claros solo cuando aporten valor
- Código limpio y legible
## 6. Respuesta al usuario
Cuando generes o corrijas código:
1. Muestra primero el código completo y funcional
2. Explica brevemente las decisiones importantes
3. Si detectas posibles mejoras de rendimiento o seguridad, menciónalas