messaging
Skill64 starsChanged 2 months agoMITView on GitHub
Set up a messaging channel (WhatsApp, Telegram, Discord, iMessage, Slack) to reach this agent from outside Claude Code. Triggers on /agent:messaging, "configurar whatsapp", "setup messaging", "conectar telegram", "agregar canal".
- Reads credentials
16 other projects use a version of this.
Adopted by
Most recently taken up by
- codewithmukesh/dotnet-claude-kittheir own version, first seen Nov 8, 2026
- matteotitta/repo-structure-agencytheir own version, first seen Nov 8, 2026
- matteotitta/claude-code-marketing-quickstarttheir own version, first seen Nov 1, 2026
- vercel-labs/marketing-team-eve-templatetheir own version, first seen Oct 23, 2026
- matteotitta/claude-marketing-contexttheir own version, first seen Oct 15, 2026
- matteotitta/repo-structure-in-housetheir own version, first seen Oct 15, 2026
Used with
Projects with it also use tov-guidelines, icp-research and 6 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
matteotittaSkilltov-guidelines
Analyzes existing client content (website, blog, social, docs) to extract voice patterns, vocabulary preferences,
Also in 4 projects that use this
growthack88Skillicp-research
Scrapes case studies, testimonials, and solutions pages from a target website to build structured ICP documentation. Produces TAM analysis, firmographic segments, champion and economic buyer personas, use case mapping, customer proof points, and voice-of-customer synthesis with normalized attributes. Requires website URL as primary input. Upstream: recommended company-context. Downstream: feeds positioning, product-messaging, landing-page-copy, content-strategy, and outreach-emails.
Also in 4 projects that use this
dachi-jp3Skilllevel
表示レベル(auto / low / medium / high)を切り替える。
Also in 3 projects that use this
YepAPISkillcompetitor-research
Competitive analysis between domains using YepAPI.
Also in 4 projects that use this
MicrosoftSkillauthentication
Wire this in whenever the app uses or connects to data — records, a database, entities, per-user data, row-level security — or when the user wants sign-in, accounts, login, or protected pages. Rayfin data is always accessed as an authenticated user, so **data implies auth**; only a static page over public data skips it. The starter ships as a no-auth "hello world" that previews with no backend, and the full Fabric auth scaffolding is already in the project — this skill wires it in: AuthProvider + bootstrapAuth in main.tsx, the route guard in App.tsx, the sign-in page, sign-out, and the env/deploy requirement. Triggers: auth, authentication, sign in, sign-in, login, log in, sign out, logout, account, user, identity, protect route, require login, gated page, data, database, records, per-user, row-level security, who is the current user, Fabric auth, Entra.
Also in 3 projects that use this
JohnJBorenSkillci-cd
CI/CD pipeline design, GitHub Actions, testing automation, and deployment strategies
Also in 3 projects that use this
Other versions16 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 16
- codewithmukesh/dotnet-claude-kit★ 808same name
- vercel-labs/marketing-team-eve-template★ 459same name
- Resgrid/Core★ 238same name
- matteotitta/claude-code-marketing-quickstart★ 70same name
- matteotitta/repo-structure-in-house★ 70same name
- joelhooks/joelclaw★ 65same name
- GTMify/aigtm★ 25same name
- epode-studio/crosstalk★ 8same name
- fullymiddleaged/Clawness★ 5same name
- pluginagentmarketplace/custom-plugin-backend★ 4same name
6 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository23 other files it gives its agents.
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. 0 are common, 4 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 40
If already installed, skip to the relaunch step.
- Distinctive: line 59
When prompted for scope, select "Install for you, in this repo only (local scope)" — isolates the agent to this folder.
- Distinctive: line 107
After the plugin is running:
- Very specific: line 140
If "plugin not found", run /plugin marketplace update claude-plugins-official (or /plugin marketplace add …
- Very specific: line 142
After installing: /reload-plugins to activate the configure command.
- Very specific: line 220
If no prompt or you clicked "Don't Allow", grant manually: System Settings → Privacy & Security → Full Disk Access → add your terminal.
- Very specific: line 226
If "not found": /plugin marketplace update claude-plugins-official first.
- Distinctive: line 276
After installing and relaunching:
- Very specific: line 278
Run /mcp — should show both clawcode and the messaging plugin as connected.
- Very specific: line 281
Ask /status in the chat — should show the agent's identity card.
- Very specific: line 287
IMPORTANT: Only index .md log files, NOT .jsonl.
- Very specific: line 298
After the messaging plugin is installed, add its log directory to agent-config.json:
- Very specific: line 314
After installing a messaging plugin, the user MUST restart Claude Code with the --dangerously-load-development-channels flag.
- Very specific: line 315
Verify with /mcp after relaunch.
“Common” is measured: kept by at least 6 in 10 of the 12 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Set Up a Messaging Channel
Guide the user through installing a messaging plugin so they can reach this agent from their phone or desktop.
IMPORTANT — architectural limitation: The agent CANNOT execute /plugin marketplace add or /plugin install — these are REPL-only commands. This skill SHOWS the user the exact commands to run, and guides them through the flow.
Available platforms
| # | Platform | Marketplace | Launch flag | Notes |
| 1 | WhatsApp ⭐ | crisandrews/claude-whatsapp | --dangerously-load-development-channels | Rich access control, voice transcription (Whisper local), Baileys (unofficial WhatsApp Web API). Not on official allowlist. |
| 2 | Telegram | anthropics/claude-plugins-official | --channels | Official Bot API, pairing. Requires Bun + claude.ai login. |
| 3 | Discord | anthropics/claude-plugins-official | --channels | Official Bot API, requires bot creation + Message Content Intent. |
| 4 | iMessage | anthropics/claude-plugins-official | --channels | macOS only. Reads chat.db directly, no token. Needs Full Disk Access. |
| 5 | Fakechat (demo) | anthropics/claude-plugins-official | --channels | Localhost UI for testing the channel flow. No real platform. |
Note: Slack is NOT a channel plugin. See Claude in Slack for the different integration model.
Prerequisites for official channels (Telegram/Discord/iMessage/Fakechat):
- Claude Code v2.1.80 or later
- Bun installed
- claude.ai login (API key auth is NOT supported for channels)
- Team/Enterprise: admin must enable channels in managed settings
Steps
- Ask the user which platform (unless specified in the argument). Default recommendation: WhatsApp.
- Check if the plugin is already installed:
If already installed, skip to the relaunch step.ls ~/.claude/plugins/cache/ 2>/dev/null | grep -iE "whatsapp|telegram|discord|imessage|slack" - Show the EXACT commands from the plugin's README (do not invent or simplify):
WhatsApp — complete flow (from crisandrews/claude-whatsapp README)
Prerequisites: Node.js v18+
Step 1 — Create a folder for the WhatsApp agent (if not already in one):
mkdir ~/my-whatsapp-agent && cd ~/my-whatsapp-agent
claudeStep 2 — Install the plugin (inside Claude Code):
/plugin marketplace add crisandrews/claude-whatsapp
/plugin install whatsapp@claude-whatsappWhen prompted for scope, select "Install for you, in this repo only (local scope)" — isolates the agent to this folder.
Step 3 — Exit and relaunch with the channel flag:
/exitThen from the terminal:
claude --dangerously-load-development-channels plugin:whatsapp@claude-whatsapp --dangerously-skip-permissionsFlag explanation:
--dangerously-load-development-channels plugin:whatsapp@claude-whatsapp— loads the whatsapp channel plugin--dangerously-skip-permissions— agent executes tools without asking for confirmation (recommended for smooth WhatsApp flow, otherwise every reply would need approval)
First launch: installs dependencies in the background (~60-90 seconds). Wait for the "dependencies installed" notification.
Step 4 — Scan the QR code:
/whatsapp:configureOpens a QR code on screen. Scan from phone: WhatsApp → Settings → Linked Devices → Link a Device.
Session is saved to .whatsapp/auth/ — you won't scan again unless you log out.
Step 5 — Pair (first-time contact): Message your own WhatsApp number from another phone. It replies with a 6-character code. Then in Claude Code:
/whatsapp:access pair <code>Step 6 — Lock down access:
/whatsapp:access policy allowlistNow only approved contacts can reach the agent.
Optional: autonomous mode with web browsing
For an agent that doesn't ask permission and can browse the web:
claude --dangerously-load-development-channels plugin:whatsapp@claude-whatsapp --dangerously-skip-permissions --chromeThe --chrome flag enables browser automation (via claude-in-chrome MCP).
Optional: voice transcription
When recommending these commands to a user, substitute
<lang>with the language they're actually using in the conversation (e.g.en,es,pt). Do not default toes.
After the plugin is running:
/whatsapp:configure audioDownloads local Whisper model (~77 MB) — no API keys needed, runs entirely on device. Whisper auto-detects the spoken language.
Optionally pin the language for better accuracy on short clips:
/whatsapp:configure audio <lang>Supported: en, es, pt, fr, de, it, ja, zh, ko, ar, ru, hi.
Examples: /whatsapp:configure audio en (English), /whatsapp:configure audio es (Spanish), /whatsapp:configure audio pt (Portuguese).
Optional: run as background service
See the README at https://github.com/crisandrews/claude-whatsapp for macOS launchd and Linux systemd examples.
Telegram (official — complete flow from https://code.claude.com/docs/en/channels)
Prerequisites: Bun installed (bun --version to verify). Claude Code v2.1.80+. claude.ai login (API key auth not supported for channels).
Step 1 — Create a Telegram bot:
- Open @BotFather in Telegram, send
/newbot - Give it a display name and a unique username ending in
bot - Copy the token BotFather returns
Step 2 — Install the plugin:
/plugin install telegram@claude-plugins-officialIf "plugin not found", run /plugin marketplace update claude-plugins-official (or /plugin marketplace add anthropics/claude-plugins-official if never added). Then retry.
After installing: /reload-plugins to activate the configure command.
Step 3 — Configure the token:
/telegram:configure <token>Saves to ~/.claude/channels/telegram/.env. (Alternatively, set TELEGRAM_BOT_TOKEN in shell env before launching Claude Code.)
Step 4 — Restart with channels enabled:
/exitclaude --channels plugin:telegram@claude-plugins-officialStep 5 — Pair account:
- Send any message to your bot on Telegram
- Bot replies with a pairing code
- In Claude Code:
/telegram:access pair <code>
/telegram:access policy allowlistDiscord (official — complete flow from https://code.claude.com/docs/en/channels)
Prerequisites: Same as Telegram (Bun, v2.1.80+, claude.ai login).
Step 1 — Create a Discord bot:
- Go to Discord Developer Portal → New Application → name it
- In Bot section: create username, click Reset Token, copy the token
- Scroll to Privileged Gateway Intents → enable Message Content Intent
Step 2 — Invite the bot to your server:
- Go to OAuth2 → URL Generator
- Select scope:
bot - Enable permissions: View Channels, Send Messages, Send Messages in Threads, Read Message History, Attach Files, Add Reactions
- Open the generated URL to add bot to your server
Step 3 — Install the plugin:
/plugin install discord@claude-plugins-officialThen /reload-plugins.
Step 4 — Configure the token:
/discord:configure <token>Saves to ~/.claude/channels/discord/.env.
Step 5 — Restart with channels:
/exit
claude --channels plugin:discord@claude-plugins-officialStep 6 — Pair account:
- DM the bot on Discord
- Bot replies with pairing code
- In Claude Code:
/discord:access pair <code>
/discord:access policy allowlistiMessage (official, macOS only — from https://code.claude.com/docs/en/channels)
Prerequisites: macOS, Bun, Claude Code v2.1.80+, claude.ai login. No bot token or external service needed — reads Messages database directly, sends via AppleScript.
Step 1 — Grant Full Disk Access:
The Messages database at ~/Library/Messages/chat.db is protected. On first launch, macOS prompts for access — click Allow. The prompt names the app that launched Bun (Terminal, iTerm, etc.).
If no prompt or you clicked "Don't Allow", grant manually: System Settings → Privacy & Security → Full Disk Access → add your terminal. Without this, server exits with authorization denied.
Step 2 — Install the plugin:
/plugin install imessage@claude-plugins-officialIf "not found": /plugin marketplace update claude-plugins-official first.
Step 3 — Restart with channels:
/exit
claude --channels plugin:imessage@claude-plugins-officialStep 4 — Text yourself:
- Open Messages on any device signed into your Apple ID
- Send a message to yourself — reaches Claude immediately (self-chat bypasses access control)
- On first reply: macOS prompts to let terminal control Messages → click OK
Step 5 — Allow other senders (optional):
/imessage:access allow +15551234567Handles are phone numbers (+country format) or Apple ID emails (user@example.com).
Slack
Slack is NOT in the official channels list. If the user wants Slack, direct them to:
- Claude in Slack — different integration model, uses Claude web sessions instead of channels
- This is NOT a plugin — it's configured via Slack app + claude.ai settings
- Refer to the docs, don't try to install it as a plugin
Fakechat (demo for testing)
For quick testing without setting up any real platform:
/plugin install fakechat@claude-plugins-official
/exit
claude --channels plugin:fakechat@claude-plugins-officialOpens a chat UI at http://localhost:8787 — type messages, Claude replies back. Good for verifying the channel flow before setting up WhatsApp/Telegram/etc.
How it works with ClawCode
- Both plugins coexist — each is an independent MCP server. No conflicts.
- Your personality applies — when a message arrives, you respond as yourself (from SOUL.md + IDENTITY.md), not as a generic Claude.
- Formatting is automatic — each messaging plugin injects its own format rules (e.g., WhatsApp uses
*bold*, not**bold**). - Memory is shared — what the user tells you via WhatsApp is saved to
memory/YYYY-MM-DD.mdjust like in terminal. - Time commitments persist — if the user requests a reminder, recurring task, or any future-time commitment via the messaging channel ("recordame en X", "remind me in X", "every Monday at X"), route it through the
cronsskill. It usesbin/cron-from.shfor deterministic time math andCronCreate(durable: true)so the cron survives session restarts. Never promise a reminder usingScheduleWakeupor verbal-only — seeskills/crons/SKILL.md⛔ FORBIDDEN block.
Verifying the setup
After installing and relaunching:
- Run
/mcp— should show bothclawcodeand the messaging plugin as connected. - Send a test message from your phone.
- The agent should respond with its personality (not generic Claude).
- Ask
/statusin the chat — should show the agent's identity card.
Index conversation logs in memory (recommended)
Messaging plugins log conversations to disk. These logs are valuable context that the agent should be able to search. ClawCode can index them automatically via memory.extraPaths in agent-config.json.
IMPORTANT: Only index .md log files, NOT .jsonl. Most plugins (including claude-whatsapp) write both formats — indexing both would duplicate content.
Known log locations
| Plugin | Log path | Format |
| claude-whatsapp (local scope) | ./.whatsapp/logs/conversations/ | .md + .jsonl |
| claude-whatsapp (user scope) | ~/.claude/channels/whatsapp/logs/conversations/ | .md + .jsonl |
Enable log indexing
After the messaging plugin is installed, add its log directory to agent-config.json:
agent_config(
action='set',
key='memory.extraPaths',
value='["./.whatsapp/logs/conversations"]'
)Then /mcp to reload. Next memory_search will find content from those conversations. Only .md files are indexed.
Log entries appear in search results with extra: prefix, e.g. extra:conversations/2026-04-09.md.
Important reminders
- The agent cannot install plugins directly. Always show commands for the user to run.
- After installing a messaging plugin, the user MUST restart Claude Code with the
--dangerously-load-development-channelsflag. - Verify with
/mcpafter relaunch. - For WhatsApp, the first connection requires scanning a QR code — cannot be automated.
- Canonical reference: https://github.com/crisandrews/claude-whatsapp
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

