Add Signal Channel (add-signal)
Wires a Signal messaging channel into NanoClaw using a native signal-cli adapter and phone device-linking.
What it does
Automates adding Signal support to a NanoClaw assistant. It installs signal-cli if missing, copies a native adapter (Node.js builtins only — no Chat SDK bridge) plus its registration test into src/channels/, appends a single self-registration import to the channel barrel, pins the qrcode dependency, then builds and runs the registration test.
The credential step is a device link, not a bot API: signal-cli prints an sgnl://linkdevice… URL and a terminal QR, you scan it from the phone that already runs Signal, and that number becomes the assistant's identity. An alternative path (captcha → SMS/voice verification → profile name) is documented for those who want a dedicated number.
The doc also spells out supported features (markdown → Signal text styles, quoted replies, DM typing indicators, Note to Self inbound routing, voice-message detection) and unsupported ones (outbound attachments, edits/deletes, reactions), plus a long troubleshooting section.
Who it's for
- NanoClaw users who want their assistant reachable over Signal
- Privacy-minded operators who prefer Signal to Telegram or Slack
- Developers comfortable with terminals, pnpm, launchd/systemd and SQLite queries
Note: this skill assumes the NanoClaw repo layout (
setup/scripts, thenclCLI,data/v2.db) — it will not work standalone.
Examples
- Personal assistant: after linking, message your own Note to Self chat to ask the agent for reminders or lookups.
- Small team group: add the Signal number to a group, send a message, then run
ncl wirings create --messaging-group-id mg-… --agent-group-id ag-…to bind it to an agent group. - Debugging silence: check
grep "Signal channel connected" logs/nanoclaw.log, and when senders are dropped asnot_member, grant access withncl users create+ncl roles grant.
· · · Install guide · · ·
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the .claude/skills/add-signal folder from the GitHub repo nanocoai/nanoclaw into my ~/.claude/skills/add-signal/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/nanocoai/nanoclaw.git /tmp/nanoclaw && mkdir -p ~/.claude/skills && cp -r /tmp/nanoclaw/.claude/skills/add-signal ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and clone the repository:
git clone https://github.com/nanocoai/nanoclaw.git - Enter the project folder:
cd nanoclaw - Copy the skill into your user skills directory:
mkdir -p ~/.claude/skills && cp -r .claude/skills/add-signal ~/.claude/skills/ - Make sure signal-cli can be installed (Homebrew on macOS, native release binary on Linux) — the skill's
setup/install-signal-cli.shhandles this for you. - Start Claude Code from the NanoClaw project root and ask: "Add the Signal channel."
- When the QR appears, open Signal on your phone → Settings → Linked Devices → Link New Device and scan it (the link expires in ~3 minutes).
- Once the linked number is saved to
SIGNAL_ACCOUNT, restart the service, send any message from your Signal app, then wire the resulting group with/init-first-agentor/manage-channels.