一键导入
zellij-cross-session-orchestration
Use repo-managed zellij helpers from ~/pro/botfiles to inspect, message, and launch parallel coding-agent task sessions.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use repo-managed zellij helpers from ~/pro/botfiles to inspect, message, and launch parallel coding-agent task sessions.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Start a detached zellij session for a tracker-linked or natural-language task, and launch Codex or Claude as the default shell with an initial `$start-new-task ...` handoff prompt.
Initialize a new task folder with status.md, user_inputs/initial.md, user_inputs/input_artifacts/, task-progress-artifacts/, and task-progress-artifacts/scratchpad/. Supports GitHub issue URL inputs, Linear issue URL inputs, default Linear issue creation for trackerless starts, tracker-informed slugs, and machine/zellij metadata capture with optional live-session issue block sync.
Initialize a new task folder with status.md, user_inputs/initial.md, user_inputs/input_artifacts/, task-progress-artifacts/, and task-progress-artifacts/scratchpad/. Supports GitHub issue URL inputs, Linear issue URL inputs, default Linear issue creation for trackerless starts, tracker-informed slugs, and machine/zellij metadata capture with optional live-session issue block sync.
Rename Codex app thread labels and titles in local Codex state. Use when a user asks to rename, retitle, relabel, or make a Codex chat/thread easier to find in the Codex app sidebar or thread list, especially when the visible label still shows the first prompt such as "$start-new-task ZON-218".
Create compact Codex `/goal` plan files that require an implementation loop with Oracle GPT-5.5 Pro review between iterations. Use when the user wants a goal plan that explicitly sequences implementation, strongest-model Oracle review, rework from Oracle findings, repeated review until no material changes remain, and final verification.
Create a Linear ticket and immediately launch a detached zellij/Codex worker session for it. Use when the user asks to "create a ticket and start a session", "make a Linear task and $start-zellij-session-for-task", spin up a side worker for a new task, or repeat the common parent-orchestrator flow of drafting a scoped issue, linking it to a parent lane, and starting `$start-new-task ISSUE-ID`.
| name | zellij-cross-session-orchestration |
| description | Use repo-managed zellij helpers from ~/pro/botfiles to inspect, message, and launch parallel coding-agent task sessions. |
Use this skill when the user wants to work with their zellij-based coding-agent workflows from ~/pro/botfiles, especially for detached task launches or cross-session coordination.
Load this skill when the user asks to:
work-* / zellij orchestration conventions from ~/pro/botfilesPrefer the repo-managed helpers and docs in ~/pro/botfiles:
README.mddocs/cross-session-orchestration-contract.mdcodex/skills/start-zellij-session-for-task/SKILL.mdcodex/skills/cross-session-context/SKILL.mdcodex/skills/cross-session-message/SKILL.mdUse when the user wants a second coding-agent run without taking over the current terminal.
start-zellij-session-for-task --project-root "<project-root>" <linear url|linear id|github issue url|task description>
Optional target override:
start-zellij-session-for-task --project-root "<project-root>" --target ml <...>
Raw Codex fallback for hosts without the App Server notification wrappers:
start-zellij-session-for-task --project-root "<project-root>" --no-codex-app-notify <...>
Supported targets from the botfiles docs:
here (default)mlaryaagentBehavior to preserve:
[TRACKER-ID] when availablecodex-app-notify-session into a real spawned pane in the detached session (not only via options --default-shell) so attach/dump-screen can verify visible Codex UI and request_user_input prompts can notify via the App Server proxyCODEX_* metadata before starting child Codex$start-new-task <original input>codex-app-notify-session --dangerously-bypass-approvals-and-sandbox by default; use --no-codex-app-notify only as an explicit raw-Codex fallback--dry-run for inspection-only requestsZELLIJ_SESSION_NAME=<session> zellij run -- <bootstrap-script>) rather than relying on attach --create-background ... options --default-shell <script> to materialize a visible paneterminal_1) because the initial terminal_0 pane may remain empty in detached-session flowsUse the helper instead of manually scraping zellij state.
get-cross-session-context --project-root "<project-root>" <task slug|tracker ref|session name>
Useful flags:
--include-transcript-tail 4--json--tab-name <name>--task-dir, --status-file, --zellij-sessionBehavior to preserve:
Always preview first because the helper is dry-run by default.
send-zellij-message --project-root "<project-root>" --text "<message>" <task slug|tracker ref|session name>
Useful flags:
--execute--submit enter--tab-name <name>--jsonBehavior to preserve:
--execute only once the target looks correct--submit enter only when intentional--zellij-sessionThe botfiles README documents reconnect-friendly shell helpers:
work-herework-ml, work-ml-sshwork-arya, work-arya-mosh, work-arya-sshwork-agent, work-agent-mosh, work-agent-sshmml, marya, magentImportant conventions:
fzf is needed for interactive picker modefzf is missing, pass a session name explicitlyzellij is required for work-hereWhen using these helpers, verify with:
no_match but you have a concrete session name from a Linear activation comment, retry get-cross-session-context with --zellij-session <session> for diagnostic live-session inspection onlysend-zellij-message, always do the JSON dry-run preview first; if preview resolves but --execute fails, treat the write as not delivered and record the exact helper/zellij failure before choosing a fallback durable noteIn Arya supervision/debug flows, a freshly launched session may exist in zellij list-sessions before any tracker-backed task home, transcript path, or status artifact is discoverable. In that case:
send-zellij-message --execute times out on a zellij tab-selection action (for example go-to-tab-name), treat that as a helper delivery failure, not as a successful nudgeget-cross-session-context still reports no_match, treat that as "metadata not materialized yet" rather than a failed launch when the start helper already returned success with a concrete session name/tab/attach hintZON-101 to start-zellij-session-for-task instead of full https://linear.app/... URLs when possible. Full Linear URLs can trigger the terminal security scanner because of the .app TLD, while the tracker ID avoids the approval interruption and still resolves correctly.~ inside the terminal tool workdir; resolve it to an absolute path such as /home/azureuser/pro/botfiles first.~/pro/botfiles-style commands are runnable. If the expected botfiles checkout is absent, fall back to durable passive evidence already referenced from Linear/task artifacts instead of claiming helper-based verification.get-cross-session-context ... <TRACKER> result of status: no_match does not by itself mean the lane lacks a reviewer-facing artifact or needs recovery; first inspect recent Linear comments because some review-ready lanes only surfaced their durable handoff in comments rather than a tracked task home.--zellij-session <session> for diagnostic inspection and the helper returns status: ambiguous with many candidate task homes, treat that as "no verified live execution substrate" for the target lane. Do not infer liveness from the shared zellij session name alone, and prefer a durable Linear note over any bounded nudge.gh pr list --search '<TRACKER>' matches carefully: the command can return unrelated historical PRs that happen to mention the same string somewhere. Only forward PR/CI context when the match is clearly ticket-specific by title, branch, URL, or repo context.~/pro/personal_os rather than a broad product repo guess. Treat ticket-local evidence as things like an explicit repo/path mention, linked GitHub issue/PR/repo, or existing tracked task metadata.start-zellij-session-for-task success plus zellij list-sessions presence as sufficient activation evidence. A stale session name collision or an idle shell pane can produce those signals without a real live Codex surface.zellij ... action dump-screen -f) and require visible Codex/start-task output before calling it a real execution path.Todo because a stale session already exists for the expected slug, treat that as a blocked/failed execution verification case, not as successful activation. Prefer leaving a compact Linear explanation comment and clearing the stale session before retrying pickup.~/pro/personal_os rather than inferring some other product repo from broad company context alone.In Progress.start-zellij-session-for-task returns session already exists, do not treat that as activation or successful reuse by itself. Immediately inspect with get-cross-session-context; if tracker-backed metadata is still missing, you only have a bare/legacy zellij session until Codex visibility is independently verified.zellij action dump-screen does not accept a --session selector, so it is not a reliable detached-session verification path from Hermes by itself. Prefer the repo helper outputs plus conservative status handling over ad hoc attach-and-type probing unless you intentionally accept diagnostic-only shell interaction.