severinlindenmann/orch-core/tree/main/plugins/orch-session
orch-session
현재 세션이 보유한 orch 티켓을 상태 줄, 프롬프트 위 막대, /orch 패널과 인계 토스트로 보여 주는 Claude Code 플러그인입니다.
이 mod 소개
orch-session은 현재 세션이 보유한 orch 티켓만 보여 주는 Claude Code 플러그인입니다. 백로그도 큐도 표시하지 않습니다. 모든 내용은 누구 차례인지부터 시작하며, 아이콘과 단어를 함께 표시합니다(색상만으로 구분하지 않음). 색상은 orch-core 디자인 시스템을 따릅니다.
- 상태 줄: 가져온 티켓마다 한 항목을 표시합니다. 예:
◐ L-0001 working ● L-0002 Answer Q1. - 프롬프트 위 막대: 가장 중요한 행동을 내 차례부터 표시합니다. 예:
● L-0002 0/1 Your move: Answer Q1 · Which one?. /orch: 티켓마다 카드 하나를 제공하는 패널입니다. 누구 차례인지와 할 일, 선택지가 있는 열린 질문, 추천 선택지,orch answer명령, 작업, 상위 epic, 마지막 verdict와 PR을 보여 줍니다.- 토스트는 인계 때만 표시됩니다: 내 차례의 시작 또는 종료, 티켓 차단, verdict, 티켓을 얻거나 잃은 경우입니다.
읽기 전용입니다. orch list --mine --json과 orch show <id> --json을 호출하고 각 agent orch 명령 뒤와 주기적으로(활동에 따라 20s/60s/5m)새로 고칩니다. 한 번에 하나만 새로 고칩니다. 새로 고치기에 실패하면 마지막 완전한 상태를 유지하고 패널에 보고합니다. 쓰기 명령이나 사람 전용 명령은 실행하지 않으며 orch answer 명령을 표시만 합니다.
요구 사항: PATH에 있는 orch CLI, orch-core schema 1.4.0+, 그리고 function-hook 플러그인을 지원하는 Claude Code 빌드입니다.
claude plugin install orch-session@orch-core
Claude Code의 hooks-API가 바뀌어도 orch-core의 guard와 session-start hooks에 영향을 주지 않도록 의도적으로 별도 플러그인으로 제공합니다. 개발에는 node --test, claude plugin validate, claude plugin test, claude --plugin-dir를 사용합니다.
설치
먼저 작성자의 README에서 marketplace와 플러그인 이름을 확인하세요. 저장소 구조에 따라 명령어가 달라질 수 있습니다.
claude plugin marketplace add severinlindenmann/orch-core claude plugin install orch-session
원문 / README
orch-session
Shows the orch tickets this session holds, inside Claude Code. Nothing else: no backlog, no queue.
Everything leads with whose move it is, as orch-core says it (move in orch show --json, the dashboard's own rules) and in its design system's colours: pink ● only for your move (answer a question, approve a plan, re-approve a changed gate, do your task, give the verdict), blue ◐ while the agent works, amber ▲ when the ticket is blocked, red ✕ when orch cannot be read. Every status is an icon and a word, never colour alone.
- Status line:
◐ L-0001 working ● L-0002 Answer Q1, one entry per claimed ticket. - Band above the prompt: one row with the move that matters most, yours first:
● L-0002 0/1 Your move: Answer Q1 · Which one?. /orch: a pane with one card per ticket: whose move and what, an open question with its options, the recommended one and theorch answercommand to run in your own terminal, every task (doing and blocked first), the epic it belongs to, the last verdict and the PR.- Toasts on hand-overs only: your move starts or ends, the ticket is blocked, a verdict, a claim gained or lost.
It only reads: orch list --mine --json with the session's id and orch show <id> --json for each ticket. It refreshes after every orch command the agent runs and every 20 seconds while things change (60 seconds after three quiet polls, 5 minutes where there is no orch workspace), one refresh at a time, without holding up the tool call. A refresh in which any read fails keeps the last complete state and says so in the pane. It never runs a command that writes or that only a human may run; it shows the orch answer command, it does not run it.
What it shows. orch list --mine lists only the claims held by this session's own id, so a fresh claude shows nothing until the agent runs orch claim. Epics cannot be claimed: an epic appears only as "in epic DEMO-0031" on its claimed children, without progress of its own (open it in Mission Control for that). In a folder without an orch workspace, /orch shows a short toast instead of a pane, and the refresh slows to every 5 minutes.
The status line is drawn by Claude Code, which currently styles every plugin status like a warning (⚠ orch-session: ...) and ignores plugin colours there. That is the host's behaviour, so the line is kept short.
The plugin has no rules of its own for whose move it is. An orch that predates move (orch-core schema below 1.4.0) shows "Update orch-core" on each ticket and an amber note in the pane, never a guess.
Install
Needs the orch CLI on the PATH, orch-core with schema 1.4.0 or newer (see orch-core's README, "The CLI in your own terminal"), and a Claude Code build with function-hook plugins (early access; the API may change between releases).
claude plugin install orch-session@orch-core
It is a separate plugin on purpose: if a Claude Code update breaks the hooks API, orch-core's guard and session-start hooks keep working.
Develop
node --test plugins/orch-session/test/*.spec.ts # the logic, against real orch output; no claude CLI needed
claude plugin validate plugins/orch-session
claude plugin test plugins/orch-session # the hooks inside the engine
claude --plugin-dir plugins/orch-session # load it into a session
The fixtures in test/fixtures are real orch-core output. After a change to what orch list or orch show print, make them again (CI also runs the tests against freshly made ones):
uv run --project plugins/orch-core python plugins/orch-session/test/make_fixtures.py plugins/orch-session/test/fixtures
