Comandos de barra integrados

ComandoPropósito
/add-dirAgregar directorios de trabajo adicionales
/agentsGestionar subagentes de IA personalizados para tareas especializadas
/bugReportar errores (envía la conversación a Anthropic)
/clearBorrar el historial de conversación
/compact [instructions]Compactar conversación con instrucciones de enfoque opcionales
/configAbrir la interfaz de Configuración (pestaña Config)
/costMostrar estadísticas de uso de tokens (consulta la guía de seguimiento de costos para detalles específicos de suscripción)
/doctorVerifica la salud de tu instalación de Claude Code
/helpObtener ayuda de uso
/initInicializar proyecto con guía CLAUDE.md
/loginCambiar cuentas de Anthropic
/logoutCerrar sesión de tu cuenta de Anthropic
/mcpGestionar conexiones de servidor MCP y autenticación OAuth
/memoryEditar archivos de memoria CLAUDE.md
/modelSeleccionar o cambiar el modelo de IA
/permissionsVer o actualizar permisos
/pr_commentsVer comentarios de solicitud de extracción
/reviewSolicitar revisión de código
/sandboxHabilitar herramienta bash en sandbox con aislamiento de sistema de archivos y red para ejecución más segura y autónoma
/rewindRebobinar la conversación y/o código
/statusAbrir la interfaz de Configuración (pestaña Status) mostrando versión, modelo, cuenta y conectividad
/terminal-setupInstalar vinculación de tecla Shift+Enter para nuevas líneas (solo iTerm2 y VSCode)
/usageMostrar límites de uso del plan y estado de límite de velocidad (solo planes de suscripción)
/vimEntrar en modo vim para alternar entre modos de inserción y comando

Comandos de barra personalizados

Los comandos de barra personalizados te permiten definir indicaciones frecuentemente utilizadas como archivos Markdown que Claude Code puede ejecutar. Los comandos se organizan por alcance (específico del proyecto o personal) y admiten espacios de nombres a través de estructuras de directorios.

Sintaxis

/<command-name> [arguments]

Parámetros

ParámetroDescripción
<command-name>Nombre derivado del nombre del archivo Markdown (sin extensión .md)
[arguments]Argumentos opcionales pasados al comando

Tipos de comandos

Comandos de proyecto

Comandos almacenados en tu repositorio y compartidos con tu equipo. Cuando se enumeran en /help, estos comandos muestran “(project)” después de su descripción. Ubicación: .claude/commands/ En el siguiente ejemplo, creamos el comando /optimize:
# Crear un comando de proyecto
mkdir -p .claude/commands
echo "Analyze this code for performance issues and suggest optimizations:" > .claude/commands/optimize.md

Comandos personales

Comandos disponibles en todos tus proyectos. Cuando se enumeran en /help, estos comandos muestran “(user)” después de su descripción. Ubicación: ~/.claude/commands/ En el siguiente ejemplo, creamos el comando /security-review:
# Crear un comando personal
mkdir -p ~/.claude/commands
echo "Review this code for security vulnerabilities:" > ~/.claude/commands/security-review.md

Características

Espacios de nombres

Organiza comandos en subdirectorios. Los subdirectorios se utilizan para la organización y aparecen en la descripción del comando, pero no afectan el nombre del comando en sí. La descripción mostrará si el comando proviene del directorio del proyecto (.claude/commands) o del directorio a nivel de usuario (~/.claude/commands), junto con el nombre del subdirectorio. Los conflictos entre comandos a nivel de usuario y proyecto no son compatibles. De lo contrario, múltiples comandos con el mismo nombre de archivo base pueden coexistir. Por ejemplo, un archivo en .claude/commands/frontend/component.md crea el comando /component con descripción mostrando “(project:frontend)”. Mientras tanto, un archivo en ~/.claude/commands/component.md crea el comando /component con descripción mostrando “(user)”.

Argumentos

Pasa valores dinámicos a comandos usando marcadores de posición de argumentos:
Todos los argumentos con $ARGUMENTS
El marcador de posición $ARGUMENTS captura todos los argumentos pasados al comando:
# Definición del comando
echo 'Fix issue #$ARGUMENTS following our coding standards' > .claude/commands/fix-issue.md

# Uso
> /fix-issue 123 high-priority
# $ARGUMENTS se convierte en: "123 high-priority"
Argumentos individuales con $1, $2, etc.
Accede a argumentos específicos individualmente usando parámetros posicionales (similar a scripts de shell):
# Definición del comando  
echo 'Review PR #$1 with priority $2 and assign to $3' > .claude/commands/review-pr.md

# Uso
> /review-pr 456 high alice
# $1 se convierte en "456", $2 se convierte en "high", $3 se convierte en "alice"
Usa argumentos posicionales cuando necesites:
  • Acceder a argumentos individualmente en diferentes partes de tu comando
  • Proporcionar valores predeterminados para argumentos faltantes
  • Construir comandos más estructurados con roles de parámetros específicos

Ejecución de comandos bash

Ejecuta comandos bash antes de que se ejecute el comando de barra usando el prefijo !. La salida se incluye en el contexto del comando. Debes incluir allowed-tools con la herramienta Bash, pero puedes elegir los comandos bash específicos a permitir. Por ejemplo:
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
description: Create a git commit
---

## Context

- Current git status: !`git status`
- Current git diff (staged and unstaged changes): !`git diff HEAD`
- Current branch: !`git branch --show-current`
- Recent commits: !`git log --oneline -10`

## Your task

Based on the above changes, create a single git commit.

Referencias de archivos

Incluye contenidos de archivos en comandos usando el prefijo @ para referenciar archivos. Por ejemplo:
# Reference a specific file

Review the implementation in @src/utils/helpers.js

# Reference multiple files

Compare @src/old-version.js with @src/new-version.js

Modo de pensamiento

Los comandos de barra pueden activar el pensamiento extendido incluyendo palabras clave de pensamiento extendido.

Frontmatter

Los archivos de comando admiten frontmatter, útil para especificar metadatos sobre el comando:
FrontmatterPropósitoPredeterminado
allowed-toolsLista de herramientas que el comando puede usarHereda de la conversación
argument-hintLos argumentos esperados para el comando de barra. Ejemplo: argument-hint: add [tagId] | remove [tagId] | list. Esta sugerencia se muestra al usuario al autocompletar el comando de barra.Ninguno
descriptionBreve descripción del comandoUsa la primera línea del indicador
modelCadena de modelo específica (consulta Descripción general de modelos)Hereda de la conversación
disable-model-invocationSi se debe prevenir que la herramienta SlashCommand llame a este comandofalse
Por ejemplo:
---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: [message]
description: Create a git commit
model: claude-3-5-haiku-20241022
---

Create a git commit with message: $ARGUMENTS
Ejemplo usando argumentos posicionales:
---
argument-hint: [pr-number] [priority] [assignee]
description: Review pull request
---

Review PR #$1 with priority $2 and assign to $3.
Focus on security, performance, and code style.

Comandos de complemento

Los complementos pueden proporcionar comandos de barra personalizados que se integren sin problemas con Claude Code. Los comandos de complemento funcionan exactamente como los comandos definidos por el usuario pero se distribuyen a través de mercados de complementos.

Cómo funcionan los comandos de complemento

Los comandos de complemento son:
  • Con espacios de nombres: Los comandos pueden usar el formato /plugin-name:command-name para evitar conflictos (el prefijo del complemento es opcional a menos que haya colisiones de nombres)
  • Automáticamente disponibles: Una vez que se instala y habilita un complemento, sus comandos aparecen en /help
  • Totalmente integrados: Admiten todas las características de comandos (argumentos, frontmatter, ejecución bash, referencias de archivos)

Estructura de comando de complemento

Ubicación: Directorio commands/ en la raíz del complemento Formato de archivo: Archivos Markdown con frontmatter Estructura de comando básica:
---
description: Brief description of what the command does
---

# Command Name

Detailed instructions for Claude on how to execute this command.
Include specific guidance on parameters, expected outcomes, and any special considerations.
Características de comando avanzadas:
  • Argumentos: Usa marcadores de posición como {arg1} en descripciones de comandos
  • Subdirectorios: Organiza comandos en subdirectorios para espacios de nombres
  • Integración Bash: Los comandos pueden ejecutar scripts de shell y programas
  • Referencias de archivos: Los comandos pueden referenciar y modificar archivos del proyecto

Patrones de invocación

Comando directo (cuando no hay conflictos)
/command-name
Con prefijo de complemento (cuando es necesario para desambiguar)
/plugin-name:command-name
Con argumentos (si el comando los admite)
/command-name arg1 arg2

Comandos de barra MCP

Los servidores MCP pueden exponer indicaciones como comandos de barra que se vuelven disponibles en Claude Code. Estos comandos se descubren dinámicamente desde servidores MCP conectados.

Formato de comando

Los comandos MCP siguen el patrón:
/mcp__<server-name>__<prompt-name> [arguments]

Características

Descubrimiento dinámico

Los comandos MCP están automáticamente disponibles cuando:
  • Un servidor MCP está conectado y activo
  • El servidor expone indicaciones a través del protocolo MCP
  • Las indicaciones se recuperan exitosamente durante la conexión

Argumentos

Las indicaciones MCP pueden aceptar argumentos definidos por el servidor:
# Sin argumentos
> /mcp__github__list_prs

# Con argumentos
> /mcp__github__pr_review 456
> /mcp__jira__create_issue "Bug title" high

Convenciones de nomenclatura

  • Los nombres de servidor e indicación se normalizan
  • Los espacios y caracteres especiales se convierten en guiones bajos
  • Los nombres se convierten a minúsculas para consistencia

Gestionar conexiones MCP

Usa el comando /mcp para:
  • Ver todos los servidores MCP configurados
  • Verificar el estado de conexión
  • Autenticarse con servidores habilitados para OAuth
  • Borrar tokens de autenticación
  • Ver herramientas e indicaciones disponibles de cada servidor

Permisos MCP y comodines

Al configurar permisos para herramientas MCP, ten en cuenta que los comodines no son compatibles:
  • Correcto: mcp__github (aprueba TODAS las herramientas del servidor github)
  • Correcto: mcp__github__get_issue (aprueba herramienta específica)
  • Incorrecto: mcp__github__* (comodines no compatibles)
Para aprobar todas las herramientas de un servidor MCP, usa solo el nombre del servidor: mcp__servername. Para aprobar solo herramientas específicas, enumera cada herramienta individualmente.

Herramienta SlashCommand

La herramienta SlashCommand permite a Claude ejecutar comandos de barra personalizados programáticamente durante una conversación. Esto le da a Claude la capacidad de invocar comandos personalizados en tu nombre cuando sea apropiado. Para alentar a Claude a activar la herramienta SlashCommand, tus instrucciones (indicaciones, CLAUDE.md, etc.) generalmente necesitan referenciar el comando por nombre con su barra. Ejemplo:
> Run /write-unit-test when you are about to start writing tests.
Esta herramienta pone los metadatos de cada comando de barra personalizado disponible en contexto hasta el límite de presupuesto de caracteres. Puedes usar /context para monitorear el uso de tokens y seguir las operaciones a continuación para gestionar el contexto.

Comandos admitidos por la herramienta SlashCommand

La herramienta SlashCommand solo admite comandos de barra personalizados que:
  • Sean definidos por el usuario. Los comandos integrados como /compact e /init no son compatibles.
  • Tengan el campo frontmatter description poblado. Usamos la description en el contexto.
Para versiones de Claude Code >= 1.0.124, puedes ver qué comandos de barra personalizados la herramienta SlashCommand puede invocar ejecutando claude --debug y activando una consulta.

Deshabilitar herramienta SlashCommand

Para prevenir que Claude ejecute cualquier comando de barra a través de la herramienta:
/permissions
# Add to deny rules: SlashCommand
Esto también eliminará la herramienta SlashCommand (y las descripciones de comandos de barra) del contexto.

Deshabilitar solo comandos específicos

Para prevenir que un comando de barra específico esté disponible, agrega disable-model-invocation: true al frontmatter del comando de barra. Esto también eliminará los metadatos del comando del contexto.

Reglas de permiso SlashCommand

Las reglas de permiso admiten:
  • Coincidencia exacta: SlashCommand:/commit (permite solo /commit sin argumentos)
  • Coincidencia de prefijo: SlashCommand:/review-pr:* (permite /review-pr con cualquier argumento)

Límite de presupuesto de caracteres

La herramienta SlashCommand incluye un presupuesto de caracteres para limitar el tamaño de descripciones de comandos mostradas a Claude. Esto previene desbordamiento de tokens cuando muchos comandos están disponibles. El presupuesto incluye el nombre, argumentos y descripción de cada comando de barra personalizado.
  • Límite predeterminado: 15,000 caracteres
  • Límite personalizado: Establecer a través de la variable de entorno SLASH_COMMAND_TOOL_CHAR_BUDGET
Cuando se excede el presupuesto de caracteres, Claude verá solo un subconjunto de los comandos disponibles. En /context, se mostrará una advertencia con “M of N commands”.

Habilidades vs comandos de barra

Los comandos de barra y las Habilidades de Agente sirven propósitos diferentes en Claude Code:

Usa comandos de barra para

Indicaciones rápidas y frecuentemente utilizadas:
  • Fragmentos de indicación simples que usas a menudo
  • Recordatorios rápidos o plantillas
  • Instrucciones frecuentemente utilizadas que caben en un archivo
Ejemplos:
  • /review → “Review this code for bugs and suggest improvements”
  • /explain → “Explain this code in simple terms”
  • /optimize → “Analyze this code for performance issues”

Usa Habilidades para

Capacidades integrales con estructura:
  • Flujos de trabajo complejos con múltiples pasos
  • Capacidades que requieren scripts o utilidades
  • Conocimiento organizado en múltiples archivos
  • Flujos de trabajo de equipo que deseas estandarizar
Ejemplos:
  • Habilidad de procesamiento de PDF con scripts de llenado de formularios y validación
  • Habilidad de análisis de datos con documentos de referencia para diferentes tipos de datos
  • Habilidad de documentación con guías de estilo y plantillas

Diferencias clave

AspectoComandos de BarraHabilidades de Agente
ComplejidadIndicaciones simplesCapacidades complejas
EstructuraArchivo .md únicoDirectorio con SKILL.md + recursos
DescubrimientoInvocación explícita (/command)Automático (basado en contexto)
ArchivosUn archivo soloMúltiples archivos, scripts, plantillas
AlcanceProyecto o personalProyecto o personal
CompartirVía gitVía git

Comparación de ejemplo

Como comando de barra:
# .claude/commands/review.md
Review this code for:
- Security vulnerabilities
- Performance issues
- Code style violations
Uso: /review (invocación manual) Como Habilidad:
.claude/skills/code-review/
├── SKILL.md (overview and workflows)
├── SECURITY.md (security checklist)
├── PERFORMANCE.md (performance patterns)
├── STYLE.md (style guide reference)
└── scripts/
    └── run-linters.sh
Uso: “Can you review this code?” (descubrimiento automático) La Habilidad proporciona contexto más rico, scripts de validación y material de referencia organizado.

Cuándo usar cada uno

Usa comandos de barra:
  • Invocas la misma indicación repetidamente
  • La indicación cabe en un archivo único
  • Quieres control explícito sobre cuándo se ejecuta
Usa Habilidades:
  • Claude debe descubrir la capacidad automáticamente
  • Se necesitan múltiples archivos o scripts
  • Flujos de trabajo complejos con pasos de validación
  • El equipo necesita orientación detallada y estandarizada
Tanto los comandos de barra como las Habilidades pueden coexistir. Usa el enfoque que se ajuste a tus necesidades. Aprende más sobre Habilidades de Agente.

Ver también