/. Estos comandos se pueden enviar a través del SDK para realizar acciones como compactar contexto, listar el uso del contexto o invocar comandos personalizados. Solo los comandos que funcionan sin una terminal interactiva se pueden enviar a través del SDK; el mensaje system/init enumera los disponibles en su sesión.
Descubrimiento de Slash Commands Disponibles
El Claude Agent SDK proporciona información sobre los slash commands disponibles en el mensaje de inicialización del sistema. Acceda a esta información cuando su sesión comience:Envío de Slash Commands
Envíe slash commands incluyéndolos en su cadena de prompt, como texto normal. Los comandos que actúan sobre el historial de conversación, como/compact, necesitan mensajes previos para funcionar, por lo que los ejemplos a continuación hacen una pregunta primero y luego envían el comando como seguimiento en la misma conversación:
Una consulta puede terminar con un resultado de error, por ejemplo cuando se alcanza el límite de
maxTurns / max_turns antes de que se complete el trabajo. El mensaje de resultado final tiene entonces is_error: true y un subtipo de error como error_max_turns en lugar de success.Después de ceder ese mensaje de resultado final, el SDK genera un error, porque el proceso de CLI se cierra con un código distinto de cero.Envuelva el bucle en un try/catch en TypeScript o try/except en Python si su comando podría alcanzar el límite, como se muestra en Single Message Input, o establezca maxTurns lo suficientemente alto para que se complete el trabajo. En Python, capture Exception: el SDK presenta resultados de error como una Exception simple.Comandos Slash Comunes
/compact - Compactar historial de conversación
El comando /compact reduce el tamaño de su historial de conversación resumiendo mensajes antiguos mientras preserva el contexto importante. La compactación requiere una conversación existente con al menos dos intercambios previos para resumir. Este ejemplo tiene una conversación primero, luego la compacta y lee el mensaje del sistema compact_boundary que reporta el resultado:
Un mensaje
compact_boundary solo llega cuando se ejecutó la compactación. Sin nada que resumir, /compact reporta la razón en su lugar de lanzar una excepción: la ejecución aún termina con un resultado success, no se emite ningún mensaje compact_boundary, y el texto del resultado lleva el mensaje, por ejemplo Not enough messages to compact. después de un único intercambio corto. Una nueva llamada query() de una sola vez comienza con contexto vacío, así que use este patrón en una sesión con turnos previos, por ejemplo en modo de entrada en streaming o cuando reanuda una sesión./clear - Restablecer contexto de conversación
El comando /clear restablece la conversación a un contexto vacío, de modo que los prompts posteriores comienzan sin historial de conversación previo. La conversación anterior permanece en disco y se puede recuperar pasando su ID de sesión a la opción resume.
Esto es útil en modo de entrada en streaming, donde envía múltiples prompts sobre una única conexión. Para llamadas query() de una sola vez, cada llamada ya comienza con contexto vacío, por lo que enviar /clear no tiene efecto práctico; inicie una nueva query() en su lugar.
/clear en el SDK requiere Claude Code v2.1.117 o posterior. En versiones anteriores se omite de slash_commands.Creación de Slash Commands Personalizados
Además de usar slash commands integrados, puede crear sus propios comandos personalizados que estén disponibles a través del SDK. Los comandos personalizados se definen como archivos markdown en directorios específicos, similar a cómo se configuran los subagentes.El directorio
.claude/commands/ es el formato heredado. El formato recomendado es .claude/skills/<name>/SKILL.md, que admite la misma invocación de slash command (/name) más invocación autónoma por Claude. Consulte Skills para el formato actual. La CLI continúa admitiendo ambos formatos, y los ejemplos a continuación siguen siendo precisos para .claude/commands/.Ubicaciones de Archivos
Los slash commands personalizados se almacenan en directorios designados según su alcance:- Comandos de proyecto:
.claude/commands/- Disponibles solo en el proyecto actual (heredado; prefiera.claude/skills/) - Comandos personales:
~/.claude/commands/- Disponibles en todos sus proyectos (heredado; prefiera~/.claude/skills/)
Formato de Archivo
Cada comando personalizado es un archivo markdown donde:- El nombre del archivo (sin extensión
.md) se convierte en el nombre del comando - El contenido del archivo define qué hace el comando
- El frontmatter YAML opcional proporciona configuración
Ejemplo Básico
Cree el directorio.claude/commands en su proyecto si no existe, luego cree .claude/commands/refactor.md:
/refactor que puede usar a través del SDK.
Con Frontmatter
Cree.claude/commands/security-check.md:
Uso de Comandos Personalizados en el SDK
Una vez definidos en el sistema de archivos, los comandos personalizados están automáticamente disponibles a través del SDK:Características Avanzadas
Argumentos y Placeholders
Los comandos personalizados admiten argumentos dinámicos usando placeholders: Cree.claude/commands/fix-issue.md:
Ejecución de Comandos Bash
Los comandos personalizados pueden ejecutar comandos bash e incluir su salida: Cree.claude/commands/git-commit.md:
Referencias de Archivos
Incluya contenidos de archivos usando el prefijo@:
Cree .claude/commands/review-config.md:
Organización con Espacios de Nombres
Organice comandos en subdirectorios para una mejor estructura:Ejemplos Prácticos
Comando de Revisión de Pull Request
Cree.claude/commands/review-pr.md:
Claude Code incluye skills integrados
code-review y verify. Si nombra un comando personalizado igual a uno de ellos, por ejemplo .claude/commands/code-review.md, su comando reemplaza el skill integrado y slash_commands lista el nombre una sola vez.Comando de Ejecutor de Pruebas
Cree.claude/commands/test.md:
Véase También
- Slash Commands - Documentación completa de slash commands
- Subagentes en el SDK - Configuración similar basada en sistema de archivos para subagentes
- Referencia del SDK de TypeScript - Documentación completa de la API
- Descripción general del SDK - Conceptos generales del SDK
- Referencia de CLI - Interfaz de línea de comandos