Install
openclaw skills install @yejay7/clawhub-skill-creator-guideCreate and publish ClawHub skills with the correct format. Includes YAML frontmatter template, _meta.json structure, and step-by-step publishing guide.
openclaw skills install @yejay7/clawhub-skill-creator-guideEste skill proporciona instrucciones completas para crear y publicar skills en ClawHub con el formato correcto desde el primer intento.
Usa este skill cuando el usuario quiera:
Un skill de ClawHub debe tener esta estructura mínima:
nombre-del-skill/
├── SKILL.md # Obligatorio - Documentación del skill
└── _meta.json # Obligatorio - Metadatos del skill
Archivos opcionales:
nombre-del-skill/
├── README.md # Documentación adicional
├── scripts/ # Scripts ejecutables
├── references/ # Referencias y ejemplos
└── assets/ # Recursos adicionales
El archivo SKILL.md DEBE comenzar con YAML frontmatter en este formato exacto:
---
name: nombre-del-skill
description: Descripción clara y concisa del skill (máx 160 caracteres)
---
Campos requeridos:
name: Nombre del skill (kebab-case, sin espacios, minúsculas)description: Descripción breve (aparece en ClawHub search)Ejemplo real:
---
name: lossless-claw-skill
description: Wrapper seguro para el plugin lossless-claw (LCM). Proporciona interfaz para lcm_grep, lcm_describe, lcm_expand_query.
---
Después del frontmatter, incluye:
# Nombre del Skill
Descripción extendida del propósito del skill.
---
## Descripción
Explicación detallada de qué hace el skill y por qué es útil.
## Cuándo Usar Este Skill
Lista de casos de uso específicos:
- Cuando el usuario necesita X
- Cuando ocurre Y
- Para resolver Z
## Cómo Usar
Instrucciones paso a paso o ejemplos de comandos.
## Ejemplos
```bash
npx clawhub install nombre-del-skill
Información extra, advertencias, o referencias.
---
## 📋 **Formato de _meta.json**
El archivo `_meta.json` debe tener esta estructura:
```json
{
"name": "nombre-del-skill",
"description": "Descripción clara y concisa del skill",
"version": "1.0.0",
"tags": ["categoria", "utilidad", "feature"]
}
Campos requeridos:
name: Mismo nombre que en el YAML frontmatterdescription: Misma descripción que en el YAML frontmatterversion: Versión semántica (recomendado: "1.0.0" para inicio)tags: Array de tags para búsqueda (mínimo 1, máximo 5)Ejemplo real:
{
"name": "lossless-claw-skill",
"description": "Wrapper seguro para el plugin lossless-claw (LCM). Proporciona interfaz para lcm_grep, lcm_describe, lcm_expand_query.",
"version": "1.0.0",
"tags": ["latest", "lcm", "memory", "context"]
}
# 1. Crear directorio
mkdir -p /ruta/a/skills/nombre-del-skill
# 2. Crear SKILL.md con YAML frontmatter correcto
# 3. Crear _meta.json con estructura válida
Antes de publicar, verifica:
SKILL.md tiene YAML frontmatter (--- al inicio y fin)name en YAML coincide con name en _meta.jsondescription en YAML coincide con description en _meta.json_meta.json es JSON válido (puedes validar en jsonlint.com)# Ejecutar comando de login
npx clawhub login
# Se abrirá una URL en el browser:
# https://clawhub.ai/cli/auth?redirect_uri=...
# Navegar a esa URL en el browser
# El proceso CLI esperará el callback automáticamente
Nota: Debes tener una cuenta de GitHub con más de 14 días de antigüedad.
npx clawhub publish /ruta/completa/al/skill \
--slug nombre-del-skill \
--name "Nombre Display del Skill" \
--version 1.0.0 \
--tags "tag1,tag2,tag3"
Ejemplo real:
npx clawhub publish /mnt/data/openclaw/workspace/.openclaw/workspace/skills/lossless-claw-skill \
--slug lossless-claw-skill \
--name "Lossless Claw Skill" \
--version 1.0.0 \
--tags "latest,lcm,memory,context"
Después de publicar, verás un mensaje como:
✔ OK. Published nombre-del-skill@1.0.0 (k97b6tvrydfc8ez4z02h8aamc9840cg2)
URL del skill:
https://clawhub.ai/{ID}/{slug}
Ejemplo: https://clawhub.ai/k97b6tvrydfc8ez4z02h8aamc9840cg2/lossless-claw-skill
Causa: La ruta no es absoluta o la carpeta no existe.
Solución:
# Usar ruta absoluta completa
npx clawhub publish /mnt/data/openclaw/workspace/.openclaw/workspace/skills/nombre-del-skill
Causa: La CLI no está autenticada.
Solución:
npx clawhub login
# Navegar a la URL que aparece en el output
Causa: Límite temporal de API de GitHub.
Solución: Esperar 30-60 segundos y reintentar.
Causa: La cuenta de GitHub fue creada recientemente.
Solución: Usar una cuenta de GitHub con más de 14 días de antigüedad.
Causa: Formato incorrecto de YAML frontmatter.
Solución: Verificar que el frontmatter sea exactamente:
---
name: nombre-del-skill
description: Descripción del skill
---
NO usar este formato incorrecto:
# ❌ INCORRECTO - Muy complejo
name: skill-name
description: ...
author: ...
version: ...
SKILL.md:
---
name: lossless-claw-skill
description: Wrapper seguro para el plugin lossless-claw (LCM).
---
# Lossless Claw Skill
Skill wrapper para el plugin lossless-claw de OpenClaw.
## Descripción
Proporciona una interfaz segura para las herramientas LCM.
## Cuándo Usar
- Cuando necesitas buscar en el historial de conversación
- Cuando necesitas expandir resúmenes compactados
- Para queries complejas de memoria
_meta.json:
{
"name": "lossless-claw-skill",
"description": "Wrapper seguro para el plugin lossless-claw (LCM).",
"version": "1.0.0",
"tags": ["latest", "lcm", "memory"]
}
SKILL.md:
---
name: weather-skill
description: Obtén el clima actual y pronósticos vía wttr.in o Open-Meteo.
---
# Weather Skill
Obtén información meteorológica para cualquier ubicación.
## Cuándo Usar
- Cuando el usuario pregunta sobre el clima
- Para pronósticos de 1-7 días
- Para temperaturas actuales
## Comandos
```bash
curl wttr.in/Ciudad
**_meta.json:**
```json
{
"name": "weather-skill",
"description": "Obtén el clima actual y pronósticos vía wttr.in o Open-Meteo.",
"version": "1.0.0",
"tags": ["weather", "forecast", "utility"]
}
Antes de publicar, verifica:
Estructura de archivos
SKILL.md existe_meta.json existeYAML Frontmatter
---namedescription---_meta.json
name (mismo que YAML)description (mismo que YAML)versiontags (array)CLI Autenticada
npx clawhub login ejecutadoCuenta GitHub
name y description son requeridosnombre-del-skill, no NombreDelSkill ni nombre_del_skillCreado con ❤️ para la comunidad OpenClaw