Slash Commands Personalizados
Claude Code viene con comandos built-in como /help y /clear. Pero el poder real esta en crear tus propios comandos.
Built-in vs Custom
Comandos Built-in
Los que ya vienen con Claude Code:
/help # Ver ayuda
/clear # Limpiar contexto
/init # Crear CLAUDE.md
/context # Ver uso de tokens
/cost # Ver costos
/compact # Resumir historialComandos Custom
Los que creas vos para tu workflow:
/commit # Commit semantico automatico
/review # Code review de los cambios
/test # Correr tests y arreglar failures
/deploy # Deploy a produccion
/docs # Actualizar documentacionCrear Tu Primer Comando Custom
Los comandos custom viven en .claude/commands/ en tu proyecto.
Paso 1: Crear el Directorio
mkdir -p .claude/commandsPaso 2: Crear el Archivo del Comando
Cada comando es un archivo Markdown:
touch .claude/commands/commit.mdPaso 3: Escribir el Comando
# /commit
Analiza los cambios en git y crea un commit con mensaje semantico.
## Instrucciones
1. Ejecuta `git status` para ver los cambios
2. Ejecuta `git diff --staged` si hay cambios staged
3. Analiza el tipo de cambio (feat, fix, docs, refactor, etc.)
4. Genera un mensaje de commit siguiendo conventional commits
5. Ejecuta el commit
## Formato del Mensaje
```
type(scope): description
[optional body]
```
Tipos validos: feat, fix, docs, style, refactor, test, chore
## Ejemplo
Si agregue una funcion de login:
```
feat(auth): add login functionality
- Add login form component
- Implement authentication logic
- Add session management
```Paso 4: Usar el Comando
/commitClaude lee el archivo, sigue las instrucciones, y ejecuta todo automaticamente.
El Poder de $ARGUMENTS
Podes pasar argumentos a tus comandos usando $ARGUMENTS:
# /review
Revisa el codigo en $ARGUMENTS buscando:
1. Bugs potenciales
2. Mejoras de performance
3. Claridad del codigo
4. Falta de tests
Genera un reporte con findings y sugerencias.Uso:
/review src/components/LoginForm.tsxClaude recibe src/components/LoginForm.tsx como $ARGUMENTS.
Mis Comandos Mas Usados
/commit - Commits Semanticos
# /commit
Crea un commit semantico de los cambios actuales.
1. Ejecuta `git status` y `git diff`
2. Determina el tipo: feat|fix|docs|refactor|test|chore
3. Escribe mensaje claro y conciso
4. Ejecuta `git add .` y `git commit`
Si hay muchos cambios, sugiere dividir en commits mas pequenos./review - Code Review Rapido
# /review
Revisa $ARGUMENTS como un senior developer.
Busca:
- Bugs y edge cases no manejados
- Problemas de performance
- Codigo repetido
- Falta de error handling
- Oportunidades de refactor
Formato: Lista de issues ordenados por severidad (HIGH/MEDIUM/LOW)./test - Testing Automatico
# /test
Corre los tests y arregla failures automaticamente.
1. Ejecuta `npm run test`
2. Si hay failures, analiza el error
3. Determina si el bug esta en el codigo o en el test
4. Arregla el problema
5. Vuelve a correr los tests
6. Repite hasta que pasen todos/pr - Crear Pull Request
# /pr
Crea un pull request para la branch actual.
1. Asegurate de estar en una feature branch (no main)
2. Ejecuta `git log main..HEAD` para ver los commits
3. Genera un titulo descriptivo
4. Genera una descripcion con:
- Resumen de cambios
- Tipo de cambio (feature/bugfix/refactor)
- Testing realizado
5. Ejecuta `gh pr create`/fix - Arreglar Error
# /fix
Analiza el error en $ARGUMENTS y arreglalo.
1. Lee el mensaje de error completo
2. Busca el archivo y linea donde ocurre
3. Analiza la causa root
4. Implementa el fix
5. Verifica que el error no vuelve
Si el error no es claro, agrega logs temporales para debugging.Organizacion de Comandos
Por Proyecto
Guarda comandos especificos del proyecto en:
mi-proyecto/
└── .claude/
└── commands/
├── commit.md
├── review.md
├── test.md
└── deploy.md
Globales (Todos los Proyectos)
Guarda comandos que usas en todos lados en:
~/.claude/
└── commands/
├── commit.md # Mismo comando para todos los proyectos
├── explain.md
└── refactor.md
Tips para Comandos Efectivos
1. Se Especifico
Malo:
# /review
Revisa el codigo.Bueno:
# /review
Revisa el codigo buscando:
1. Null pointer exceptions
2. Memory leaks
3. Race conditions
4. Falta de input validation2. Define el Output
# /analyze
Analiza $ARGUMENTS y genera un reporte con:
## Complejidad
- Ciclomatic complexity de cada funcion
## Dependencias
- Imports externos
- Imports internos
## Riesgos
- Partes del codigo que pueden romper
Formato: Markdown con secciones claras.3. Incluye Ejemplos
# /rename
Renombra $ARGUMENTS siguiendo las convenciones del proyecto.
## Convenciones
- Componentes: PascalCase (LoginForm.tsx)
- Hooks: camelCase con use prefix (useAuth.ts)
- Utils: camelCase (formatDate.ts)
## Ejemplo
`/rename user-profile` → UserProfile.tsxErrores Que Me Costaron Horas
Error 1: Comandos Muy Genericos
El error: Cree un comando /do-everything que hacia demasiadas cosas. Claude se confundia sobre que hacer primero.
El costo: 30 minutos de ida y vuelta clarificando que queria.
La leccion: Un comando = una tarea especifica. Mejor tener 10 comandos simples que 1 complejo.
Error 2: No Definir el Output
El error: Mi comando /analyze no especificaba el formato de salida. Cada vez que lo usaba, Claude generaba un formato diferente.
El costo: Tiempo perdido reformateando outputs.
La leccion: Siempre especifica el formato exacto que queres.
Para Equipos: Libreria Compartida de Comandos
Si trabajas en equipo, los comandos personalizados son una forma poderosa de estandarizar workflows.
Estructura de Comandos de Equipo
organization/
├── .claude/
│ └── commands/ # Comandos de la org (todos los proyectos)
│ ├── commit.md # Standard de commits
│ ├── review.md # Checklist de code review
│ └── deploy.md # Proceso de deploy
│
└── proyecto/
└── .claude/
└── commands/ # Comandos especificos del proyecto
├── test.md # Testing de este proyecto
└── migrate.md # Migraciones de DB
Governance de Comandos
| Tipo | Quien Aprueba | Donde Vive |
|---|---|---|
| Org-wide | Tech Lead/CTO | Repo compartido |
| Por proyecto | Team Lead | .claude/commands/ |
| Personal | Individual | ~/.claude/commands/ |
Template de Comando Seguro para Equipos
# /deploy
## ⚠️ Advertencias
- Solo usar en branches aprobadas
- Verificar que CI esta verde
- No usar en horario pico
## Prerequisitos
- [ ] CI pipeline pasando
- [ ] PR aprobado
- [ ] Staging testeado
## Instrucciones
1. Verificar branch actual (debe ser main o release/*)
2. Correr `npm run test` una ultima vez
3. Ejecutar `npm run deploy:staging`
4. Esperar health checks
5. Si todo OK, `npm run deploy:production`
## Rollback
Si algo falla: `npm run rollback:production`Versionando Comandos
Trata los comandos como codigo:
# Commitea cambios a comandos con mensajes claros
git commit -m "feat(commands): add deploy command with rollback support"
# Tagea versiones importantes
git tag commands-v1.2.0Seguridad en Comandos
Comandos Peligrosos: Agrega Warnings
# /reset-db
## ⚠️ DANGER: Este comando borra datos
Este comando borra TODA la base de datos y la recrea.
Solo usar en desarrollo.
## Confirmacion Requerida
Antes de ejecutar, confirma escribiendo: "Entiendo que esto borra todo"
## Instrucciones
[...]No Incluyas Secrets en Comandos
MALO:
# /deploy
Ejecuta: `API_KEY=sk-xxxx npm run deploy`BUENO:
# /deploy
Ejecuta: `npm run deploy` (usa API_KEY de .env)Comandos Solo-Lectura por Default
Para comandos de analisis, hacelos read-only explicitos:
# /analyze
## Nota: Este comando es READ-ONLY
No modifica ningun archivo. Solo analiza y reporta.
[...]Desafio: Prueba Esto
Antes de pasar a la siguiente leccion:
- Crea el directorio
.claude/commands/en tu proyecto - Crea un comando
/commitbasico - Ejecuta
/commity verifica que funciona - Crea un comando
/reviewcon $ARGUMENTS - (Equipos) Crea un comando compartido con warnings de seguridad
Tiempo estimado: 10 minutos
Siguiente Paso
Los comandos son invocados manualmente. Las Skills se activan automaticamente segun el contexto.