Crea Tu Primera Habilidad
Potencia tu agente con nuevas capacidades. Construiremos un 'Generador de Citas Aleatorias' para demostrar la estructura de habilidades.
Lo Que Construiremos
Crearemos una Habilidad de Cita Aleatoria que:
- Proporciona citas inspiradoras cuando se solicita
- Demuestra la estructura básica de habilidades
- Muestra cómo usar herramientas integradas
- Puede extenderse fácilmente después
Este es un ejemplo simple, pero cubre todos los fundamentos que necesitas para construir habilidades más complejas.
Prerrequisitos
Antes de comenzar, asegúrate de tener:
- OpenClaw instalado y ejecutándose - Completa primero el Tutorial de Primeros Pasos
- Un canal conectado - Sigue el Tutorial de Configuración de Canales
- Editor de texto básico - Cualquier editor funciona (nano, VS Code, etc.)
- Acceso a tu espacio de trabajo - La ubicación predeterminada es
~/.openclaw
Planifica Tu Habilidad
Antes de escribir código, planifiquemos qué hará nuestra habilidad:
Propósito de la Habilidad
La Habilidad de Cita Aleatoria:
- Responderá cuando los usuarios pidan citas, inspiración o motivación
- Proporcionará una cita aleatoria de una lista predefinida
- Será lo suficientemente simple para entender, pero extensible
¿Qué Herramientas Necesitamos?
Para esta habilidad, usaremos las capacidades integradas de OpenClaw. No necesitamos APIs externas - almacenaremos las citas en el archivo de habilidad mismo. Esto lo mantiene simple para aprender.
Tutorial.alert.tip
Crear Directorio de Habilidad
Las habilidades se almacenan en tu espacio de trabajo. Creemos la estructura de directorios:
mkdir -p ~/.openclaw/skills/random-quote
Estructura de directorios: Las habilidades se organizan como ~/.openclaw/skills/<nombre-habilidad>/. El nombre de la habilidad debe estar en minúsculas con guiones (kebab-case).
Tutorial.alert.success
~/.openclaw, pero puedes verificarlo o cambiarlo en tu configuración. Ver la Referencia de Configuración para detalles.Crear el Archivo de Habilidad
Cada habilidad necesita un archivo SKILL.md. Este es un archivo Markdown que define tu habilidad.
Paso 3.1: Crear SKILL.md
Crea el archivo de habilidad en tu directorio de habilidades:
touch ~/.openclaw/skills/random-quote/SKILL.md # or open in your editor: code ~/.openclaw/skills/random-quote/SKILL.md
Paso 3.2: Escribir el Contenido de la Habilidad
Abre SKILL.md y agrega el siguiente contenido:
# Random Quote Skill ## Description Provides inspirational and motivational quotes when users ask for quotes, inspiration, or motivation. This skill demonstrates basic skill structure and can be extended with more quotes or API integration. ## Tools This skill uses OpenClaw's built-in capabilities to select and return quotes. No external tools required. ## Instructions When the user asks for: - A quote - Inspiration - Motivation - A random quote - Something uplifting Respond with a random quote from the following list, formatted nicely: 1. "The only way to do great work is to love what you do." - Steve Jobs 2. "Innovation distinguishes between a leader and a follower." - Steve Jobs 3. "Life is what happens to you while you're busy making other plans." - John Lennon 4. "The future belongs to those who believe in the beauty of their dreams." - Eleanor Roosevelt 5. "It is during our darkest moments that we must focus to see the light." - Aristotle 6. "The only impossible journey is the one you never begin." - Tony Robbins 7. "In the middle of difficulty lies opportunity." - Albert Einstein 8. "Success is not final, failure is not fatal: it is the courage to continue that counts." - Winston Churchill Vary your responses and make them feel natural. You can add context or commentary to the quote if appropriate. ## Examples - User: "Give me a quote" Response: "Here's an inspiring quote for you: 'The only way to do great work is to love what you do.' - Steve Jobs" - User: "I need some motivation" Response: "Here's something to inspire you: 'The future belongs to those who believe in the beauty of their dreams.' - Eleanor Roosevelt" - User: "Random quote please" Response: "Here's a quote: 'In the middle of difficulty lies opportunity.' - Albert Einstein"
Guarda el archivo después de agregar este contenido.
Entendiendo la Estructura de la Habilidad
Desglosemos lo que hace cada sección:
- Descripción - Lo que hace tu habilidad (usado por OpenClaw para entender cuándo usarla)
- Herramientas - Qué capacidades usa tu habilidad (pueden ser integradas o APIs externas)
- Instrucciones - Cómo debe OpenClaw usar esta habilidad (disparadores, comportamiento, ejemplos)
- Ejemplos - Ejemplos concretos de cómo debería funcionar la habilidad
Habilitar Tu Habilidad
Ahora necesitamos decirle a OpenClaw sobre tu nueva habilidad. Hay dos formas de hacer esto:
Método A: Preguntar a OpenClaw (Más Fácil)
Simplemente pide a OpenClaw que habilite tu habilidad a través de tu canal conectado:
- "Habilita la habilidad random-quote"
- "Usa la habilidad random-quote"
- "Activa random-quote"
¡OpenClaw detectará y habilitará automáticamente la habilidad!
Método B: Configuración Manual
Alternativamente, agrégala a tu archivo de configuración:
{
"agent": {
"model": "anthropic/claude-opus-4-5"
},
"skills": {
"enabled": ["random-quote"]
}
}Después de agregar a la configuración, reinicia tu Gateway para que los cambios surtan efecto.
Probar Tu Habilidad
¡Ahora probemos que tu habilidad funciona!
Paso 5.1: Enviar Mensajes de Prueba
A través de tu canal conectado (Telegram, WhatsApp, etc.), intenta preguntar:
- "Dame una cita"
- "Necesito inspiración"
- "Cita aleatoria por favor"
- "Motívame"
Paso 5.2: Verificar Respuesta
OpenClaw debería responder con una cita de tu habilidad. Si lo hace, felicidades - ¡tu habilidad está funcionando! 🎉
Tutorial.alert.success
- OpenClaw responde con citas de tu lista
- Las citas varían entre solicitudes
- Las respuestas se sienten naturales y contextuales
Mejorar Tu Habilidad (Opcional)
Ahora que tu habilidad básica funciona, aquí hay formas de mejorarla:
- 1Agregar Más CitasExpande tu lista de citas en la sección de Instrucciones. Agrega citas de tus autores, oradores o fuentes favoritas.
- 2Agregar CategoríasPodrías extender la habilidad para soportar categorías (ej., "Dame una cita motivacional", "Cita sobre el éxito"). Actualiza la sección de Instrucciones para manejar estas variaciones.
- 3Integrar API ExternaPara una versión más avanzada, podrías usar una API de citas, agregar una herramienta que obtenga citas de la web, o almacenar citas en una base de datos.
Solución de Problemas
La Habilidad No Funciona
Si OpenClaw no usa tu habilidad:
- Verifica la ubicación del archivo: Asegúrate que
SKILL.mdesté en~/.openclaw/skills/random-quote/SKILL.md - Verifica que la habilidad esté habilitada: Revisa tu configuración o pide a OpenClaw que liste las habilidades habilitadas
- Verifica el formato del archivo: Asegúrate que sea Markdown válido y la estructura sea correcta
- Reinicia el Gateway: A veces se necesita un reinicio para cargar nuevas habilidades
La Habilidad No Se Activa
Si la habilidad no se activa cuando pides citas:
- Revisa tu sección de Instrucciones - ¿los disparadores son claros?
- Intenta solicitudes más explícitas como "usa la habilidad random-quote"
- Verifica que la Descripción menciona citas/inspiración
Respuestas Incorrectas
Si OpenClaw responde pero no con citas:
- Haz tus Instrucciones más específicas
- Agrega más ejemplos para clarificar el comportamiento esperado
- Asegúrate que la descripción de la habilidad establezca claramente su propósito
Siguientes Pasos
¡Felicidades por crear tu primera habilidad! Aquí está lo que puedes explorar a continuación:
Patrones de Habilidades Avanzadas
Una vez que estés cómodo con habilidades básicas, explora estos patrones avanzados:
- Integración API - Conéctate a servicios y APIs externos
- Operaciones de Archivos - Lee y escribe archivos en el sistema
- Acceso a Base de Datos - Almacena y recupera datos
- Herramientas Complejas - Crea herramientas personalizadas con múltiples parámetros
- Lógica Condicional - Habilidades que se adaptan según el contexto
Navega el registro de habilidades de OpenClaw Hub para ver ejemplos de habilidades avanzadas creadas por la comunidad.