Free

Slash Commands: crea un sistema de comandos reutilizables para Claude Code

Define slash commands reutilizables como archivos Markdown, compártelos con el equipo mediante git y cubre tareas frecuentes como revisión de código, generación de tests y descripciones de PR.


Claude Code incluye algunos slash commands integrados — /help, /clear, /compact. Pero los que realmente aceleran tu flujo de trabajo son los que escribes tú mismo.

Este artículo trata sobre cómo diseñar un sistema de slash commands reutilizables para que todo el equipo comparta la misma biblioteca de prompts, en lugar de redescribir las tareas desde cero cada vez.

Qué es un Slash Command personalizado

En Claude Code, un slash command personalizado es simplemente un archivo Markdown. Colócalo en el directorio correcto, Claude Code lo detecta al iniciar, y al escribir /nombre-del-archivo se ejecuta.

El contenido del archivo es el prompt que se envía a Claude. Eso es todo.

Sin sintaxis especial, sin formato de configuración — un archivo .md es un comando.

Dónde poner los archivos

Dos ubicaciones, dos propósitos:

Ubicación Ruta Alcance
Proyecto .claude/commands/ Solo el proyecto actual, se puede hacer commit en git
Usuario ~/.claude/commands/ Todos los proyectos, personal

El nivel de proyecto es el núcleo del trabajo en equipo. Haz commit de .claude/commands/ en git y todos los que clonen el repositorio tendrán automáticamente el conjunto completo de comandos.

El nivel de usuario es para hábitos personales — tus verificaciones de estilo de código preferidas o integraciones de herramientas que solo tú usas.

Crear tu primer Command

Desde la raíz del proyecto:

mkdir -p .claude/commands

Crea .claude/commands/review.md:

Revisa la calidad del código de los cambios actuales. Enfócate en:

1. Errores lógicos y casos borde
2. Si la nomenclatura es clara
3. Código duplicado que valga la pena extraer
4. Problemas de seguridad (inyección SQL, XSS, secretos expuestos)

Da sugerencias concretas y accionables, no consejos genéricos.

Reinicia Claude Code y escribe /review para activarlo.

Usar $ARGUMENTS para recibir entradas

Los comandos de contenido fijo tienen uso limitado. $ARGUMENTS los hace flexibles — lo que el usuario escribe después de /comando se sustituye en el prompt.

Ejemplo .claude/commands/test.md:

Escribe tests para lo siguiente: $ARGUMENTS

Requisitos:
- Cubre el camino feliz y los casos borde
- Los nombres de los tests deben ser autodescriptivos
- Usa datos reales en lugar de mocks donde sea posible

Uso:

/test el método login de la clase UserAuthentication

Claude recibe:

Escribe tests para lo siguiente: el método login de la clase UserAuthentication

Requisitos:
...

$ARGUMENTS puede aparecer en cualquier lugar del prompt y usarse múltiples veces.

Principios de diseño

Un comando, una responsabilidad

No escribas un comando "todo en uno". /review es para revisión de código, /test para escribir tests, /pr para descripciones de PR. Los comandos específicos son más fáciles de recordar y reutilizar.

Escribe prompts concretos, no abstractos

Mal:

Ayúdame a optimizar este código

Bien:
```
Optimiza este código para rendimiento. Prioriza:
1. Reducir consultas innecesarias a la base de datos (problemas N+1)
2. Evitar cálculos repetidos dentro de bucles
3. Reemplazar búsquedas lineales con estructuras de datos más eficientes

Mantén la interfaz sin cambios — solo cambia la implementación.
```

Las restricciones concretas llevan a resultados precisos.

Agrega frontmatter a tus comandos

El campo description aparece en la lista de comandos de Claude Code, para que los miembros del equipo entiendan rápidamente para qué sirve cada uno:

---
description: Revisa los cambios actuales para feedback de calidad de código
---

Revisa la calidad del código de los cambios actuales...

Un conjunto práctico de Commands a nivel de proyecto

Para un proyecto Rails, estos comandos cubren las tareas de desarrollo diario más comunes:

.claude/commands/review.md — Revisión de código

```markdown

description: Revisa los cambios actuales por lógica, seguridad y legibilidad

Revisa los cambios en git diff. Verifica:
- Errores lógicos y manejo de casos borde
- Problemas de seguridad: inyección SQL, verificaciones de autorización
- Claridad en la nomenclatura
- Lógica duplicada que valga la pena extraer

Para cada problema, indica la ubicación específica y una sugerencia concreta.
```

.claude/commands/test.md — Generar tests

```markdown

description: Genera casos de test para el código especificado

Escribe tests para este código: $ARGUMENTS

Usa RSpec. Cubre: camino feliz, casos borde, condiciones de error.
Formato de nombres: describe ... context ... it ...
Usa objetos reales por defecto; mockea solo dependencias externas cuando sea necesario.
```

.claude/commands/pr.md — Descripción de PR

```markdown

description: Genera título y descripción de PR a partir de los cambios actuales

Basándote en git diff y el log de commits, genera una descripción de PR.

Formato:

Qué cambió

(2-3 oraciones resumiendo qué se hizo)

Por qué

(Contexto y motivación)

Cómo testear

(Cómo verificar este cambio)

Sé conciso, escrito para un revisor de código.
```

.claude/commands/explain.md — Explicar código

```markdown

description: Explica qué hace el archivo o función especificado

Explica qué hace $ARGUMENTS:
- ¿Cuál es su responsabilidad general?
- ¿Cómo funciona la lógica clave?
- ¿Qué casos borde vale la pena destacar?

Escríbelo para un desarrollador nuevo en esta parte del código. Enfócate en el por qué, no solo en el qué.
```

Commands a nivel de usuario: flujo de trabajo personal

Algunos hábitos son personales y no deben imponerse a todo el equipo. Ponlos en ~/.claude/commands/:

~/.claude/commands/standup.md — Preparación del standup diario
```markdown
Basándote en el git log de hoy y los TODOs abiertos, prepara un resumen para el standup:
- Qué completé ayer
- Qué planeo hacer hoy
- Algún bloqueo

Máximo 5 oraciones.
```

~/.claude/commands/refactor.md — Sugerencias de refactoring
```markdown
Analiza $ARGUMENTS y sugiere mejoras de refactoring.

Solo plantea cambios genuinamente valiosos — no refactorices por refactorizar.
Para cada sugerencia, explica: qué problema resuelve, cuánto trabajo implica y cuál es el riesgo.
```

La clave para la adopción en equipo: hacer commit en git

El valor real de los comandos personalizados no es la productividad individual — es darle al equipo un vocabulario compartido.

Haz commit de .claude/commands/ en tu repositorio y documenta los comandos disponibles en tu README o CLAUDE.md. Los nuevos compañeros tienen la biblioteca de prompts acumulada por el equipo en el momento en que clonan el repo, sin necesidad de descubrirla por su cuenta.

A medida que el proyecto evoluciona, los comandos también lo hacen. Si un prompt no está funcionando bien, corrígelo en una línea y haz push — todo el equipo recibe la actualización. Esta es la forma de menor sobrecarga para implementar ingeniería de prompts a nivel de equipo.

Estructura de directorios de referencia

.claude/
├── commands/
│   ├── review.md      # Revisión de código
│   ├── test.md        # Generar tests
│   ├── pr.md          # Descripción de PR
│   └── explain.md     # Explicar código
└── settings.json