¿Qué hace Summon CLI?
Objetivo
Entregar la solicitud actual completa a una CLI de agente externo configurada. El agente externo puede ser Claude Code, Grok CLI, Gemini CLI, Codex CLI u otros agentes que se añadan en el futuro; la API, el modelo, el protocolo de frontend o backend, los argumentos de inicio y el Skill de destino se determinan mediante la configuración dentro de este Skill y no están escritos de forma fija en las instrucciones de comportamiento.
El usuario invoca explícitamente $summon-cli para usar este Skill. Actualmente también hay una ruta automática de escritura configurada: cuando Codex identifica que el usuario desea crear un post corto, un artículo, una presentación de proyecto u otro texto publicable, lee la configuración de la tarea writing y la delega; esta ruta automática está autorizada por el archivo AGENTS.md local, y otras tareas no se delegan automáticamente por la existencia de este Skill.
Modo de funcionamiento
Después de usar por primera vez o copiar este Skill a otra máquina, ejecute primero el descubrimiento local en el directorio del Skill:
& '<directorio de este Skill>\scripts\summon.ps1' setup
En macOS, Linux o WSL use:
sh '<directorio de este Skill>/scripts/summon.sh' setup
setup solo descubre Python, las CLI de agente, los Skills y la terminal gráfica en el sistema actual, y escribe las rutas absolutas en config/config.local.json, que está ignorado por Git dentro de este Skill; no instala software, mueve claves ni modifica la configuración pública. Luego ejecute show y doctor para verificar los resultados.
Selecciona la configuración según la tarea, el perfil y el Skill señalados por el usuario; cuando el usuario no los señala, selecciona la ruta ya configurada según la descripción de la tarea. Una tarea puede no usar ningún Skill, o usar un solo Skill; no se pueden pasar múltiples Skills al agente externo en una sola invocación. Si la tarea requiere un Skill pero ni el usuario ni la configuración predeterminada lo han seleccionado, primero pregunta al usuario cuál usar para esta ocasión, sin adivinar ni invocar candidatos simultáneamente.
Complemento web de Codex
Cuando el codex_web de la configuración de la tarea es supplement, el Codex actual se encarga del descubrimiento de materiales públicos antes de la invocación. Primero lee completamente la solicitud existente, los materiales del usuario y los objetos locales, y determina si aún faltan materiales públicos para completar la tarea actual; si el contenido existente es suficiente, pasa directamente a la entrega; solo cuando hay una carencia real, se conecta a la web. Se toman los textos originales relevantes o el contexto necesario de las páginas web, junto con los enlaces de origen, para incluirlos en la entrega, manteniendo su identidad como materiales, sin añadir frases resumidas, ángulos recomendados, narrativas explicativas o contenido preescrito por Codex.
Cuando Codex determina que el contenido existente o el complemento actual ya es suficiente, el descubrimiento de materiales públicos finaliza; el agente externo no repite la búsqueda y ejecuta la fase actual del Skill objetivo según la solicitud del usuario en esta ronda. Si el usuario solicita primero entregar un esquema y luego confirmar antes de escribir el cuerpo, esta ronda solo ejecuta la fase de esquema, sin preparar ejemplos, ganchos, cuerpo, revisión o correcciones por adelantado. Solo cuando aún faltan materiales públicos necesarios para completar la fase actual, se le pide al agente externo que busque los materiales específicos faltantes. La conexión web se usa únicamente para complementar materiales, no para verificar elemento por elemento el contenido del usuario ni para generar informes de verificación de hechos.
Si el usuario prohíbe explícitamente la conexión web o solicita usar solo los materiales existentes, se omite el complemento web. Otras tareas solo activan el descubrimiento de materiales públicos por parte de Codex cuando su propia configuración lo habilita explícitamente.
Entrega al agente externo
Lo que se entrega al agente externo son las palabras originales del usuario y los materiales reales que aún necesita ejecutar, no todo el historial de correcciones. Cuando un mensaje posterior del usuario corrige la dirección anterior, se eliminan directamente las instrucciones, ángulos y productos del asistente que ya no son válidos; el resto de las palabras originales del usuario, el texto de las fuentes, el orden y la identidad de las fuentes permanecen sin cambios. Cuando la intención actual se distribuye en múltiples mensajes, solo se seleccionan las oraciones originales del usuario que siguen siendo válidas y que aún necesita ejecutar el agente externo, sin que Codex las reescriba como un resumen, un resumen ejecutivo, una frase central o un marco narrativo.
La entrada de la invocación solo incluye:
- Las palabras originales del usuario y los materiales de origen que aún necesita ejecutar el agente externo;
- Los materiales complementarios de la web realmente utilizados por Codex y sus enlaces;
- El traspaso de ejecución necesario.
Para tareas de escritura o delegación de contenido, cuando los materiales se encuentran en el historial de tareas accesible de Codex, archivos locales o proyectos, Codex lee el contenido real necesario antes de la invocación y envía el texto original adoptado junto con el traspaso. Instrucciones como "lee este historial", "abre estos archivos", "revisa este proyecto y obtén material" que ya han sido ejecutadas por Codex no se repiten como tareas pendientes para el agente externo; reemplazar estas instrucciones con materiales reales no constituye una reescritura de las instrucciones creativas del usuario. No permita que el agente externo lea el README de Summon CLI, SKILL.md, instrucciones de configuración, configuración pública, pruebas o historial de Git, ni escriba "explora el proyecto por tu cuenta y busca materiales" en el traspaso. Solo cuando el usuario solicita explícitamente en esta ronda que el agente externo revise o modifique un proyecto, se permite que verifique los archivos directamente relacionados con la tarea dentro de ese proyecto.
El traspaso de ejecución solo indica qué capa continúa manejando el descubrimiento de materiales públicos, no declara que la preparación de materiales para el texto esté completa. Es solo para que el agente externo decida si continúa usando herramientas de conexión web, y no entra en los materiales de trabajo, resultados de preparación de escritura o productos finales del Skill objetivo. El proceso de análisis de Codex, borradores fallidos, proceso de corrección, juicios de ruta internos, instrucciones de mantenimiento, verificación de hechos, esquemas y texto preescrito permanecen en la tarea actual.
La entrada completa se pasa al lanzador a través de la entrada estándar:
$input | & '<directorio de este Skill>\scripts\summon.ps1' run --task writing --skill content-writing --cwd '<directorio de la tarea actual>'
En macOS, Linux o WSL use el correspondiente summon.sh. --cwd es el directorio del proyecto que realmente abre el agente externo; si no se pasa, se usa el directorio actual desde el que se invoca Summon CLI, por lo que no apunta fijamente a una carpeta en la máquina de un desarrollador.
summon.py analiza el perfil único de la configuración local, carga el entorno API correspondiente, pasa explícitamente al agente externo el nombre del Skill objetivo único y la ruta absoluta de SKILL.md, y luego inicia el proceso usando el protocolo configurado para el modo actual. No interpreta, resume ni reescribe la entrada.
El modo de ejecución predeterminado es visible. El ejecutor claude-code inicia la interfaz interactiva real de Claude Code en Windows Terminal, Terminal.app de macOS o la terminal gráfica descubierta en Linux, sin usar -p, y comienza en modo de permisos Auto; cuando se completa la primera ronda, a través de un Stop Hook a nivel de sesión, la respuesta completa de Claude se devuelve a la tarea actual de Codex, y la ventana de Claude permanece en el cuadro de entrada, donde el usuario puede preguntar directamente o cerrarla manualmente. La entrega completa solicitada por el usuario en esta ronda debe colocarse en la última respuesta del agente externo; cuando el usuario solicita explícitamente una confirmación por fases, solo se entrega la fase actual, sin ejecutar fases posteriores por adelantado. Si el agente externo envía un breve resumen de finalización después del resultado completo, el Stop Hook recupera el resultado completo anterior del registro de la sesión actual. Antes de iniciar, se reutiliza la configuración de usuario existente de Claude Code y se prepara el estado de confianza del directorio de trabajo actual y la inicialización, por lo que no se detiene en páginas de estilo, instrucciones de seguridad o confirmación de directorio. En máquinas sin escritorio gráfico, se informa claramente que el modo visible no está disponible y no se cambia al modo fondo. Las tareas o perfiles en la configuración pueden establecer run_mode en background, en cuyo caso se usa -p en segundo plano para capturar el resultado. En invocaciones explícitas, también se puede usar --run-mode para anular temporalmente. El orden de resolución es: comando actual, configuración de tarea, configuración de perfil, valor predeterminado global.
En invocaciones explícitas, se puede usar --profile para omitir el perfil predeterminado de la tarea, y --skill para anular el Skill predeterminado de la tarea. La anulación solo afecta a esta invocación, no modifica la configuración a largo plazo.
Cuando la CLI externa devuelve un resultado exitoso, se entrega ese resultado completo. Cuando la invocación falla, se devuelve el código de salida real, la salida estándar y la salida de error; no se cambia de agente, API o Skill, ni Codex genera un resultado alternativo.
Recursos
scripts/summon.py: Programa central multiplataforma que lee la configuración, analiza la tarea y el Skill único, carga el entorno del perfil e inicia la CLI del agente externo.scripts/summon.ps1,scripts/summon.sh: Puntos de entrada portátiles para Windows y macOS/Linux/WSL respectivamente.config/config.json: Protocolos de ejecución públicos, perfiles, tareas y nombres de Skill que se pueden migrar con el Skill; no guarda rutas absolutas locales.config/config.local.json: Rutas locales de CLI, Skill y terminal generadas porsetup; el archivo está dentro de este Skill y excluido por.gitignore.config/profiles/*.env: Entorno API correspondiente al perfil; los archivos se colocan junto con la otra configuración dentro de este Skill y están excluidos por.gitignore.references/configuration.md: Explica cómo configurar y añadir ejecutores, perfiles, tareas y Skills.
Salida y finalización
De forma predeterminada, muestra la interfaz de interacción real o el proceso de ejecución en tiempo real del agente externo en una ventana independiente, y devuelve el texto completo o resultado a la tarea actual, sin añadir una versión de Codex. La devolución del resultado no espera a que el usuario cierre la ventana; la ventana de interacción nativa permanece después de la primera ronda para que el usuario la revise y pregunte. Cuando el agente externo genera archivos según la solicitud del usuario, los archivos pertenecen al proyecto de destino especificado explícitamente por el usuario; los archivos temporales utilizados en el modo visible para la primera ronda de entrega se eliminan inmediatamente después de devolver el resultado, y el lanzador no guarda el prompt, el texto ni los registros de ejecución. Claude Code conserva las sesiones de interacción recuperables según su mecanismo normal.
Solo si el agente externo devuelve realmente un resultado exitoso, se considera que la delegación está completa. La capacidad de analizar la configuración, la existencia del archivo ejecutable y la capacidad de iniciar el comando prueban respectivamente los niveles correspondientes; cuando faltan claves API, el Skill objetivo o un protocolo no interactivo compatible, se indica con precisión el elemento faltante y se detiene.