← Blog

Crea tus propios comandos en Claude Code: de prompt repetido a /post

11 nov 2026 · Reel del 11 de noviembre

Cada vez que quieres un post para Instagram escribes lo mismo: el tono, la longitud, que termine con una palabra clave, cinco hashtags. Si un día se te olvida una línea, el resultado sale distinto. Y si lo pide otra persona del equipo, sale distinto otra vez.

En el reel del 11 de noviembre lo convertía en un comando: escribo /post y el tema, y sale siempre con el mismo estilo. Aquí tienes el paso a paso completo, cómo pasarle datos al comando y algo que el reel no contaba: los comandos se han fusionado con las skills, y conviene saber qué cambia.

Qué vas a tener al terminar

Un comando /post dentro de tu proyecto que genera un post de Instagram con tus reglas a partir de un tema. El mismo método vale para /propuesta, /revisar o cualquier prompt que repitas.

Solo necesitas Claude Code instalado. Si aún no lo tienes, aquí está la guía.

Paso 1: crea la carpeta

En la raíz de tu proyecto crea la carpeta .claude/commands/:

mkdir -p .claude/commands

Todo lo que pongas ahí será un comando de ese proyecto.

Paso 2: escribe el comando

Crea el archivo .claude/commands/post.md. El nombre del archivo es el nombre del comando: post.md se convierte en /post.

---
description: Escribe un post de Instagram con mi estilo
argument-hint: [tema]
---

Escribe un post de Instagram sobre: $ARGUMENTS

- Primera línea: un gancho de menos de 12 palabras.
- Cuerpo: 3 a 5 líneas cortas.
- Cierre: "Comenta [PALABRA] y te lo envío", con una palabra relacionada en mayúsculas.
- 5 hashtags en español al final.
- Tono cercano, sin tecnicismos y sin promesas exageradas.

Lo de arriba entre guiones es el frontmatter: datos para Claude Code, no para el modelo. description es lo que verás en el menú y argument-hint la pista que aparece al escribir el comando.

Paso 3: úsalo

Abre Claude Code en el proyecto (o reinícialo si ya estaba abierto) y escribe /. Deberías ver /post en la lista con su descripción. Luego:

/post cómo elegir un buen corte de pelo para el verano

$ARGUMENTS se sustituye por todo lo que escribas después del comando. Si no pones $ARGUMENTS en ningún sitio, Claude Code añade lo que escribiste al final del prompt igualmente.

Prueba dos temas seguidos. El estilo se mantiene porque las reglas ya no dependen de tu memoria: están en un archivo.

Varios datos en un comando

Si necesitas más de un dato, puedes referirte a cada uno por su posición. Atención, porque aquí se equivoca casi todo el mundo: se cuentan desde cero. $0 es el primero y $1 el segundo.

---
description: Propuesta comercial para un cliente
argument-hint: [cliente] [servicio]
---

Prepara una propuesta para $0 sobre el servicio de $1.
Estructura: situación actual, qué proponemos, entregables, plazos, precio y siguiente paso.

Si un dato tiene espacios, va entre comillas: /propuesta "Clínica Sonrisa" "web nueva".

.claude/commands/propuesta.md
Prepara una propuesta para $0 sobre el servicio de $1.
Estructura: situación actual, qué proponemos, entregables, plazos, precio y siguiente paso.
Lo que recibe Claude
Prepara una propuesta para Clínica Sonrisa sobre el servicio de web nueva.
Estructura: situación actual, qué proponemos, entregables, plazos, precio y siguiente paso.
Tus argumentos, ya separadosEl molde: el texto fijo del .mdLa hoja: lo que recibe ClaudeClaude Code separa lo que escribes después del comando como una terminal: los espacios cortan y las comillas mantienen juntas varias palabras. $0 es el primer argumento y $1 el segundo; $ARGUMENTS es todo lo que escribiste. Si el archivo no tiene ningún marcador, lo añade al final como «ARGUMENTS: …».

Lo que acabas de ver: el molde es el archivo del comando, con el texto fijo y un hueco por cada marcador. Lo que escribes detrás de /propuesta se corta en piezas por los espacios, salvo lo que va entre comillas, y cada pieza cae en su hueco por orden: la primera en $0, la segunda en $1. Por eso /propuesta Peluquería Marta deja «Marta» como servicio. Con $ARGUMENTS entra todo de una vez, y si el archivo no tiene marcadores, Claude Code lo añade al final como ARGUMENTS:.

Mete información fresca antes de que Claude lea el prompt

Un comando puede ejecutar algo en la terminal y meter el resultado en el prompt. Se escribe ! seguido del comando entre comillas invertidas:

---
description: Resume los cambios de hoy para el cliente
---

## Cambios

!`git diff HEAD`

## Instrucciones

Resume los cambios de arriba en un mensaje para el cliente: qué se ha hecho, qué falta
y si necesitamos algo de su parte. Tono profesional y cercano, máximo 8 líneas.

Claude Code ejecuta git diff HEAD antes de pasarle el texto al modelo, así que Claude ya recibe los cambios reales. Si el comando falla, el comando entero se cancela; para comandos que pueden fallar sin que importe, añade || true al final.

Comandos en carpetas

Si acumulas muchos, puedes agruparlos en subcarpetas. Un archivo en .claude/commands/clientes/propuesta.md se usa como /clientes:propuesta.

Comandos o skills: lo que ha cambiado

Según la documentación actual, los comandos personalizados se han fusionado con las skills. Un archivo en .claude/commands/post.md y una skill en .claude/skills/post/SKILL.md crean el mismo /post y funcionan igual. Tus comandos siguen funcionando, pero las skills añaden tres cosas:

Comando (.claude/commands/)Skill (.claude/skills/<nombre>/)
Lo lanzas tú con /SíSí
Claude lo carga solo cuando hace faltaNoSí, salvo que lo desactives
Archivos de apoyo (plantillas, ejemplos)NoSí, en la misma carpeta
FormatoUn solo .mdCarpeta con SKILL.md

La documentación recomienda skills para lo nuevo. Mi criterio práctico:

  • Un prompt corto que lanzas tú: un comando en .claude/commands/ es lo más rápido de crear.
  • Algo con ejemplos, plantillas o varios archivos (por ejemplo, una skill que escribe tus posts con diez captions de referencia): una skill. Lo explico en modelo, skills y MCPs.

Si pasas un comando a skill y solo debe ejecutarse cuando tú lo pides (publicar, enviar algo, desplegar), añade disable-model-invocation: true al frontmatter. Así Claude no la lanzará por su cuenta.

Para tenerlo en todos tus proyectos, crea la skill en tu carpeta de usuario, ~/.claude/skills/<nombre>/SKILL.md.

Errores habituales

  • No aparece en el menú. Comprueba que el archivo termina en .md, que está en .claude/commands/ dentro del proyecto en el que abriste Claude Code y reinicia la sesión.
  • Sale con otro nombre. El comando toma el nombre del archivo, no lo que pongas en el título.
  • Toma el argumento equivocado. Recuerda que $0 es el primero.
  • Hace más de lo que querías. Un comando es un prompt: si es ambiguo, el resultado también. Sé tan concreto como en un CLAUDE.md.

Cuándo no merece la pena

Si lo vas a usar una vez, escribe el prompt y ya. Y si lo que repites es contexto ("los textos van en español", "no toques esta carpeta"), no es un comando: va en CLAUDE.md, que se carga siempre sin que lo pidas.

Siguiente nivel

Tienes cinco comandos listos para copiar (/post, /propuesta, /revisar, /resumen y /carrusel) en el recurso de comandos. Cuando un comando se te quede corto porque necesita investigar o revisar mucho por su cuenta, el siguiente paso son los subagentes.

Ir al recurso gratis

Fuentes