- Add three-level isolation model (shared session, same agent, separate agent) with agent-shared session mode for cross-channel shared sessions - Create /manage-channels skill for wiring channels to agent groups - Refactor all 12 v2 channel skills: lean SKILL.md + VERIFY.md + REMOVE.md with structured Channel Info section for platform-specific metadata - Create /add-discord-v2 skill (was missing) - Add step 5a to setup SKILL.md invoking /manage-channels after channel install - Update setup/verify.ts to check all 12 channel token types - Add docs/v2-isolation-model.md explaining the isolation model - Update v2-checklist.md and v2-setup-wiring.md to reflect completed work Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.3 KiB
name, description
| name | description |
|---|---|
| manage-channels | Wire channels to agent groups, manage isolation levels, add new channel groups. Use after adding a channel, during setup, or standalone to reconfigure. |
Manage Channels
Wire messaging channels to agent groups. See docs/v2-isolation-model.md for the full isolation model.
Assess Current State
Read the v2 central DB (data/v2.db) — query agent_groups, messaging_groups, and messaging_group_agents tables. Also check .env for channel tokens and src/channels/index.ts for uncommented imports.
Categorize channels as: wired (has DB entities), configured but unwired (has credentials + barrel import, no DB entities), or not configured.
First Channel (No Agent Groups Exist)
- Ask the assistant name (default: project name or "Andy")
- Ask which channel is the primary/admin channel
- Ask for the platform ID — read the channel's SKILL.md
## Channel Info>how-to-find-idto guide them - Register:
npx tsx setup/index.ts --step register -- \
--platform-id "<id>" --name "<name>" --folder "main" \
--channel "<type>" --is-main --no-trigger-required \
--assistant-name "<name>" --session-mode "shared"
- Continue to "Wire New Channel" for any remaining configured channels.
Wire New Channel
For each unwired channel:
- Read its SKILL.md
## Channel Infofor terminology, how-to-find-id, typical-use, and default-isolation - Ask for the platform ID using the platform's terminology
- Ask the isolation question (see below)
- Register with the appropriate flags
Isolation Question
Present a multiple-choice with a contextual recommendation. The three options:
- Same conversation (
--session-mode "agent-shared"+ existing folder) — all messages land in one session. Recommend for webhook + chat combos (GitHub + Slack). - Same agent, separate conversations (
--session-mode "shared"+ existing folder) — shared workspace/memory, independent threads. Recommend for same user across platforms. - Separate agent (new
--folder) — full isolation. Recommend when different people are involved.
Use the channel's typical-use and default-isolation fields to pick the recommendation. Offer to explain more if the user is unsure — reference docs/v2-isolation-model.md for the detailed explanation.
Register Command
npx tsx setup/index.ts --step register -- \
--platform-id "<id>" --name "<name>" \
--folder "<folder>" --channel "<type>" \
--session-mode "<shared|agent-shared>" \
--assistant-name "<name>"
For separate agents, also ask for a folder name and optionally a different assistant name.
Add Channel Group
When adding another group/chat on an already-configured platform (e.g. a second Telegram group):
- Read the channel's SKILL.md
## Channel Infofor terminology and how-to-find-id - Ask for the new group/chat ID
- Ask the isolation question
- Register — no package or credential changes needed
Change Wiring
- Show current wiring
- Ask which channel to move and to which agent group
- Delete the old
messaging_group_agentsentry, create a new one - Note: existing sessions stay with the old agent group; new messages route to the new one
Show Configuration
Display a readable summary showing agent groups with their wired channels, configured-but-unwired channels, and unconfigured channels.