Skills de Claude Code: conservar capacidades sin sobrecargar el contexto
Guía práctica para auditar skills de Claude Code, separar reglas persistentes de recursos bajo demanda y verificar que se descubran correctamente.
Índice
Los scripts, reglas y plantillas se acumulan rápido. Convertir cada ayuda en una instrucción permanente consume contexto antes de la primera tarea. Audite los skills y separe reglas persistentes de flujos bajo demanda.
Qué entra en el contexto
Con on, Claude Code recibe nombre y description; name-only conserva solo el nombre. user-invocable-only y disable-model-invocation: true ocultan la descripción al modelo, y off oculta el skill. El cuerpo de SKILL.md se carga al invocarlo y queda en esa sesión; las referencias se leen cuando hacen falta y los scripts se ejecutan como herramientas. Consulte la documentación oficial.
Distinga el anuncio del listado, el cuerpo cargado y los recursos bajo demanda. No ponga manuales extensos en description o CLAUDE.md. El Dashboard de BetterToken permite contrastar pruebas API por modelo, hora, estado, input, output y cache tokens, pero no mide el contexto local ni sustituye /context; revise los BetterToken Docs.
Inventario y /skill-doctor
Ejecute /skill-doctor localmente cuando la lista sea difícil de evaluar. Las Stats de /plugin muestran coste de contexto y frecuencia de invocación, incluidos skills cargados sin uso, pero excluyen los integrados y empresariales; vea la documentación del informe. Compare la lista con tareas reales: no tener llamadas no significa que un skill sea inútil; una recuperación puede hacer falta solo cada varios meses. Para un skill personal o de proyecto poco frecuente, seleccione user-invocable-only en /skills (aparece como user-only). Elija off solo si ya no lo necesita en ese entorno. Gestione los skills de plugins mediante /plugin. Abra una sesión nueva y compare /context, una tarea normal y una llamada explícita al skill conservado. Las notas de v2.1.261 mencionan el comando; la documentación actual indica v2.1.252 como mínimo. Revise claude --version y feature flags. Remote Control no ofrece el informe: ejecútelo en el terminal de la máquina que aloja la sesión. Si el comando no está disponible, continúe con el inventario manual.
Compare .claude/skills/ y ~/.claude/skills/ con /skills en cada entorno. Un skill anidado puede aparecer tras leer o cambiar su directorio; los plugins usan namespace y no skillOverrides; los sincronizados pueden diferir entre local, Cowork y cloud. Mantenga reglas frecuentes breves en CLAUDE.md, procedimientos en skills con description concreta y los raros de seguridad, recuperación o release disponibles mediante llamada explícita.
Usar el mecanismo adecuado
| Necesidad | Lugar |
|---|---|
| Recordatorio recurrente | Regla breve en CLAUDE.md |
| Regeneración documental | Skill dedicado |
| Rechazo antes de escribir | Hook PreToolUse |
| Revisión independiente | Subagent con permisos mínimos |
| Lectura externa permitida | MCP |
Las instrucciones no bloquean escrituras: pruebe evento, matcher y rechazo real. Una regla Write no bloquea Bash y un subagent separado no es read-only automáticamente. Consulte mecanismos, Hooks, reglas CLAUDE.md, Stop Hook y MCP o comando.
Stop Hook comprueba la finalización del trabajo; no sustituye a PreToolUse antes de una escritura. Mantenga una regla breve y un enlace al skill en CLAUDE.md, sin copiar el procedimiento completo en todos los mecanismos.
Frontmatter y scripts
---
name: db-migrator
description: >-
Úselo para validar y aplicar migraciones Prisma tras un cambio de esquema.
---
Guarde la lógica repetible en scripts/:
<!-- Dentro de SKILL.md -->
```bash
python3 "${CLAUDE_SKILL_DIR}/scripts/validate_schema.py" --strict
```
No desactive controles de seguridad, linters o tipos para ahorrar tokens.
Cuatro comprobaciones
- Existe
SKILL.md. - El frontmatter se analiza como YAML y tiene
descriptionno vacía. references/,examples/yscripts/se resuelven desde el directorio del skill.- El script se ejecuta con entrada segura y devuelve el código esperado.
Python llamado mediante python3 no necesita bit ejecutable; test -f no valida YAML. En sesiones nuevas compruebe /skills, una llamada explícita y una petición coincidente sin nombrar el skill. Compare /skill-doctor, /doctor y /context antes y después de un cambio, tanto por tokens como por activación correcta.