name: operate-orchestrator-room description: Use when a human or operator wants to set up, inspect, enable, disable, test, or troubleshoot a CCM orchestrator room.
Operate Orchestrator Room
Use this for repeated human/operator tasks around CCM orchestrator rooms.
Room Flag Commands
Run these in the target Slack CCM room:
/ccm orch status
/ccm orch on
/ccm orch off
The long form /ccm orchestrator status|on|off is also supported. Plain-message forms such as ccm orch status route through the same parser.
Setup Checklist
- Bind the room to the intended repo/cwd with
ccm /path/to/repo. - Confirm agent slots with
ccm agentsand set the default if needed withccm default claude|codex. - Enable orchestration with
/ccm orch on. - Ask the Orchestrator to use the
orchestrate-workersskill. - For live worker-room lifecycle tests, use Slack; Telegram V1 returns
unsupported_capability.
Slack Capability Checklist
The deployed Slack app needs these scopes for private worker-room lifecycle:
groups:writefor private channel create, invite, and archive.groups:readandgroups:historyfor private channel inspection and traffic.users:readfor best-effort member filtering.- Normal CCM scopes such as
chat:write,commands,reactions:write,files:read, andfiles:write.
Operator Verification
Local gate before relying on lifecycle automation:
bun test test/room-lifecycle-types.test.ts test/slack-room-lifecycle.test.ts test/room-control-daemon.test.ts test/orchestrator-state.test.ts test/orchestrator-runner.test.ts
bun run typecheck
Live Slack smoke: create from an orchestrator room, confirm structured create facts, confirm bot presence and invite facts, mark worker output consumed in orchestration state, then archive.
Troubleshooting
policy_error: enable the room with/ccm orch on; worker rooms do not inherit the flag.unsupported_capability: the adapter does not support V1 lifecycle; do not emulate room creation.- Slack create/archive fails: check Slack scopes, bot installation, channel naming collision facts, and daemon logs.
- Alias not shown in Slack UI: parser already supports it; update the Slack app manifest only if the displayed slash-command usage hint matters.