โ† All skills
Tencent SkillHub ยท Developer Tools

Signal messaging for standalone bots/accounts

Full Signal messenger integration for OpenClaw agents. Send/receive text and voice messages via signal-cli with role-based permissions (owner/trusted/untrust...

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Full Signal messenger integration for OpenClaw agents. Send/receive text and voice messages via signal-cli with role-based permissions (owner/trusted/untrust...

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
SKILL.md, scripts/signal-poll.sh, scripts/permissions.json.txt, scripts/signal-send.sh, references/troubleshooting.md, references/permissions.md

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 18 sections Open source page

Signal Integration

Complete Signal messenger integration with security-first contact management.

Feature Overview

Text & voice messaging โ€” Send and receive text messages, voice notes, images, and attachments Role-based permissions โ€” Three-tier contact system (owner/trusted/untrusted) controls who can instruct your agent to execute commands, modify files, or access private information New contact triage โ€” Unknown senders are flagged for owner approval before the agent engages; prevents prompt injection via unsolicited messages Voice transcription โ€” Incoming voice messages transcribed via Whisper (or any STT engine) for processing Voice replies โ€” Generate spoken responses via TTS and send as audio attachments Conversation history โ€” Per-contact message logs with timestamps for context continuity Typing indicators โ€” Shows "typing..." in the recipient's Signal app before sending Read & viewed receipts โ€” Marks messages as read; sends "viewed" receipt for voice messages UUID contact support โ€” Handles both phone number and UUID-based Signal contacts Instant wake โ€” Triggers OpenClaw's /hooks/wake API on new messages for immediate response (no waiting for next heartbeat) Auto-logging โ€” All sent and received messages logged to conversation files

Prerequisites

signal-cli (v0.13.x+): Java-based Signal client โ€” github.com/AsamK/signal-cli ffmpeg: Audio format conversion A phone number: For Signal registration (can be a VoIP number) OpenClaw hooks: For instant wake-on-message (optional but recommended)

Optional (for voice messages)

Whisper (or whisper.cpp): Speech-to-text transcription TTS engine (Coqui, Piper, or OpenClaw's built-in tts tool): Text-to-speech for voice replies

1. Install signal-cli

# Download latest release SIGNAL_CLI_VERSION="0.13.12" curl -L "https://github.com/AsamK/signal-cli/releases/download/v${SIGNAL_CLI_VERSION}/signal-cli-${SIGNAL_CLI_VERSION}-Linux.tar.gz" | tar xz sudo mv signal-cli-${SIGNAL_CLI_VERSION}/bin/signal-cli /usr/local/bin/ sudo mv signal-cli-${SIGNAL_CLI_VERSION}/lib /usr/local/lib/signal-cli # Or install to user directory mv signal-cli-${SIGNAL_CLI_VERSION} ~/.local/share/signal-cli-install ln -s ~/.local/share/signal-cli-install/bin/signal-cli ~/.local/bin/signal-cli Requires Java 21+: sudo apt install openjdk-21-jre-headless

2. Register a number

# Register with SMS verification signal-cli -a +YOUR_NUMBER register # Enter the verification code signal-cli -a +YOUR_NUMBER verify CODE # Set your profile name signal-cli -a +YOUR_NUMBER updateProfile --given-name "YourName" --family-name "Bot"

3. Configure the scripts

Edit scripts/signal-poll.sh and scripts/signal-send.sh: Set SIGNAL_NUMBER to your registered number Set SIGNAL_CLI to your signal-cli binary path Set STATE_DIR to your preferred state directory (default: ~/.signal-state) Add known contacts to ALLOWLIST and CONTACTS in signal-poll.sh

4. Set up cron polling

# Poll every minute crontab -e # Add: * * * * * /path/to/scripts/signal-poll.sh

5. Configure OpenClaw wake hook (recommended)

Add to your openclaw.json config: { "hooks": { "wake": { "enabled": true, "token": "your-secret-token" } } } Then set the same token in signal-poll.sh (WAKE_TOKEN variable) and the OpenClaw URL (WAKE_URL).

Architecture

signal-cli โ†โ†’ signal-poll.sh (cron every 1min) โ”œโ”€โ”€ Parses text + attachments โ”œโ”€โ”€ Logs to conversations/<sender>.log โ”œโ”€โ”€ Writes pending_wakes file โ””โ”€โ”€ POSTs to OpenClaw /hooks/wake API Agent (heartbeat/wake) โ”œโ”€โ”€ Reads pending_wakes โ”œโ”€โ”€ Reads conversation history for context โ”œโ”€โ”€ Transcribes voice messages (Whisper) โ”œโ”€โ”€ Generates reply (text or voice) โ””โ”€โ”€ Sends via signal-send.sh

Sending Messages

# Text message scripts/signal-send.sh +1234567890 "Hello!" # With attachment signal-cli -a +YOUR_NUMBER send +RECIPIENT -m "Check this out" -a /path/to/file # Voice message (generate TTS then send as attachment) # 1. Generate audio (use your TTS engine) # 2. Convert to m4a: ffmpeg -i voice.wav -c:a aac -b:a 64k voice.m4a # 3. Send: signal-cli -a +YOUR_NUMBER send +RECIPIENT -m "" -a voice.m4a

Receiving Messages

The poll script handles receiving automatically. In your HEARTBEAT.md, add: ### Signal Messages (check first!) cat /path/to/.signal-state/pending_wakes 2>/dev/null When processing a wake: Read pending_wakes for new message summary Read conversations/<sender>.log for full context For voice messages: transcribe the attachment path with Whisper Respond via signal-send.sh or voice attachment Clear: > /path/to/.signal-state/pending_wakes

Transcribing incoming voice messages

# Convert to WAV for Whisper ffmpeg -i /path/to/attachment.m4a -ar 16000 -ac 1 -c:a pcm_s16le /tmp/audio.wav -y # Transcribe (whisper.cpp server example) curl -s http://127.0.0.1:8080/inference -F "file=@/tmp/audio.wav" -F "language=en" # Or use OpenAI Whisper, faster-whisper, etc.

Sending voice replies

# 1. Generate speech (example with a local TTS server) curl -X POST http://127.0.0.1:5002/tts \ -H "Content-Type: application/json" \ -d '{"text": "Your message here", "language": "en"}' \ -o /tmp/voice.wav # 2. Convert to m4a for Signal ffmpeg -i /tmp/voice.wav -c:a aac -b:a 64k /tmp/voice.m4a -y # 3. Send as attachment signal-cli -a +YOUR_NUMBER send +RECIPIENT -m "" -a /tmp/voice.m4a

New contacts (UUID-based)

When someone new messages you, signal-cli may show them as a UUID (no phone number). The poll script handles both phone numbers and UUIDs. # Accept a message request signal-cli -a +YOUR_NUMBER sendMessageRequestResponse --type accept UUID_OR_NUMBER # List all known identities signal-cli -a +YOUR_NUMBER listIdentities

Triage workflow

Unknown senders are logged to .signal-state/triage.log and flagged in pending_wakes with โš ๏ธ NEW CONTACT. The agent should: Notify the owner about the new contact Wait for approval before engaging Add approved contacts to ALLOWLIST in signal-poll.sh

Typing Indicators & Read Receipts

The send script automatically shows a typing indicator before sending. The poll script sends read receipts and "viewed" receipts for voice messages.

File Reference

scripts/signal-poll.sh โ€” Cron-based message receiver with wake integration scripts/signal-send.sh โ€” Send wrapper with typing indicator and conversation logging references/troubleshooting.md โ€” Common issues and fixes

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
3 Docs2 Scripts1 Files
  • SKILL.md Primary doc
  • references/permissions.md Docs
  • references/troubleshooting.md Docs
  • scripts/signal-poll.sh Scripts
  • scripts/signal-send.sh Scripts
  • scripts/permissions.json.txt Files