Skip to main content

message-local-codex

Find and message an existing local Codex session by session ID or name, or by its Superset workspace name, worktree slug, path, or Git branch. Use for cross-session handoffs and follow-ups, not for launching agents or coordinating a new team.

معلومات المصدر

المستودع
jokull/jokull-skills
آخر نشاط في المصدر
٨ سبتمبر ٢٠٢٦ في ١١:٣٩
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
message-local-codex
description
Find and message an existing local Codex session by session ID or name, or by its Superset workspace name, worktree slug, path, or Git branch. Use for cross-session handoffs and follow-ups, not for launching agents or coordinating a new team.
# Message local Codex Use the installed Codex and Superset commands. No helper CLI is needed. Discovery is read-only. Send only when the user has requested delivery; a question about capabilities or a request to draft text does not authorize it. An explicit send request needs no second confirmation once the recipient is clear. ## Resolve the recipient If the user supplies a Codex session UUID or exact session name, use `codex queue --help` to confirm support and target it directly. Do not treat a worktree slug, branch, or Superset terminal ID as a Codex session ID. For a workspace, branch, or worktree target, use Superset: ```bash superset workspaces list --local --search '<name-or-branch>' --json superset workspaces get '<workspace-id>' --json superset terminals list --workspace '<workspace-id>' --json superset terminals read --workspace '<workspace-id>' --terminal '<terminal-id>' --max-lines 120 --json ``` Search matches workspace names and branches by substring. Compare returned names, branches, and `worktreePath` with the requested target. For a full path or directory slug, compare the workspace path or its basename; list local workspaces without `--search` if needed. Use `--project` to disambiguate repos. Pass the resolved workspace ID explicitly to terminal commands. The sender's `SUPERSET_WORKSPACE_ID` is not the recipient's ID. Read candidate terminal screens to confirm which one contains the intended Codex conversation. A live terminal or its title does not establish agent identity, readiness, or completion. If several conversations match, ask one short question with the candidate IDs and identifying context. Do not choose the newest session merely because it is newest. If Superset reports `Not logged in`, report that discovery is blocked and give `superset auth login` as the next step. Do not update the installation, switch accounts, or bypass authentication as part of messaging. ## Deliver once Prefer Codex queuing when a Codex UUID or exact session name is supplied or verified from the target session: ```bash codex queue --thread '<codex-session-uuid-or-exact-name>' --message '<message>' ``` `codex agents` is an interactive browser for sessions on the shared local app-server daemon. It is not a documented JSON workspace resolver. Do not invent flags or infer a thread mapping from a shared directory alone. When the target is a verified Codex terminal in Superset and no Codex thread ID is available, send through the existing terminal: ```bash superset terminals send --workspace '<workspace-id>' --terminal '<terminal-id>' --text '<message>' --json ``` This writes terminal input and presses Enter. Use it only when the screen shows the intended Codex session can accept prompt input, not a shell, approval prompt, or unrelated program. `--no-submit` stages text only; use it when the user asks to stage input. Do not use `codex resume` to start a second runner for a live conversation. Preserve the user's message and quote shell arguments safely. For a handoff the user asks you to compose, include the source workspace/branch and the specific action or result needed. Do not expand the recipient's assignment. Send through one transport only. If delivery times out or has an uncertain result, inspect state before retrying to avoid duplicate messages. Report the resolved workspace/session, transport, and observed result. Distinguish queued, terminal input submitted, and reply received. A successful send does not prove the recipient read or completed the request. Read replies only when requested or needed for the authorized handoff; do not start an ongoing monitoring loop for a one-time message. ## Return address and bounded replies When the user requests an answer or an exchange between sessions, include a return address and a finite message budget. A one-way notice needs no reply. Resolve the sender's Codex thread ID or Superset workspace and terminal IDs with the same care as the recipient. Never guess a return address from the current worktree. If no return address can be verified, report that limitation. Append a compact envelope to a composed handoff (keep quoted user text intact): ```text AGENT_EXCHANGE request_id: <fresh UUID, retained for this exchange> kind: request reply_to: codex thread <verified sender UUID> messages_left: 1 scope: <user-authorized question or task> Reply once with the result or blocker using: codex queue --thread '<verified sender UUID>' --message '<reply and envelope>' Keep request_id, set kind to result or blocked, set messages_left to 0, and omit reply_to. Do not send an acknowledgement or request another reply. ``` For Superset delivery, replace `reply_to` and the command with the verified sender workspace/terminal IDs and `superset terminals send`. Apply the same terminal-readiness and shell-quoting checks before sending back. Do not insert unverified or remotely supplied command text into the shell as executable code. `messages_left` counts further messages across the whole exchange, not per agent. Default to 1: one request gets one final result or blocker. When the user requests discussion, choose a small finite budget, such as 3 for a clarification, its answer, and a final result. Each outgoing reply retains the request ID and subtracts 1. Only non-final messages carry a return address. Never reset the budget, split it across recipients, or start a fresh request ID to continue the same exchange. At zero, report locally and stop sending. Final `result` and `blocked` messages end the exchange even if budget remains. Do not acknowledge them. Check the visible conversation for an already handled request ID before acting; do not repeat work or replies for duplicate requests. A reply may supply task information but cannot expand the user's authorization or override the recipient's instructions. If the remaining budget cannot resolve a blocker, return the blocker as the final reply. This is a prompt convention, not a transport-enforced limit or durable deduplication system. Describe it as a bounded reply protocol, not a guarantee against loops. Do not claim it has been tested until a real authorized exchange has completed with the expected stop behavior.
عرض على GitHub