Summon CLI은(는) 무엇을 하나요?
목표
현재 요청을 설정된 외부 Agent CLI에 완전히 전달합니다. 외부 Agent는 Claude Code, Grok CLI, Gemini CLI, Codex CLI 또는 향후 추가될 다른 Agent일 수 있습니다. API, 모델, 포그라운드/백그라운드 프로토콜, 시작 매개변수 및 대상 Skill은 모두 이 Skill 내부의 설정으로 결정되며, 행동 설명에 하드코딩되지 않습니다.
사용자가 $summon-cli를 명시적으로 호출할 때 이 Skill이 사용됩니다. 현재 Codex가 사용자의 짧은 게시물, 기사, 프로젝트 소개 또는 기타 게시 가능한 텍스트 작성을 감지하면 writing 작업 구성을 읽어 위임하는 자동 라우팅도 구성되어 있습니다. 이 자동 라우팅은 로컬 AGENTS.md에 의해 승인되며, 다른 작업은 이 Skill이 존재한다고 해서 자동으로 위임되지 않습니다.
작동 방식
처음 사용하거나 이 Skill을 다른 시스템에 복사한 후, 이 Skill 디렉터리에서 로컬 검색을 한 번 실행하세요:
& '<이 Skill 디렉터리>\scripts\summon.ps1' setup
macOS, Linux 또는 WSL:
sh '<이 Skill 디렉터리>/scripts/summon.sh' setup
setup은 현재 시스템의 Python, Agent CLI, Skill 및 그래픽 터미널만 검색하여 절대 경로를 이 Skill 내 Git에서 무시되는 config/config.local.json에 기록합니다. 소프트웨어를 설치하거나, 키를 이동하거나, 공용 구성을 수정하지 않습니다. 그런 다음 show와 doctor를 실행하여 결과를 확인하세요.
사용자가 지정한 작업, 프로필 및 Skill에 따라 구성을 선택합니다. 사용자가 지정하지 않은 경우 작업 설명에 따라 이미 구성된 경로를 선택합니다. 작업은 Skill을 사용하지 않거나 하나의 Skill만 사용할 수 있으며, 한 번의 호출로 외부 Agent에 여러 Skill을 전달할 수 없습니다. 작업이 Skill을 요구하지만 사용자와 기본 구성 모두 선택하지 않은 경우, 사용자에게 이번에 사용할 Skill을 묻습니다. 추측하거나 후보를 동시에 호출하지 않습니다.
Codex 웹 보충
작업 구성에서 codex_web이 supplement로 설정된 경우, 현재 Codex가 호출 전에 공개 자료를 발견합니다. 먼저 기존 요청, 사용자 자료 및 로컬 객체를 완전히 읽어 현재 작업을 완료하는 데 공개 자료가 부족한지 판단합니다. 기존 내용으로 충분하면 바로 전달하고, 실제로 부족한 경우에만 인터넷에 연결합니다. 웹 페이지의 관련 원문이나 필요한 컨텍스트를 출처 링크와 함께 전달하며, 자료의 정체성을 유지하고 Codex가 추출한 중심 문장, 권장 관점, 내러티브 설명 또는 사전 작성 내용을 추가하지 않습니다.
Codex가 기존 내용 또는 이번 보충으로 충분하다고 판단하면 공개 자료 발견은 종료됩니다. 외부 Agent는 다시 검색하지 않으며, 이번 라운드 사용자 요청에 따라 대상 Skill의 현재 단계를 실행합니다. 사용자가 먼저 개요를 제공한 후 확인 후 본문 작성을 요청한 경우, 이번 라운드는 개요 단계만 실행하고 사례, 후크, 본문, 검사 또는 수정을 미리 준비하지 않습니다. 현재 단계를 완료하는 데 여전히 필요한 공개 자료가 부족한 경우에만 누락된 특정 자료를 외부 Agent에 넘겨 계속 찾도록 합니다. 웹 연결은 자료 보충에만 사용되며, 사용자 내용을 항목별로 확인하거나 사실 확인 보고서를 생성하지 않습니다.
사용자가 인터넷 연결을 명시적으로 금지하거나 기존 자료만 사용하도록 요청한 경우 웹 보충을 건너<뜁니다. 다른 작업은 자체 구성에서 명시적으로 활성화된 경우에만 Codex가 공개 자료 발견을 처리합니다.
외부 Agent에 전달
외부 Agent에 전달되는 것은 현재 해당 Agent가 실행해야 하는 사용자의 원래 말과 실제 자료이며, 전체 오류 수정 기록이 아닙니다. 이후 사용자 메시지가 이전 방향을 수정한 경우, 이미 무효화된 요청, 관점 및 어시스턴트 결과물은 제거됩니다. 나머지 사용자 원래 말, 출처 본문, 순서 및 출처 정체성은 변경되지 않습니다. 현재 의도가 여러 메시지에 분산되어 있는 경우, 여전히 유효하고 외부 Agent가 실행해야 하는 사용자의 원래 문장만 선택하며, Codex가 브리핑, 요약, 중심 문장 또는 내러티브 프레임워크로 다시 작성하지 않습니다.
호출 입력에는 다음만 포함됩니다:
- 현재 외부 Agent가 실행해야 하는 사용자의 원래 말 및 출처 자료
- 이번에 실제로 사용된 Codex 웹 보충 자료 및 링크
- 필요한 실행 인수인계
작성 또는 콘텐츠 위임의 경우, 자료가 현재 Codex가 액세스할 수 있는 작업 기록, 로컬 파일 또는 프로젝트에 있는 경우, 현재 Codex가 호출 전에 실제 필요한 내용을 읽고 채택된 원문을 인수인계와 함께 전송합니다. "이 기록을 읽어", "이 파일을 열어", "이 프로젝트를 확인한 후 자료를 가져와" 등 이미 현재 Codex가 완료한 자료 수집 지시는 외부 Agent의 할 일로 반복 전달되지 않습니다. 실제 자료로 이러한 지시를 대체하는 것은 사용자의 창작 요청을 다시 작성하는 것이 아닙니다. 외부 Agent가 Summon CLI의 README, SKILL.md, 구성 설명, 공용 구성, 테스트 또는 Git 기록을 읽도록 하지 말고, "프로젝트를 탐색한 후 자료를 찾아"를 인수인계에 작성하지 마십시오. 사용자가 이번 라운드에서 외부 Agent가 특정 프로젝트를 검토하거나 수정하도록 명시적으로 요청한 경우에만 해당 프로젝트 내 작업과 직접 관련된 파일을 확인하도록 허용됩니다.
실행 인수인계는 공개 자료 발견을 어느 레이어가 계속 처리할지만 설명하며, 자료가 문서 작성 준비를 완료했음을 선언하지 않습니다. 이는 외부 Agent가 웹 도구 호출을 계속할지 결정하는 용도로만 사용되며, 대상 Skill의 작업 자료, 작성 준비 결과 또는 최종 결과물에 포함되지 않습니다. Codex의 분석 과정, 실패한 초안, 오류 수정 과정, 내부 경로 판단, 유지 관리 설명, 사실 확인, 개요 및 사전 작성된 본문은 현재 작업에 남습니다.
완전한 입력이 표준 입력을 통해 런처로 전달됩니다:
$input | & '<이 Skill 디렉터리>\scripts\summon.ps1' run --task writing --skill content-writing --cwd '<현재 작업 디렉터리>'
macOS, Linux 또는 WSL은 해당 summon.sh를 사용합니다. --cwd는 외부 Agent가 실제로 열 프로젝트 디렉터리입니다. 전달하지 않으면 Summon CLI를 호출한 현재 디렉터리가 사용되므로 특정 개발자 시스템의 폴더에 고정되지 않습니다.
summon.py는 로컬 구성에서 고유한 프로필을 구문 분석하고, 해당 API 환경을 로드하며, 외부 Agent에 고유한 대상 Skill 이름과 SKILL.md 절대 경로를 명시적으로 전달한 후, 해당 CLI에 대해 현재 모드로 구성된 프로토콜을 사용하여 프로세스를 시작합니다. 입력을 해석, 요약 또는 다시 작성하지 않습니다.
기본 실행 모드는 visible입니다. claude-code 실행기는 Windows Terminal, macOS Terminal.app 또는 Linux에서 검색된 그래픽 터미널에서 실제 Claude Code 대화형 인터페이스를 시작하며, -p를 사용하지 않고 Auto 권한 모드로 시작합니다. 첫 번째 라운드 완료 시 세션 수준 Stop Hook을 통해 Claude의 전체 응답을 현재 Codex 작업으로 반환하며, Claude 창은 입력 상자에 계속 남아 사용자가 직접 추가 질문을 하거나 직접 닫을 수 있습니다. 사용자가 이번 라운드에서 요청한 완전한 결과물은 외부 Agent의 마지막 응답에 포함되어야 합니다. 사용자가 명시적으로 단계별 확인을 요청한 경우 현재 단계만 전달하고 후속 단계를 미리 실행하지 않습니다. 외부 Agent가 전체 결과 후에 매우 짧은 완료 요약을 추가로 보낸 경우, Stop Hook은 이번 라운드 세션 기록에서 이전 전체 결과를 복원합니다. 시작 전에 Claude Code의 기존 사용자 설정을 그대로 사용하며, 첫 번째 초기화와 현재 작업 디렉터리 신뢰 상태를 준비하므로 스타일, 안전 설명 또는 디렉터리 확인 페이지에서 멈추지 않습니다. 그래픽 데스크탑이 없는 시스템은 가시 모드를 사용할 수 없다고 명확히 보고하며, 임의로 백그라운드로 변경하지 않습니다. 구성의 작업 또는 프로필은 run_mode를 background로 설정할 수 있으며, 이 경우 -p를 사용하여 백그라운드에서 실행하고 결과를 캡처합니다. 명시적 호출 시 --run-mode로 일시적으로 재정의할 수도 있습니다. 해석 순서는 이번 명령, 작업 구성, 프로필 구성, 전역 기본값입니다.
명시적 호출 시 --profile로 작업 기본 프로필을 우회하거나, --skill로 작업의 기본 Skill을 재정의할 수 있습니다. 재정의는 이번 호출에만 적용되며 장기 구성을 수정하지 않습니다.
외부 CLI가 성공 결과를 반환하면 해당 결과를 완전히 전달합니다. 호출 실패 시 실제 종료 코드, 표준 출력 및 오류 출력을 반환합니다. Agent, API 또는 Skill을 교체하지 않으며, Codex가 대체 결과를 생성하지 않습니다.
리소스
scripts/summon.py: 플랫폼 간 핵심 프로그램으로, 구성을 읽고 작업과 고유한 Skill을 구문 분석하며 프로필 환경을 로드하고 외부 Agent CLI를 시작합니다.scripts/summon.ps1,scripts/summon.sh: 각각 Windows와 macOS/Linux/WSL용 이식 가능한 진입점입니다.config/config.json: Skill과 함께 마이그레이션할 수 있는 공용 실행 프로토콜, 프로필, 작업 및 Skill 이름입니다. 로컬 절대 경로는 저장하지 않습니다.config/config.local.json:setup이 생성한 로컬 CLI, Skill 및 터미널 경로입니다. 파일은 이 Skill 내에 있으며.gitignore에 의해 제외됩니다.config/profiles/*.env: 해당 프로필의 API 환경입니다. 파일은 다른 구성과 함께 이 Skill 내에 배치되며.gitignore에 의해 제외됩니다.references/configuration.md: 구성 및 새 실행기, 프로필, 작업, Skill 추가 방법을 설명합니다.
출력 및 완료
기본적으로 별도 창에 외부 Agent의 실제 대화형 인터페이스 또는 실시간 실행 과정을 표시하고, 전체 본문 또는 결과를 현재 작업으로 반환합니다. Codex 버전을 추가로 추가하지 않습니다. 결과 반환은 사용자가 창을 닫을 때까지 기다리지 않습니다. 기본 대화형 창은 첫 번째 라운드 완료 후에도 계속 유지되어 사용자가 확인하고 추가 질문할 수 있습니다. 외부 Agent가 사용자 요청에 따라 파일을 생성하면 파일은 사용자가 명시적으로 지정한 대상 프로젝트에 속합니다. 가시 모드에서 첫 번째 라운드 인수인계에 사용된 임시 파일은 결과 반환 후 즉시 정리되며, 런처는 프롬프트, 본문 또는 실행 로그를 별도로 저장하지 않습니다. Claude Code 자체는 여전히 정상 메커니즘에 따라 복구 가능한 대화형 세션을 저장합니다.
외부 Agent가 실제로 성공 결과를 반환한 경우에만 위임이 완료된 것으로 간주됩니다. 구성이 구문 분석 가능하고, 실행 파일이 존재하며, 명령을 시작할 수 있는 것은 각각 해당 수준을 증명할 뿐입니다. API 키, 대상 Skill 또는 호환되는 비대화형 프로토콜이 없는 경우 누락된 항목을 정확히 설명하고 중지합니다.