Slash commands
Crea slash commands personalizados para automatizar flujos de trabajo y estandarizar las prácticas del equipo.
Para empezar, escribe / en Bob Shell para ver todos los comandos disponibles, o crea los tuyos propios agregando un archivo markdown en .bob/commands/ o ~/.bob/commands/.
Comandos integrados
Bob Shell incluye los siguientes slash commands integrados:
| Comando | Alias | Descripción |
|---|---|---|
/help | Mostrar todos los slash commands disponibles | |
/clear | Limpiar la pantalla y restablecer el historial de conversación | |
/condense | Condensar inteligentemente la ventana de contexto para liberar espacio | |
/copy | Copiar un elemento del historial de conversación al portapapeles | |
/mode | Cambiar el modo activo (abre un selector) | |
/resume | Explorar y reanudar una conversación anterior | |
/settings | Ver y editar la configuración de Bob Shell | |
/mcp | Gestionar los servidores MCP configurados | |
/manage-secrets | Gestionar los secretos usados en las configuraciones de servidores MCP | |
/skills | Insertar una referencia a un skill en el prompt | |
/init | Inicializar Bob en el workspace actual | |
/status | /info | Ver el estado de la sesión, uso e información de versión |
/team | Seleccionar un equipo | |
/logs | Abrir el archivo de log más reciente con el visor del sistema | |
/docs | Abrir la documentación de Bob Shell en el navegador | |
/bug | Enviar un reporte de error | |
/exit | /quit, /close | Salir del CLI |
Subcomandos de /manage-secrets
Los secretos te permiten almacenar valores sensibles (como API keys) y referenciarlos en las configuraciones de servidores MCP sin codificarlos directamente.
| Subcomando | Uso | Descripción |
|---|---|---|
set | /manage-secrets set KEY VALUE | Almacenar un valor secreto |
list | /manage-secrets list | Listar todas las claves secretas almacenadas |
rm | /manage-secrets rm KEY | Eliminar un secreto almacenado |
Los secretos se almacenan cifrados en ~/.bob/settings/ y se pueden referenciar en las configuraciones de servidores MCP usando la sintaxis ${KEY}.
¿Por qué usar slash commands?
Los slash commands proporcionan varios beneficios clave:
- Automatización de flujos de trabajo: Convierte procesos complejos de múltiples pasos en comandos únicos
- Estandarización del equipo: Comparte comandos con tu equipo para prácticas consistentes
- Preservación del contexto: Incluye contexto específico del proyecto en cada comando
- Acceso rápido: Búsqueda difusa y autocompletado para descubrir comandos al instante
Cómo funcionan los slash commands
Cuando escribes / en Bob Shell, aparece un menú con todos los comandos disponibles. Estos comandos provienen de dos fuentes:
| Tipo de comando | Fuente | Propósito |
|---|---|---|
| Comandos de flujo de trabajo personalizados | .bob/commands/ o ~/.bob/commands/ | Automatización creada por el usuario para tareas específicas |
| Comandos de modo | Modos integrados y personalizados | Cambiar el contexto operativo de Bob |
Crear comandos personalizados
Los comandos personalizados amplían la funcionalidad de Bob agregando archivos markdown en directorios específicos:
| Ubicación | Alcance | Ruta |
|---|---|---|
| Específico del proyecto | Disponible solo en el proyecto actual | .bob/commands/ en la raíz de tu workspace |
| Global | Disponible en todos los proyectos | ~/.bob/commands/ en tu directorio home |
El nombre del archivo se convierte en el nombre del comando. Por ejemplo:
.bob/commands/
├── review.md → /review
├── test-api.md → /test-api
└── deploy-check.md → /deploy-checkProcesamiento del nombre del comando
Al crear comandos a través de la UI, Bob Shell procesa automáticamente los nombres de los comandos:
- Convierte a minúsculas
- Reemplaza los espacios con guiones
- Elimina los caracteres especiales
- Elimina los guiones al inicio y al final
Ejemplo: "My Cool Command!" se convierte en my-cool-command
Formato básico de un comando
Crea un comando simple agregando un archivo markdown:
Help me review this code for security issues and suggest improvements.Comando avanzado con frontmatter
Agrega metadatos usando frontmatter para funcionalidad mejorada:
---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.
Include proper error handling and documentation.Campos del frontmatter
| Campo | Propósito | Ejemplo |
|---|---|---|
description | Aparece en el menú de comandos | "Create a new API endpoint" |
argument-hint | Muestra los argumentos esperados | "<endpoint-name> <http-method>" |
Diálogo de aprobación de herramientas
Cuando Bob Shell solicita usar una herramienta, aparece un diálogo de aprobación. El diálogo ofrece las siguientes opciones:
| Opción | Descripción |
|---|---|
| Approve Once | Permitir que esta llamada específica de herramienta proceda. Se te pedirá nuevamente para llamadas futuras. |
Approve <group> tools for task | Permitir todas las herramientas del mismo grupo de herramientas durante el resto de la tarea. No se muestra para herramientas MCP. |
| Always Allow Command for task | Permitir un comando de shell específico durante el resto de la tarea. |
| Reject | Denegar la llamada de herramienta. Bob Shell no procede con la acción. |
También puedes agregar una nota opcional al aprobar o rechazar una llamada de herramienta. La nota se incluye en el contexto de la conversación para que Bob Shell pueda ajustar su comportamiento.
Para interrumpir una respuesta en streaming antes de que Bob Shell termine, presiona Esc.
Gestión de comandos en Bob Shell
Bob Shell admite los mismos slash commands que Bob IDE. Aunque Bob Shell no proporciona una UI dedicada para gestionar comandos, puedes:
- Crear archivos de comandos manualmente en el directorio
.bob/commands/de tu proyecto o en~/.bob/commands/en tu directorio home - Editar los archivos de comandos existentes con cualquier editor de texto
Usar slash commands
Escribe / en Bob Shell para ver un menú unificado que contiene los siguientes tipos de comandos:
- Menú unificado: Los comandos personalizados y los de cambio de modo aparecen juntos
- Autocompletado: Empieza a escribir para filtrar comandos (por ejemplo,
/sammuestrasample-command-name) - Búsqueda difusa: Encuentra comandos incluso con coincidencias parciales
- Vista previa de descripción: Consulta las descripciones de los comandos en el menú
- Indicadores visuales: Los comandos de modo se distinguen de los comandos personalizados con iconos especiales
/mode code Switch to Code mode
/mode ask Switch to Ask mode
/review Review code for security issues
/api-endpoint <endpoint-name> <http-method>Sugerencias de argumentos
Las sugerencias de argumentos proporcionan ayuda instantánea para los slash commands, mostrándote qué tipo de información debes proporcionar cuando un comando espera entradas adicionales.
Cuando escribes / para abrir el menú de comandos, los comandos que esperan argumentos mostrarán una sugerencia en gris claro junto a ellos. Esta sugerencia te indica qué tipo de argumento espera el comando.
Por ejemplo:
/mode <mode_slug>- La sugerencia<mode_slug>indica que debes proporcionar un nombre de modo comocodeodebug/api-endpoint <endpoint-name> <http-method>- Muestra que necesitas tanto un nombre de endpoint como un método HTTP
Después de seleccionar el comando, se insertará en el campo de chat seguido de un espacio. La sugerencia no se inserta; es solo una guía visual para ayudarte a saber qué escribir a continuación. Debes escribir manualmente el argumento después del comando.
Agregar sugerencias de argumentos a comandos personalizados
Puedes agregar sugerencias de argumentos a tus comandos personalizados usando el campo argument-hint en el frontmatter:
---
description: Create a new API endpoint
argument-hint: <endpoint-name> <http-method>
---
Create a new API endpoint called $1 that handles $2 requests.
Include proper error handling and documentation.Esto se mostrará como /api-endpoint <endpoint-name> <http-method> en el menú de comandos.
Buenas prácticas para las sugerencias de argumentos
- Sé específico: Usa marcadores de posición descriptivos como
<file-path>en lugar de genéricos como<arg> - Muestra múltiples argumentos: Si tu comando necesita varias entradas, muéstralas todas:
<source> <destination> - Usa un formato consistente: Siempre encierra los marcadores de posición entre corchetes angulares:
<placeholder> - Sé conciso: Las sugerencias deben ser breves y claras
Preguntas frecuentes sobre los argumentos
| Pregunta | Respuesta |
|---|---|
| ¿Qué pasa si no proporciono el argumento? | Es posible que el comando no funcione como se esperaba, o que te pida más información. La sugerencia está ahí para ayudarte a hacerlo bien desde el principio. |
| ¿Todos los comandos tienen sugerencias? | No, solo los comandos diseñados para recibir argumentos tendrán sugerencias. Los comandos que funcionan sin entrada adicional no mostrarán sugerencias. |
| ¿Puedo usar un comando sin reemplazar la sugerencia? | El texto de la sugerencia (como <mode_slug>) debe reemplazarse por valores reales. Dejar el texto de la sugerencia probablemente hará que el comando falle o se comporte de manera inesperada. |
Buenas prácticas
Nombres de comandos
- Usa nombres descriptivos y orientados a la acción
- Mantén los nombres concisos pero claros
- Usa guiones para comandos de varias palabras
- Evita nombres genéricos como
helpotest - Nota: Los nombres se convierten automáticamente en slug (minúsculas, caracteres especiales eliminados)
- La extensión
.mdse agrega/elimina automáticamente según sea necesario
Contenido del comando
- Empieza con una directiva clara
- Usa formatos estructurados (listas, secciones)
- Incluye requisitos específicos
- Haz referencia a las convenciones del proyecto
- Mantén los comandos enfocados en una sola tarea
Organización
- Agrupa los comandos relacionados en subdirectorios
- Usa patrones de nombres consistentes
- Documenta los comandos complejos
- Controla las versiones de tus comandos
- Comparte los comandos del equipo en el repositorio del proyecto
Resolución de problemas
Los comandos no aparecen
Si tus comandos no aparecen en el menú:
- Verifica la ubicación del archivo: Asegúrate de que los archivos de comandos personalizados estén en
.bob/commands/o~/.bob/commands/ - Verifica la extensión del archivo: Los comandos personalizados deben ser archivos
.md
Comando no encontrado
Cuando no se encuentra un slash command, el LLM verá:
The slash command '/unknown-command' was not found. Please check the command name and try again.Conflictos de comandos
- Los comandos personalizados del proyecto sobreescriben los comandos personalizados globales con el mismo nombre
- Usa nombres únicos para evitar conflictos
- Al crear nombres duplicados a través de la UI, se agregan números (por ejemplo,
new-command-1,new-command-2)
Acerca de los comandos de modo
El menú slash incluye comandos de cambio de modo (como /mode code, /mode ask) que cambian fundamentalmente el modo operativo de la IA; no solo inyectan texto, sino que cambian todo el contexto de la IA. Los modos personalizados que creas también aparecen como slash commands (por ejemplo, un modo con el slug reviewer se convierte en /reviewer). Estos comandos de modo no pueden ser sobreescritos por comandos de flujo de trabajo personalizados.
Compatibilidad multiplataforma
Los slash commands funcionan de manera idéntica tanto en Bob Shell como en Bob IDE. Esto significa que:
- Los comandos creados en un entorno pueden usarse en el otro
- La misma sintaxis y comportamiento de los comandos se aplica en ambos entornos
- Los comandos compartidos por el equipo funcionan de manera consistente independientemente de la interfaz que usen los miembros del equipo
MCP
Bob Shell admite el Model Context Protocol (MCP), que te permite extender las capacidades de Bob conectándote a servicios y herramientas externos.
Modos
Los modos son personas especializadas que adaptan el comportamiento de Bob a tus tareas específicas. Cada modo ofrece diferentes capacidades y niveles de acceso para ayudarte a alcanzar objetivos concretos de forma más eficiente.