XBlueSky

Cc Uplink — Communication skill for Claude Code

Communication community

Claude Code's unified outbound channel layer: one MCP server, six fixed tools, pluggable drivers (tmux cross-pane messaging, OpenAI/Codex image generation).

How to install Cc Uplink

This entry records only its repository, not the path inside it, so there is no exact command to give. Open XBlueSky/cc-uplink and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Cc Uplink does

Claude Code's unified outbound channel layer: one MCP server, six fixed tools, pluggable drivers (tmux cross-pane messaging, OpenAI/Codex image generation).

Alternatives in Communication

  • Add Channel — Skill: Add a new messaging channel to TEMM1E 491 ★
  • ClawSwarm — A smaller, lighter-weight version of OpenClaw, natively multi-agent, compiles to Rust, and built on the Swarms 176 ★
  • Google Workspace Skills — Suite of Google Workspace integrations: Gmail, Calendar, Chat, Docs, Sheets, Slides, and Drive with cross-plat 162 ★

README

cc-uplink

cc-uplink

[![CI](https://github.com/XBlueSky/cc-uplink/actions/workflows/ci.yml/badge.svg)](https://github.com/XBlueSky/cc-uplink/actions/workflows/ci.yml) [![Release](https://img.shields.io/github/v/release/XBlueSky/cc-uplink)](https://github.com/XBlueSky/cc-uplink/releases) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

**Website:** https://cc-uplink.pages.dev

Claude Code's unified outbound channel layer: one Rust binary, one stdio MCP server, **seven fixed tools** — with pluggable drivers underneath. Adding a driver never adds a tool, so your tool/skill listing budget stays flat no matter how many ways Claude can reach the outside world.

Tool Purpose
channel_list() Enumerate channels across drivers
channel_describe(channel, op?) On-demand JSON Schema for an op
channel_send(channel, message, opts?) Async message (tmux: inject → verify → Enter, evidence-bearing receipt); image:* channels are act-only, so channel_send is rejected there — use channel_act with generate/edit
channel_observe(channel, op, args) Read-only capability call (ops with mutating: falseread, await_idle)
channel_act(channel, op, args) Mutating capability call (ops with mutating: truetype, keys, ask, label, image generate/edit)
channel_recv(cursor?) Drain inbound envelope audit log
channel_doctor() Aggregated per-driver diagnostics

Calling an op through the wrong tool (a mutating op via `channel_observe`, or vice versa) is rejected, naming the right tool — this split is what lets Claude Code's own MCP permission layer auto-allow "look" while gating "act".

Channels

  • tmux:%3 / tmux: — talk to whatever runs in another tmux pane (Codex CLI, another Claude, a shell), or type into a raw console (nc, telnet, serial) with no shell at all. Control-mode-first (`tmu