Skills

Add Signal

Add Signal channel integration via signal-cli device-link.

Install

npx skills add nanocoai/nanoclaw --skill add-signal -g -a claude-code -y
Repository
nanocoai/nanoclaw31.1k
Category
Engineering
Updated
5d ago
License
MIT
Context cost
Mediumabout 3,000 tokens
Runs scripts
No, instructions only

What it does

Add Signal channel integration via signal-cli device-link. Native adapter, no Chat SDK bridge.

Add Signal Channel

Adds Signal support via a native adapter that speaks JSON-RPC to a signal-cli daemon, no Chat SDK bridge, only Node.js builtins. NanoClaw links to Signal as a secondary device on your existing phone: no new number, no bot API. Your assistant sends and receives as the number on the phone that scans the link.

Apply

1. Install signal-cli

NanoClaw talks to Signal through signal-cli, which has no bot API of its own. Install it if it isn't on PATH yet, Homebrew on macOS, the native release binary on Linux (neither needs Java). If it's already installed this is a no-op:

command -v signal-cli >/dev/null 2>&1 || bash setup/install-signal-cli.sh

2. Copy the adapter and its registration test

Fetch the channels branch and copy the Signal adapter and its registration test into src/channels/ (overwrite, the branch is canonical):

src/channels/signal.ts
src/channels/signal-registration.test.ts

3. Register the adapter

Append the self-registration import to the channel barrel (skipped if the line is already present). This one line is the skill's only reach-in into core:

import './signal.js';

4. Install the QR-rendering dependency

The device-link step renders the linking URL as a terminal QR via qrcode. Pinned to exact versions, the supply-chain policy rejects ranges and latest:

qrcode@1.5.4
@types/qrcode@1.5.6

The adapter itself consumes only Node.js builtins, so there is no adapter package to install, qrcode is purely for rendering the link during setup.

5. Build and validate

Build first: it guards the adapter's typed core-API consumption. Then run the one integration test.

pnpm run build
pnpm exec vitest run src/channels/signal-registration.test.ts
Read the whole SKILL.md on GitHub

More in Engineering