Router de extensiones Claude Code para decidir y componer command/skill, scope, context fork y controles de invocacion. Deriva la autoria a claude-command-authoring o claude-skill-authoring y permisos a tool-permission-policy; no cubre Claude Platform.
Corrección de hechos (oficial). [DOC]
- Commands fusionados en skills.
.claude/commands/deploy.mdy.claude/skills/deploy/SKILL.mdcrean ambos/deployy funcionan igual. La decisión ya no es "command vs skill" sino qué controles de invocación fijar (disable-model-invocation,context: fork). [DOC]allowed-toolsNO restringe. Pre-aprueba las tools listadas mientras la skill está activa; todas las demás tools siguen disponibles (governadas por tus permisos). Para quitar o limitar tools usadisallowed-toolso reglaspermissions.deny. La whitelist no reduce el blast radius por sí sola. [DOC]
Enrutar y componer extensiones de Claude Code de producción entre slash commands
(.claude/commands/X.md) y skills (.claude/skills/X/SKILL.md), eligiendo los
controles de invocación y scope sin duplicar sus autores especializados. La capacidad es decidir el
trigger (explícito vs contextual), economizar contexto con context: fork, y limitar
operaciones destructivas con disallowed-tools/permissions.deny (no con
allowed-tools), sin contaminar la sesión ni romper la replicabilidad del equipo. [DOC]
La implementación del command pertenece a claude-command-authoring; la implementación de la skill a claude-skill-authoring; la política de permisos a tool-permission-policy. Este router se activa cuando hay que decidir o migrar entre esas superficies, no para autoría aislada. [CONFIG]
Ownership: 0/35 páginas del audit Claude Platform. Este skill no define tools de Messages API, no procesa tool_use, no implementa server tools y no crea handlers de memory/bash/editor/computer. Esas superficies pertenecen a tool-use-design, claude-api-tool-runtime, claude-api-server-tools y claude-api-client-tools. [CONFIG]
/comando arg): autoría de command. [DOC]context: fork. [DOC].claude/), nunca user. [DOC]disallowed-tools o permissions.deny (no allowed-tools). [DOC]CLAUDE.md. [DOC]No activarla para definiciones input_schema/strict/tool_choice, bucles Messages API, server tools o herramientas cliente de Claude Platform. [CONFIG]
context: fork. (Ambos producen un
/nombre equivalente.) Para comportamiento solo-explícito (que el modelo no la
auto-invoque por contexto), fija disable-model-invocation: true: queda invocable por
/nombre pero no entra en routing automático. [DOC].claude/, versionado) si debe llegar al equipo; user
(~/.claude/) solo para experimentos personales que no entran a ningún repo. [DOC]argument-hint para el invocante; description como contrato
de routing. [DOC]context: fork en trabajo no trivial para no inflar la sesión. [DOC]allowed-tools pre-aprueba (evita prompts) las tools que la
skill usa de rutina. Para impedir mutaciones declara disallowed-tools (p.ej.
Write, Edit, Bash) o reglas permissions.deny; allowed-tools por sí solo NO cierra
esas tools. Recuerda: un project skill requiere aceptar el diálogo de confianza del
workspace antes de que allowed-tools aplique. [DOC]CLAUDE.md. [DOC]# .claude/skills/release-notes/SKILL.md (project scope, versionado)
---
name: release-notes
description: "Genera notas de versión desde git log entre dos tags; se activa al pedir changelog/release notes."
context: fork # aísla y economiza la ventana principal
argument-hint: "<tag-desde> <tag-hasta>"
# pre-aprueba lectura + git (evita prompts):
allowed-tools: Read, Grep, Bash
# cierra mutaciones explícitamente (allowed-tools NO restringe):
disallowed-tools: Write, Edit
---# ANTI: user scope -> no se replica al equipo
# ~/.claude/skills/release-notes/SKILL.md
---
name: release-notes
# ANTI: sin context: fork -> la sub-tarea infla la sesión principal
# ANTI: creer que omitir allowed-tools "abre" y declararlo "cierra" el blast radius.
# Para cerrar, usa disallowed-tools o permissions.deny.
description: "hace cosas con git" # ANTI: description vaga, no es contrato de routing
---context: fork para economía de contexto en trabajo no trivial? [DOC]disallowed-tools/permissions.deny, entendiendo que
allowed-tools solo pre-aprueba? [DOC]description/argument-hint como contrato de activación e interfaz? [DOC]CLAUDE.md y NO dentro de la skill? [DOC]katas-custom-commands-skills (ver corrección de allowed-tools ahí también).claude-command-authoring, claude-skill-authoring, tool-permission-policy, tool-use-design.allowed-tools no restringe (usa disallowed-tools). [EXPLICIT]Capas del packet, cargables bajo demanda (disciplina ICM: una capa por vez, nunca todas juntas): knowledge/ cuerpo de conocimiento · prompts/ prompts listos · examples/ salida de ejemplo · agents/ subagentes del packet · templates/ plantilla de output · scripts/ automatización local · assets/ recursos estáticos.
e8f986b
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.