Claude Code Mastery4 / 12
Slash commands — construir un proyecto de la A a la Z
/init, /agents, /compact y tus comandos personalizados. El kit que te lleva de carpeta vacía a app corriendo sin salir del prompt de Claude.
Los slash commands son la superpotencia oculta de Claude Code.
La mayoría usa /init y luego se olvida del sistema. Eso es dejar el 80 % de la productividad sobre la mesa.
Bien usados, los slash commands convierten Claude Code en una CLI con criterio: una pulsación = un workflow repetible. Repasemos los integrados y luego construimos un proyecto desde carpeta vacía hasta app funcional usando solo slash commands.
Los cuatro integrados que conviene saber
/init
Una vez por proyecto. Crea .claude/ con settings.json, CLAUDE.md y agents/. Sin esto, cada sesión empieza fría.
/agents
Abre el selector de sub-agentes. Los sub-agentes son personas Claude especializadas (cubrimos el set completo en el artículo 5). Usa /agents para invocar code-reviewer, test-writer, migration-runner etc. sin reescribir sus system prompts.
/compact
El más infravalorado. A medida que la sesión crece, la ventana de contexto se hincha con tool calls antiguas y archivos descartados. /compact reescribe el resumen manteniendo intactas las decisiones.
/clear
Opción nuclear. Borra todo el historial. Útil cuando pasas de "implementando feature X" a "depurando un fallo de CI no relacionado" — contexto fresco, atención fresca.
Comandos personalizados — el juego real
Los comandos personalizados viven en .claude/commands/<nombre>.md. Son simples archivos markdown que se pegan en la conversación al teclear /<nombre>.
Ejemplo: /feature
.claude/commands/feature.md:
Vas a implementar una nueva feature.
Usa esta plantilla:
# Objetivo
{{describe el resultado con un número cuando sea posible}}
# Restricciones
- No romper los tests existentes.
- No añadir nueva dependencia sin preguntar.
- Mantener cambios acotados a los archivos listados.
# Definition of Done
- pnpm test pasa.
- pnpm lint limpio.
- Añadir descripción de PR (1 párrafo).
# Archivos
{{lista los archivos relevantes}}
Espera a que el usuario rellene los huecos antes de empezar.
En tu terminal:
> /feature
Claude Code lo expande. Tú rellenas los huecos. Ahora tu estructura de prompt está forzada — toda feature tiene la misma forma.
Ejemplo: /test-and-fix
.claude/commands/test-and-fix.md:
1. Ejecuta `pnpm test`.
2. Si hay fallos: lee cada test fallido, infiere el bug, arregla el código (no el test), reejecuta.
3. Para solo cuando `pnpm test` salga 0.
4. Reporta un resumen de 3 líneas con los cambios.
Ahora /test-and-fix es un comando "arregla el build" de una pulsación. Estupendo para cribar CI inestable.
Ejemplo: /release-notes
.claude/commands/release-notes.md:
1. `git log --oneline ${LAST_TAG}..HEAD`
2. Agrupa los commits en: features / fixes / chores.
3. Escribe una entrada de changelog en markdown, sin paja, máximo 25 líneas.
4. Guarda en CHANGELOG.md y haz stage.
A a Z — montar un proyecto solo con slash commands
Demostrémoslo. Vamos a hacer scaffolding de un pequeño servicio Next.js + tRPC desde una carpeta vacía, con una regla: nada de ediciones manuales, solo slash commands y prompts.
mkdir todo-service && cd todo-service
claude
Dentro de Claude:
> /init
→ Crea .claude/ y pide un CLAUDE.md. Rellénalo:
# Contexto del proyecto
- Servicio pequeño Next.js 14 + tRPC + drizzle para todos.
- TS estricto, pnpm, vitest.
# Convenciones
- Test: pnpm test
- Lint: pnpm lint
- Format: pnpm fmt
# Definition of done
- Tests pasan, lint limpio, sin console.log en src/.
Después:
> /feature
> Objetivo: Bootstrapear app Next.js 14 con tRPC + drizzle (sqlite) y tabla todos.
> Restricciones:
> - Solo pnpm.
> - Usa el starter oficial create-next-app + tRPC, no un fork.
> - TS estricto.
> Definition of Done:
> - pnpm dev arranca.
> - GET /api/trpc/todos.list devuelve [].
> Archivos: (repo vacío)
Claude monta, instala, levanta el dev server, golpea el endpoint para verificar y devuelve un diff.
> /feature
> Objetivo: Añadir POST todos.create con validación zod, persistir en drizzle.
> Restricciones:
> - Reusar el cliente drizzle en lib/db.ts.
> - 1 vitest cubriendo create + list.
> Definition of Done:
> - vitest verde.
> - typecheck limpio.
> Archivos: src/server/api/routers/todos.ts, lib/db.ts
Claude escribe el procedure, el schema, el test, lo corre y devuelve un diff.
> /test-and-fix
Si algo se rompió, lo arregla.
> /release-notes
Changelog escrito.
> git checkout -b feat/todos && git add . && git commit -m "feat: todos.create + list"
No abriste un solo archivo. El diff es revisable; el trabajo está hecho.
Anti-patrones
/featuresin rellenar los huecos. Anula el propósito; el agente adivina.- Comandos personalizados que solo repiten un párrafo. Un comando custom debe codificar un workflow (pasos, chequeos), no un tono.
- Guardar slash commands fuera del repo. Commitea
.claude/commands/para que el equipo comparta vocabulario.
El ángulo de equipo
Cuando .claude/commands/ está en git, en realidad estás enviando memoria muscular compartida. Las nuevas incorporaciones heredan tu /feature, /review, /release-notes gratis. Tras 3-4 semanas, todo equipo con el que he trabajado tiene 8-12 comandos custom y el onboarding en Claude Code baja de "una semana" a "una mañana".
Próximo artículo: Sub-agentes — los 11 expertos especializados dentro de Claude Code. Los slash commands reutilizan prompts. Los sub-agentes reutilizan personas enteras. Ese es el desbloqueo.
Serie — Claude Code Mastery
- Parte 01Claude Code vs ChatGPT vs Copilot vs agentesLa mayoría de los desarrolladores usan la herramienta de IA equivocada para la tarea equivocada. Aquí tienes el porqué — y qué hacer en su lugar.
- Parte 02Instalación + el flujo de trabajo antigravedadInstalar Claude Code es cosa de 30 segundos. Configurar el flujo que hace que el agente parezca cargar con todo el trabajo pesado — eso es lo que nadie cuenta.
- Parte 03Escribir prompts que funcionan"Hazlo mejor" no es un prompt. "Refactoriza para rendimiento" no es un prompt. Aquí tienes la estructura de cuatro partes que hace que Claude Code termine de verdad lo que pediste.
- Parte 04Slash commands — construir un proyecto de la A a la Z — estás aquí/init, /agents, /compact y tus comandos personalizados. El kit que te lleva de carpeta vacía a app corriendo sin salir del prompt de Claude.
- Parte 05Sub-agentes — los 11 expertos especializados dentro de Claude CodeLos slash commands reutilizan prompts. Los sub-agentes reutilizan personas enteras — code-reviewer, test-writer, migration-runner. Aquí tienes el equipo que deberías tener desde el día uno.
- Parte 06Seguridad en bases de código de producciónPermisos, salvaguardas y qué no automatizar. El artículo nada sexy que decide si Claude Code se vuelve infraestructura o se vuelve la razón por la que te llamaron a las 2 a. m.
- Parte 07Pipelines multi-agenteEncadenar sub-agentes, ejecutarlos en paralelo y los patrones para 'revisar-mientras-codeo' sin perder la cabeza. Donde Claude Code empieza a sentirse como una pequeña organización de ingeniería.
- Parte 08Construir features completasDel ticket en Linear al PR mergeado con Claude Code. Un recorrido real y honesto — cómo era el prompt, qué acertó el agente, qué pillé en la review.
- Parte 09Pruebas y depuraciónDejar que Claude Code dueñe todo el bucle de tests. Incluidas las partes que ponen nerviosos a los ingenieros: regresiones, flakies, tests de integración y el susurrador de stack-traces.
- Parte 10Workflows de equipoCómo los equipos de ingeniería integran Claude Code hoy en la práctica. La carpeta .claude/ compartida, los rituales de revisión y los antipatrones que veo una y otra vez en el campo.
- Parte 11Patrones avanzados — Hooks, servidores MCP, herramientas custom, system promptsCuando ya creciste más allá de los defaults: hooks para efectos colaterales deterministas, servidores MCP para datos de la organización, herramientas custom y cirugía de system prompt.
- Parte 12El futuro del desarrollo agénticoHacia dónde va esto en 2026 y más allá. A qué le apostaría, a qué no, y la línea más allá de la cual me vuelvo escéptico del hype.