2f83d0b746
Mueve templates a las carpetas de skills que los usan: - templates/issue.md → skills/create-issue/issue.md - templates/skill.md → skills/create-skill/skill.md Actualiza install.sh: solo enlaza skills y agents. Estructura final de .claude/: - CLAUDE.md - settings.local.json - agents/ - skills/
3.2 KiB
3.2 KiB
name, description, argument-hint, disable-model-invocation, user-invocable, allowed-tools
| name | description | argument-hint | disable-model-invocation | user-invocable | allowed-tools | |
|---|---|---|---|---|---|---|
| create-skill | Crea un nuevo skill en .claude/skills/ siguiendo la estructura oficial de Claude Code |
|
true | true | Bash, Read, Write, Edit |
create-skill
Crea un nuevo skill en .claude/skills/ con archivo SKILL.md obligatorio.
Sintaxis
/create-skill [nombre]
/create-skill code-review
/create-skill deploy
Precondiciones
- Carpeta
.claude/skills/existe - No existe skill con el mismo nombre
- Nombre cumple convenciones (minúsculas, guiones)
Flujo
1. Validar nombre
- Solo minúsculas, números y guiones
- No nombres reservados (help, clear, exit)
- Máximo 64 caracteres
ls -d .claude/skills/*/ 2>/dev/null | xargs -n1 basename | grep -E "^${nombre}$"
Si existe, STOP.
2. Solicitar inputs
nombre: minúsculas y guionesdescripcion: qué hace y cuándo usarlo (1-2 frases)tipo_invocacion:ambos(default): usuario y Claude pueden invocarsolo_usuario: solo/nombre(disable-model-invocation: true)solo_claude: solo Claude (user-invocable: false)
argument_hint(opcional): ej:[archivo] [formato]allowed_tools(opcional): herramientas sin confirmacióninstrucciones: contenido del skill
3. Crear carpeta
mkdir -p .claude/skills/${nombre}
4. Determinar frontmatter
| Tipo | disable-model-invocation | user-invocable |
|---|---|---|
| ambos | (omitir) | (omitir) |
| solo_usuario | true | (omitir) |
| solo_claude | (omitir) | false |
5. Generar SKILL.md
Usar template en ${CLAUDE_SKILL_DIR}/skill.md como referencia:
---
name: ${nombre}
description: ${descripcion}
argument-hint: ${argument_hint}
disable-model-invocation: true # solo si tipo = solo_usuario
allowed-tools: ${allowed_tools}
---
# ${nombre}
${instrucciones}
6. Mostrar y confirmar
Skill creado: ${nombre}
Ubicación: .claude/skills/${nombre}/SKILL.md
¿Te parece bien?
- Si correcto: commit y push automáticamente
- Si ajustes: edita manualmente antes
7. Ejecutar /git-push
Si confirma, crear rama quick/create-skill-${nombre} e integrar.
8. Verificar disponibilidad
Skill /${nombre} creado e integrado
Para usar:
/${nombre} [argumentos]
Tipo: ${tipo_invocacion}
Campos del frontmatter
| Campo | Descripción |
|---|---|
| name | Nombre del skill |
| description | Qué hace y cuándo usarlo |
| argument-hint | Pista de argumentos |
| disable-model-invocation | true = solo usuario invoca |
| user-invocable | false = solo Claude invoca |
| allowed-tools | Tools sin pedir permiso |
| context | fork = ejecutar en subagente |
| agent | Tipo subagente: Explore, Plan |
Variables dinámicas
| Variable | Descripción |
|---|---|
| $ARGUMENTS | Todos los argumentos |
| $0, $1, $2 | Argumentos posicionales |
| ${CLAUDE_SKILL_DIR} | Ruta del skill |
Convenciones
- Nombres descriptivos con guiones
- Descripciones claras para invocación automática
- Un skill por tarea
Reglas
- Validar nombre antes de crear
- SKILL.md es obligatorio
- Confirmación antes de integrar