Credential Fixture Review
python scripts/_secrets_inline.py is review material for the cc-connect Manager skill. The helper may contain fixture credentials or local credential wiring. Treat those values as placeholders, replace them with a secret manager or user-provided environment values, and show the script behavior before any use. Do not contact external services with embedded sample credentials.
cc-connect Manager
Manage cc-connect projects by editing ~/.cc-connect/config.toml and restarting the service in tmux.
Config file
Path: ~/.cc-connect/config.toml
Add a project
Extract these from the user's request:
- name: project name (derive from work_dir basename if not given, e.g.
/path/to/my-app → my-app)
- work_dir: absolute path to the project directory
- platform: one of
telegram, discord, feishu, dingtalk, slack, line, wecom, qq, qqbot
- token: the bot token (varies by platform)
- agent: default
claudecode, or codex, cursor, gemini, qoder, opencode, iflow
- mode: default
default. For claudecode: acceptEdits/plan/bypassPermissions. For codex: suggest/auto-edit/full-auto/yolo
Run the add script:
python3 ~/.claude/skills/cc-connect-manager/scripts/add_project.py \
--name <name> --work-dir <work_dir> --platform <platform> --token <token> \
[--agent <agent>] [--mode <mode>] [--guild-id <id>]
Platform-specific token mapping:
- telegram:
--token = bot token from @BotFather
- discord:
--token = bot token, optionally --guild-id for instant slash commands
- feishu:
--app-id + --app-secret
- dingtalk:
--app-id + --app-secret
- slack:
--bot-token (xoxb-) + --app-token (xapp-)
After adding, read back ~/.cc-connect/config.toml and show the user the new project block for confirmation.
Multi-agent relay setup (bind)
To put multiple agents (e.g. Claude Code + Codex) in the same chat group:
Architecture
- Each agent needs its own bot (separate token) as a separate
[[projects]] entry
- All bots join the same group/channel/server
- After startup, use
/bind in the chat to link them for relay communication
Step-by-step
- Add project A (e.g.
claude-backend, agent=claudecode, platform=discord, token=bot-A-token)
- Add project B (e.g.
codex-backend, agent=codex, platform=discord, token=bot-B-token)
- Both bots must use the same platform type and join the same group/channel
- Restart cc-connect
- Tell the user to send these commands in the chat group (not here):
@bot-A /bind claude-backend
@bot-A /bind codex-backend
Or for any bot that supports slash commands: /bind <project-name>
- After binding, agents can relay messages to each other. @bot-A sends to Claude Code, @bot-B sends to Codex
Important notes
/bind is a runtime chat command, not a config file setting — it cannot be automated from here
- Binding persists in
~/.cc-connect/relay_bindings.json
- Each bot in the group needs a unique token (you cannot reuse the same bot for two projects)
Remove a project
Read ~/.cc-connect/config.toml, find the [[projects]] block with matching name, remove it and all its sub-sections ([projects.agent], [projects.agent.options], [[projects.platforms]], [projects.platforms.options]) up to the next [[projects]] or global section. Write the file back.
Restart cc-connect
cc-connect runs in a tmux session named cc-connect. To restart:
# Kill existing cc-connect process in tmux and start fresh
tmux send-keys -t cc-connect C-c && sleep 1 && tmux send-keys -t cc-connect 'cc-connect' Enter
If the tmux session doesn't exist yet:
tmux new-session -d -s cc-connect 'cc-connect'
Always restart after adding or removing a project.
Workflow
- Parse the user's natural language request to extract project params
- Run
add_project.py for each project (or manually edit for removal)
- Show the user the updated config block
- Restart cc-connect in tmux
- Confirm success by checking tmux output:
tmux capture-pane -t cc-connect -p | tail -5
- If multi-agent setup, remind the user to run
/bind <project-name> for each project in the chat group
1---2name: cc-connect-manager-43description: Manage cc-connect projects: add new projects to ~/.cc-connect/config.toml, set up multi-agent relay bindings, and restart cc-connect in tmux. Use when the user wants to: add a project to cc-connect, configure a new bot/platform binding, remove a project, restart cc-connect, set up multiple agents (Claude Code + Codex/Cursor/Gemini) in the same chat group with relay/bind. Triggers on: "add project to cc-connect", "connect this project to telegram/discord/feishu", "restart cc-connect", "add a new bot", "bind this workspace to a platform", "add codex/cursor agent", "set up two agents in the same channel".4---56789### Credential Fixture Review1011`python scripts/_secrets_inline.py` is review material for the `cc-connect Manager` skill. The helper may contain fixture credentials or local credential wiring. Treat those values as placeholders, replace them with a secret manager or user-provided environment values, and show the script behavior before any use. Do not contact external services with embedded sample credentials.1213# cc-connect Manager1415Manage cc-connect projects by editing `~/.cc-connect/config.toml` and restarting the service in tmux.1617## Config file1819Path: `~/.cc-connect/config.toml`2021## Add a project2223Extract these from the user's request:24- **name**: project name (derive from work_dir basename if not given, e.g. `/path/to/my-app` → `my-app`)25- **work_dir**: absolute path to the project directory26- **platform**: one of `telegram`, `discord`, `feishu`, `dingtalk`, `slack`, `line`, `wecom`, `qq`, `qqbot`27- **token**: the bot token (varies by platform)28- **agent**: default `claudecode`, or `codex`, `cursor`, `gemini`, `qoder`, `opencode`, `iflow`29- **mode**: default `default`. For claudecode: `acceptEdits`/`plan`/`bypassPermissions`. For codex: `suggest`/`auto-edit`/`full-auto`/`yolo`3031Run the add script:3233```bash34python3 ~/.claude/skills/cc-connect-manager/scripts/add_project.py \35 --name <name> --work-dir <work_dir> --platform <platform> --token <token> \36 [--agent <agent>] [--mode <mode>] [--guild-id <id>]37```3839Platform-specific token mapping:40- **telegram**: `--token` = bot token from @BotFather41- **discord**: `--token` = bot token, optionally `--guild-id` for instant slash commands42- **feishu**: `--app-id` + `--app-secret`43- **dingtalk**: `--app-id` + `--app-secret`44- **slack**: `--bot-token` (xoxb-) + `--app-token` (xapp-)4546After adding, read back `~/.cc-connect/config.toml` and show the user the new project block for confirmation.4748## Multi-agent relay setup (bind)4950To put multiple agents (e.g. Claude Code + Codex) in the same chat group:5152### Architecture53- Each agent needs its **own bot** (separate token) as a separate `[[projects]]` entry54- All bots join the same group/channel/server55- After startup, use `/bind` in the chat to link them for relay communication5657### Step-by-step581. Add project A (e.g. `claude-backend`, agent=claudecode, platform=discord, token=bot-A-token)592. Add project B (e.g. `codex-backend`, agent=codex, platform=discord, token=bot-B-token)603. Both bots must use the **same platform type** and join the **same group/channel**614. Restart cc-connect625. Tell the user to send these commands **in the chat group** (not here):63 ```64 @bot-A /bind claude-backend65 @bot-A /bind codex-backend66 ```67 Or for any bot that supports slash commands: `/bind <project-name>`686. After binding, agents can relay messages to each other. @bot-A sends to Claude Code, @bot-B sends to Codex6970### Important notes71- `/bind` is a **runtime chat command**, not a config file setting — it cannot be automated from here72- Binding persists in `~/.cc-connect/relay_bindings.json`73- Each bot in the group needs a unique token (you cannot reuse the same bot for two projects)7475## Remove a project7677Read `~/.cc-connect/config.toml`, find the `[[projects]]` block with matching name, remove it and all its sub-sections (`[projects.agent]`, `[projects.agent.options]`, `[[projects.platforms]]`, `[projects.platforms.options]`) up to the next `[[projects]]` or global section. Write the file back.7879## Restart cc-connect8081cc-connect runs in a tmux session named `cc-connect`. To restart:8283```bash84# Kill existing cc-connect process in tmux and start fresh85tmux send-keys -t cc-connect C-c && sleep 1 && tmux send-keys -t cc-connect 'cc-connect' Enter86```8788If the tmux session doesn't exist yet:8990```bash91tmux new-session -d -s cc-connect 'cc-connect'92```9394Always restart after adding or removing a project.9596## Workflow97981. Parse the user's natural language request to extract project params992. Run `add_project.py` for each project (or manually edit for removal)1003. Show the user the updated config block1014. Restart cc-connect in tmux1025. Confirm success by checking tmux output: `tmux capture-pane -t cc-connect -p | tail -5`1036. If multi-agent setup, remind the user to run `/bind <project-name>` for each project in the chat group