Jebi agent
JEBI AGENT: clean handoff Skill for successor Codex chats
npx -y skills add kyutomatte/jebi_agent --skill jebi-agentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 23 days oldThe repository was created 23 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Create a clean successor Codex chat for the current project by generating a concise handoff file and using Codex App Server thread/start. Use when the user invokes $jebi, $jebi-agent, JEBI AGENT, 제비, or asks in Korean to move/hand off/continue the current Codex work in a new chat: 제비로 옮겨주세요, 제비로 이사갈게요, 제비한테 넘겨줘, 제비로 인수인계해줘, 제비 출발, 새 채팅으로 제비 보내줘, JEBI로 새 채팅 만들어줘. Do not use for ordinary questions about swallows, images, filenames/code containing jebi, requests to explain JEBI AGENT, or when the user says not to move yet.
SKILL.md
8.3 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it
JEBI AGENT
JEBI AGENT (제비) moves the current project work into a clean new Codex thread. It is not a fork. Use Codex App Server thread/start, then pass only the generated handoff file path to the successor thread.
Invocation
Treat these as explicit calls:
$jebi$jebi-agent제비로 옮겨주세요제비로 이사갈게요제비한테 넘겨줘제비로 인수인계해줘제비 출발JEBI로 새 채팅 만들어줘
If 제비 or JEBI appears with a clear chat move, handoff, transfer, new-thread, or continuation intent, run the skill. If intent is unclear, ask exactly once:
JEBI AGENT로 현재 작업을 새 채팅에 인수인계할까요?
Do not run when the user asks about the animal, asks for a photo, discusses a file/code name, asks what JEBI AGENT is, changes trigger phrases, or says not to move yet.
Output Style
Only while this skill is actively running, start with one line selected from:
알겠습니다 제비! ⊹⋛⋋( ՞ਊ ՞)⋌⋚⊹알겠습니다 제비! ୯ૃ(⁎⁾̵ ਊ ⁽̵)੭ુ⁼³₌₃알겠습니다! 제비가 인수인계를 물고 갑니다 제비! 🐦
Every user-visible progress or status line during a JEBI run must include 제비!. Use exactly one JEBI emoticon at the end of any user-visible JEBI status line. Keep 제비! in the sentence body if needed, but do not place a JEBI emoticon in the middle of a line or repeat emoticons in the same line. Do not write generic lines such as handoff 파일이 생성됐습니다.; write handoff 파일이 생성됐습니다 제비! ⊹⋛⋋(◐⊝◑)⋌⋚⊹. If handoff creation hits sandbox permission while creating .codex/, write handoff 파일 생성이 .codex/ 디렉터리 생성 권한에서 막혔습니다 제비! 승인 권한으로 같은 스크립트를 다시 실행합니다 제비! ⊹⋛⋋(◐⊝◑)⋌⋚⊹. Do not print step-by-step progress unless the run is long. If needed, use one short transient-style status line. Never use AppleScript, screen-coordinate UI automation, internal database edits, or undocumented UI APIs.
JEBI emoticon pool:
⊹⋛⋋( ՞ਊ ՞)⋌⋚⊹୯ૃ(⁎⁾̵ ਊ ⁽̵)੭ુ⁼³₌₃⊹⋛⋋(◐⊝◑)⋌⋚⊹˂⁽ˈ₍ ⁾˲₎₌₍₍ ᕕ( ՞ਊ ՞ )ᕗ⁾⁾⋛⋋( ‘Θ’ )⋌⋚🐦
Successor Thread Naming
Name the new chat from the existing/source chat title, not from JEBI branding. Use the current task title, not the project name, repository name, folder name, or list_projects label. The first successor is 기존제목 #02, then 기존제목 #03, 기존제목 #04, and so on. Strip an existing trailing #NN before incrementing. For example, UI UX must become UI UX #02, not kyutodaze.com #02. If the current task title cannot be read confidently, ask the user for the current task title instead of falling back to the project name. Do not use JEBI 001 — project — branch for new chat titles unless no source title can be inferred and the user explicitly asks for that legacy format.
On success, print:
모두 옮겨놨습니다 제비! ⊹⋛⋋(◐⊝◑)⋌⋚⊹
- Chat: `기존제목 #02`
- Handoff: `.codex/handoffs/004-handoff.md`
- Branch: `feature/hero` · Dirty
- Opened: Not supported
저는 물러가보겠습니다 제비! ˂⁽ˈ₍ ⁾˲₎₌
Use the real chat name, handoff path, branch, dirty/clean state, and open status.
Default Flow
- Run
python3 <skill>/scripts/create_handoff.py --cwd "$PWD"to create.codex/handoffs/NNN-handoff.mdand.codex/handoffs/latest.md. - Inspect the printed handoff path and the generated metadata.
- Infer the visible current task title when available and pass it as
--source-title; do not use the project label as the source title. - In Codex Desktop, use Codex Desktop thread tools when available: call
list_projects, thencreate_threadwith the same project and local environment, then immediately callset_thread_titleto기존제목 #NN. Polllist_threadsandread_threadbriefly, such as 3-6 short attempts, until the thread title/cwd and initial prompt are visible. - If Codex Desktop thread tools are unavailable, run
python3 <skill>/scripts/create_successor_thread.py --cwd "$PWD" --handoff ABS_HANDOFF --number N --project-name PROJECT --branch BRANCH --source-title SOURCE_TITLEas the App Server fallback. - Do not report success until the successor appears in thread listing, has the intended cwd/title, and its initial prompt or first turn is visible through
read_threador equivalent official API. Do not wait for the successor agent's full first response before reporting that the chat exists; if the assistant response is still running, reportOpened: YeswithFirst response: Running. - Report success or failure concisely.
The successor message must start the next agent with 모두 옮겨놨습니다 제비! ⊹⋛⋋(◐⊝◑)⋌⋚⊹ and 저는 물러가보겠습니다 제비! ˂⁽ˈ₍ ⁾˲₎₌, then instruct it to read applicable AGENTS.md, read the handoff file, verify branch/working tree/changed files, avoid modifications and destructive Git commands, state missing context clearly, and wait for the user.
JEBI Handoff Artifacts
Treat .codex/handoffs/NNN-handoff.md, .codex/handoffs/latest.md, local .codex/handoffs/state.json, and a .gitignore line for .codex/handoffs/state.json as expected JEBI-generated handoff artifacts. Report them separately from user-authored project changes. If these are the only changed files, do not present the project as unexpectedly dirty or imply the user's work changed.
The successor message must tell the next agent to separate JEBI-generated handoff artifacts from real project changes when checking dirty/clean state.
In the current chat success message, do not write only Dirty when the dirty state is caused solely by JEBI artifacts. Use Clean except JEBI handoff artifacts. If there are both project changes and JEBI artifacts, write Dirty: project changes + JEBI handoff artifacts.
Before pull/push, tell the user to choose one explicit handling path for JEBI artifacts: commit .codex/handoffs/*.md and .codex/handoffs/latest.md to keep handoff history, leave them uncommitted as local notes, stash them for a temporary clean tree, or remove the handoff markdown files only after the successor thread is verified and with user approval. Keep .codex/handoffs/state.json ignored.
Commands
$jebi: create handoff, start a clean successor thread, name it, send the first turn.$jebi preview: runcreate_handoff.py --dry-run; do not write files or create a thread.$jebi status: inspect.codex/handoffs/state.json,latest.md, current branch, and pending failure step.$jebi retry: reuse the pending handoff and continue from the failed stage without creating duplicate numbers or duplicate threads.$jebi finalize: verify completion state and propose aCHANGELOG.mdupdate; do not edit it without user approval.
Safety Rules
- Prefer actual repository state over conversation memory when they differ.
- Never copy full chat history into the new thread.
- Never copy full diffs, full logs,
.envcontents, cookies, API keys, tokens, authorization headers, or credentials into a handoff. - Use
[REDACTED]for suspected secrets. - If Git is unavailable, write
UnavailableorN/Aand continue. - Use
.codex/handoffs/state.jsonfor retry state, and keep it ignored by Git. - Do not mark a handoff number successful until the successor thread, name, and first turn succeed.
References
Use references/handoff-template.md for required sections if editing the renderer.
What ships with it: 14 files
37.3 KB alongside SKILL.md, 11 of them executable
agents/
- openai.yaml238 B
references/
- handoff-template.md757 B
scripts/
- app_server_client.pyruns3.8 KB
- create_handoff.pyruns13.8 KB
- create_successor_thread.pyruns6.7 KB
- redact_secrets.pyruns752 B
- state_manager.pyruns3.6 KB
tests/
- test_app_server_client.pyruns1.4 KB
- test_handoff_generation.pyruns879 B
- test_intent.pyruns533 B
- test_numbering.pyruns556 B
- test_redaction.pyruns567 B
- test_state_manager.pyruns697 B
- README.md3.2 KB