4.1 — Anatomía de un comando slash
Los comandos slash son archivos Markdown que Claude Code carga y ejecuta como prompts especializados. A diferencia de los comandos nativos (/clear, /compact, /help), los comandos slash personalizados son archivos que creas, que compartes mediante Git, y que encapsulan workflows repetidos en una sola invocación.
Formato de archivo
Un comando slash es un archivo .md colocado en una de las ubicaciones reconocidas por Claude Code. El archivo puede empezar por un frontmatter YAML opcional, seguido del contenido Markdown que constituye el prompt:
---
description: Genera un test unitario para el archivo objetivo
argument-hint: [file-path]
allowed-tools: Read, Write, Bash(npm:*)
---
Lee el archivo @$1 y genera un test unitario completo.
Usa el framework de test ya presente en el proyecto.
Lanza los tests para verificar que pasan.
El frontmatter es totalmente opcional. Un archivo que contiene únicamente Markdown funciona, Claude Code lo interpreta como un prompt en bruto. Pero el frontmatter añade estructura: description aparece en el autocompletado, argument-hint guía al usuario, y allowed-tools restringe las herramientas disponibles durante la ejecución.
Ubicaciones de los comandos
- Proyecto:
.claude/commands/, versionado en Git, compartido con el equipo - Usuario:
~/.claude/commands/, personal, disponible en todos los proyectos - Plugin:
, distribuido mediante un plugin/commands/
La invocación se hace con /nombre-del-archivo (sin la extensión .md). Los subdirectorios se convierten en namespaces: .claude/commands/test/unit.md se invoca con /test:unit.
Puntos clave
• Un comando slash = un archivo Markdown con un prompt reutilizable
• El frontmatter YAML es opcional pero añade description, herramientas autorizadas e indicaciones de argumentos
• Tres ubicaciones: proyecto (.claude/commands/), usuario (~/.claude/commands/), plugin
• Los subdirectorios crean namespaces (invocación con :)