Agent skill

Cross Channel Messaging

by Peiiii in Peiiii/nextclaw

A skill your agent uses when deciding how to deliver an AI result: reply now, put durable news, reports, recommendations, or articles in the NextClaw inbox, or send to an explicitly requested chat…

MITAuto-check passedProductivity & Automation

Install Cross Channel Messaging

skills CLI
$ npx skills add Peiiii/nextclaw --skill cross-channel-messaging -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Peiiii/nextclaw cross-channel-messaging --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Peiiii/nextclaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/nextclaw-core/src/features/agent/shared/skills/cross-channel-messaging .claude/skills/cross-channel-messaging && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cross-channel-messaging
GitHub stars
260
Token cost
~3.2k tokens
SKILL.md length
1,838 words
Files
1
Skills in repo
70
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when deciding how to deliver an AI result: reply now, put durable news, reports, recommendations, or articles in the NextClaw inbox, or send to an explicitly requested chat…

  • Works in 3 steps: Reply in the current conversation → Deliver durable reading material → Send to another conversation or channel
  • Deciding how to deliver an AI result: reply now
  • SKILL.md covers Core Rule, Tool Choice, Route Resolution Order and Config And Local Files, plus 8 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Cross Channel Messaging is an agent skill from Peiiii/nextclaw. Use when deciding how to deliver an AI result: reply now, put durable news, reports, recommendations, or articles in the NextClaw inbox, or send to an explicitly requested chat channel without guessing a route.

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Email management. It works with WeChat and Telegram. The repository describes itself as: A human-centered long-term AI partner—not a task-centered assistant. The licence is MIT.

When your agent uses it

  • Deciding how to deliver an AI result: reply now
  • Put durable news
  • Recommendations
  • Articles in the NextClaw inbox

Example prompts

  • “/cross-channel-messaging”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Reply in the current conversation
  2. Deliver durable reading material
  3. Send to another conversation or channel

What it can do on your machine

Read from SKILL.md and the folder at commit 4d9d500. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cross Channel Messaging loads about 3.2k tokens when it runs. Until then it costs about 59 tokens; SKILL.md has 1,838 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~3.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Peiiii/nextclaw at commit 4d9d500, republished under its MIT licence (© Peiiii). 1,838 words, ~3,168 tokens.

Download SKILL.mdSave it as .claude/skills/cross-channel-messaging/SKILL.md (or your agent's skills folder).
name
cross-channel-messaging
description
Use when deciding how to deliver an AI result: reply now, put durable news, reports, recommendations, or articles in the NextClaw inbox, or send to an explicitly requested chat channel without guessing a route.
description_zh
当需要决定 AI 结果如何交付时使用:当前会话直接回复、把新闻简报/报告/推荐/文章投递到 NextClaw 收件箱,或发送到用户明确指定的聊天渠道且不猜测路由。

Result Delivery And Cross-Channel Messaging

This is a NextClaw built-in skill for the AI itself.

It teaches the AI how to choose among NextClaw's existing delivery primitives in a predictable way.

Use this skill when the user wants any of these:

  • send a result to another conversation,
  • deliver collected news, a briefing, report, recommendation, or article for later reading,
  • notify them through Weixin, Lark, Telegram, Signal, or another channel,
  • proactively send a message after a task finishes,
  • forward or relay content across sessions or channels.

Strong triggers include user wording such as:

  • "notify me when done",
  • "collect the news and send it to me",
  • "put this report somewhere I can read later",
  • "send this to my Weixin",
  • "message me on Telegram",
  • "forward the result to another chat",
  • "after you finish, send me a note elsewhere".

Do not wait for the user to name this skill. If the task is about delivery, routing, relaying, notifying, or proactive messaging, load this skill.

Core Rule

Pick the existing primitive that matches both the content shape and the destination:

  1. Reply in the current conversation: Just reply normally when the user means the current session.
  2. Deliver durable reading material: Use deliver_to_inbox for news digests, briefings, reports, recommendations, or articles meant to remain available for later reading and follow-up, unless the user explicitly names an external channel.
  3. Send to another conversation or channel: Use message when the user wants a direct outbound send to a specific channel/chat/account route. If an existing session may already hold the route, use sessions_list narrowly to recover that route first, then call message.

"Send it to me" or "notify me" alone is not an external route. Do not infer Weixin, Lark, Telegram, or another channel from saved configuration, a previous route, or the mere availability of message.

Tool Choice

Normal reply

Use a normal assistant reply when:

  • the user only means "tell me here",
  • the target is clearly the current session,
  • no cross-session or cross-channel delivery is needed.
deliver_to_inbox

Use deliver_to_inbox when:

  • the result is durable reading material rather than a short conversational answer,
  • common examples include collected news, daily/weekly briefings, research reports, recommendations, and generated articles,
  • the user wants it sent, delivered, saved, or available to read later,
  • and no external channel or other conversation was explicitly requested.

Give the delivery a concise title and useful summary. Use Markdown for normal documents and static HTML when the content benefits from a designed report surface. Do not also send the full result through message unless the user explicitly asks for both destinations.

message

Use message when:

  • the user explicitly names another conversation or channel destination,
  • the target is described as a channel route,
  • you need to send to a specific channel + to/chatId,
  • or the user asks for a channel action that belongs to the message tool.

For action=send, provide:

  • message or content,
  • to or chatId,
  • channel when the destination channel is not the current one,
  • accountId when the channel is multi-account and the account is known.

If you explicitly set channel to a different channel than the current session, to/chatId is mandatory. Do not rely on current-session fallback for cross-channel delivery.

If message is used to deliver the user-visible result for the turn, do not also send a normal assistant reply.

Route Resolution Order

Resolve the target in this order:

  1. Explicit user input: sessionKey, label, channel, to/chatId, accountId, or a clearly named destination.
  2. Current session route: Only when the user clearly means "here", "this chat", or the current conversation.
  3. Existing known session: Use sessions_list to recover the saved route if the intended target already exists as a routable session.
  4. Channel discovery command: If the exact channel id, default account, or bound self user is not already explicit, run nextclaw channels list --json and treat its output as authoritative channel state.
  5. Authoritative context already exposed to the AI: existing session metadata, project docs, or a known local config file path/content.
  6. Ask a narrow follow-up question.

Never guess channel, chatId, sessionKey, or accountId.

Current-session fallback only applies when the current session is already the intended delivery conversation. It does not authorize cross-channel sends such as channel=feishu from a UI/CLI/Weixin session without an explicit Feishu target.

Config And Local Files

Local config can be a useful source of truth, but only when it is already available to the AI in an explicit and auditable way.

Use config or local files when:

  • the relevant path is already known,
  • the current environment clearly exposes that file,
  • and the file is meant to describe saved channel/account routing information.

Do not assume:

  • that a hidden config file exists,
  • that you know its path without evidence,
  • or that a saved account in config automatically proves the destination is reachable right now.

Treat config as route data, not as delivery proof.

Authoritative Route Sources

When this skill is active, prefer route sources in this order:

  1. A route the user explicitly typed.
  2. Channel ids and account facts returned by nextclaw channels list --json.
  3. A saved session route that the environment already surfaced.
  4. A local config file only when its path/content is already available in the current environment.

Do not translate natural language channel names into guessed ids. If the exact id is not already known, discover it with the command first.

Multi-Account Channels

For channels that may have multiple logged-in accounts:

  • if one account is explicitly specified, pass accountId,
  • if the environment clearly exposes a default account, that may be enough,
  • if there are multiple plausible accounts and no clear default, ask.

Do not silently choose an arbitrary account.

Bound Self Route

When the user asks to send to "me", "my Weixin", "my Telegram", or another self-owned channel destination, do not ask for a route id before checking channel discovery.

Use this generic lookup:

  1. Run nextclaw channels list --json.
  2. Pick the exact channel from channels[].id.
  3. Read defaultAccountId.
  4. In accounts, find the account whose id equals defaultAccountId.
  5. If that account has userId, use it as to for message.
  6. If defaultAccountId, the matching account, or userId is missing, ask only for the smallest missing value or tell the user to log in/bind the channel first.

The command output is state, not a sending recipe. The skill owns this workflow; message only receives the final channel, accountId, to/chatId, and content.

Show full SKILL.md (783 more words)Show less

Weixin As An Example

Weixin is only one example of a channel handled through the same general rule set.

When the user asks for Weixin delivery:

  • prefer an existing Weixin session if one already exists,
  • otherwise use message with explicit route data,
  • run nextclaw channels list --json if weixin, the default account, or the bound user route is not already known,
  • use channel: "weixin" as the concrete channel id when the command or existing context exposes it; do not write channel: "wechat" even when the user says WeChat/微信,
  • include accountId from defaultAccountId when the command exposes it,
  • for "send to my Weixin", use accounts[].userId from the default account as to,
  • do not claim that proactive delivery is guaranteed visible unless the environment already proves that.
Weixin Route Lookup Checklist

Before asking the user for a Weixin user_id, check whether nextclaw channels list --json already exposes:

  • id: "weixin",
  • defaultAccountId,
  • accounts[] containing that account id,
  • and accounts[].userId.

Rules:

  • If the default account exposes userId, do not ask again for user_id.
  • If only accountId is known but to/user_id is still unknown, ask only for the missing Weixin user_id or ask the user to log in/bind Weixin first.
  • If multiple Weixin routes are exposed, ask the user which one to use instead of guessing.
  • If you need to check whether a matching Weixin session already exists, prefer sessions_list({ channel: "weixin", to, accountId }) over a broad unfiltered session listing.
Weixin User ID Safety

Weixin user_id@im.wechat is channel-specific route data.

  • Do not call Feishu/Lark/Telegram contact lookup tools to guess a Weixin user id.
  • Do not assume a user id from another channel can be reused on Weixin.
  • Do not ask for a generic "user info" field when the only missing value is the Weixin user_id.
  • Ask only for the exact missing field, for example: Please provide the Weixin user id in the form <user_id@im.wechat>.

Do not turn this skill into a Weixin-only skill.

Feishu As Another Example

When the user asks for Feishu/Lark delivery:

  • omitting target is only valid if the current session itself is already a Feishu conversation,
  • for proactive sends from UI, CLI, or another channel, resolve an explicit Feishu route first,
  • preferred explicit targets are user:<open_id> for direct messages and chat:<chat_id> for group chats,
  • if a saved Feishu session already exists, prefer reusing that session route over guessing.
Feishu Route Lookup Checklist

Before asking the user again, check whether the environment already exposed any of these:

  • a current Feishu session,
  • an existing Feishu session from sessions_list,
  • saved session metadata such as last_channel=feishu and last_to=ou_...,
  • a known default Feishu account when multi-account routing matters.

Rules:

  • If the current session is Feishu, replying there may omit target.
  • If the current session is not Feishu, do not call message(channel=feishu) without to/chatId.
  • If an existing Feishu session already gives you the route, recover that route and send with message.
  • If only the Feishu destination is missing, ask only for the missing open_id or chat_id.

Failure Handling

If delivery fails because route information is missing or ambiguous:

  • surface the missing field clearly,
  • ask only for the smallest missing piece,
  • do not silently fall back to another channel,
  • do not silently send back into the current session instead.

If the user asks only to "notify me when done" with no external destination, finish in the current session; ask for route data only when an external channel is clearly requested but cannot be resolved. If message returns unknown channel, run nextclaw channels list --json, pick only an exact returned id, and retry only when the target route is otherwise unambiguous.

Common Failure Patterns To Avoid

  • Seeing "Weixin" and then trying unrelated user lookup tools from another channel.
  • Writing channel: "wechat" instead of discovering and using the exact runtime id.
  • Skipping nextclaw channels list --json when the exact channel id is unknown.
  • Asking for both accountId and user_id when only one of them is actually missing.
  • Treating "send it to me" as permission to pick Weixin or another configured channel.
  • Returning a durable news digest or report only as a transient chat message when deliver_to_inbox is available and no external channel was requested.
  • Falling back to a normal reply in the current chat when the user explicitly requested proactive delivery.
  • Claiming proactive send is impossible before checking channel discovery output, current session metadata, and known routes.

Success Criteria

This skill is working correctly when:

  • the AI chooses correctly among a normal reply, deliver_to_inbox, and message,
  • durable material without an explicit external destination lands in the NextClaw inbox,
  • it reuses existing session routes when possible,
  • it reads route/account information from explicit context when available,
  • it asks for missing route data instead of guessing,
  • and it keeps the solution lightweight by using existing NextClaw primitives only.

© Peiiii, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in packages/nextclaw-core/src/features/agent/shared/skills/cross-channel-messaging of Peiiii/nextclaw.

Open the folder on GitHubat commit 4d9d500

Compare with similar skills

Cross Channel Messaging next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cross Channel Messaging compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cross Channel Messaging this skillPeiiii/nextclaw260—~3.2kAutomated safety check: PassMIT
Process Inboxtelegramdesktop/tdesktop33k1 repos~5.4kAutomated safety check: PassGPL-3.0
Process InboxTDesktop-x64/tdesktop3k—~4.3kAutomated safety check: PassGPL-3.0
Tg Responderglebis/claude-skills391—~1kAutomated safety check: PassMIT
Continuetelegramdesktop/tdesktop33k2 repos~9.4kAutomated safety check: PassGPL-3.0
Claude To Imop7418/Claude-to-IM-skill2.9k—~3.4kAutomated safety check: NotesMIT

Similar skills

  • Process Inbox

    telegramdesktop/tdesktop

    Process the local ignored ai-tdesktop inbox into durable, independently testable Telegram Desktop task records while task execution worktrees remain active.

    33k GitHub starsUsed in 1 repo~5.4k tokens
    Productivity & AutomationAuto-check passed
  • Process Inbox

    TDesktop-x64/tdesktop

    Process the local ignored ai-tdesktop inbox into durable, independently testable Telegram Desktop task records while task execution worktrees remain active.

    3k GitHub stars~4.3k tokensUpdated 19 days ago
    Productivity & AutomationAuto-check passed
  • Tg Responder

    glebis/claude-skills

    Review and send Telegram response drafts, manage follow-ups for unanswered outbound messages.

    391 GitHub stars~1k tokensUpdated 3 days ago
    Productivity & AutomationAuto-check passed
  • Continue

    telegramdesktop/tdesktop

    Continue autonomous Telegram Desktop development from the shared ai-tdesktop repository.

    33k GitHub starsUsed in 2 repos~9.4k tokens
    Productivity & AutomationAuto-check passed
  • Claude To Im

    op7418/Claude-to-IM-skill

    Bridge THIS Claude Code or Codex session to Telegram, Discord, Feishu/Lark, QQ, or WeChat so the user can chat with Claude from their phone.

    2.9k GitHub stars~3.4k tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check: notes
  • Drives the traul CLI to sync, search and monitor messages from Slack, Telegram, Discord, Linear, Gmail, WhatsApp, Claude Code sessions and Markdown files.

    112 GitHub stars~3.9k tokensUpdated 5 mo ago
    Productivity & AutomationAuto-check: notes

More from Peiiii/nextclaw

All 70 skills in this repo
  • Nextclaw Skin Studio

    Peiiii/nextclaw

    A skill your agent uses when a user wants to browse, apply, inspect, create, refine, switch, or remove a NextClaw skin; wants a personal skin with arbitrary CSS, JavaScript, images, SVG, DOM…

    260 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • A skill your agent uses when a development task needs visible phase tracing, task-level or phase-level Token measurement, model/effort comparison, or a deterministic usage report or local dashboard…

    260 GitHub stars~802 tokensUpdated yesterday
    Auto-check passed
  • 当 NextClaw 产品更新后需要生成、替换、挑毛病或检查官网、GitHub README、用户文档或社交传播中的真实截图、AI 宣传视觉、整页 HTML 宣传预览、社区二维码等对外视觉资产时使用;也用于“更新截图”“重新截一批图”“做宣传页”“生成 campaign 页面”“视觉审稿”“五星挑刺法”或发布前检查视觉资产。普通站点布局开发或只写文章不触发。

    260 GitHub stars~801 tokensUpdated yesterday
    Auto-check passed
  • UI UX Pro Max

    Peiiii/nextclaw

    A skill your agent uses when the user wants professional UI/UX design guidance, design-system generation, UX review, or stack-specific frontend guidance through a bundled local UI/UX Pro Max dataset…

    260 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Impeccable

    Peiiii/nextclaw

    A skill your agent uses when the user wants distinctive, production-grade frontend design, anti-generic AI aesthetics, UX critique, technical UI audits, or final polish through bundled Impeccable…

    260 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Curate NextClaw skill resources, including OpenClaw and community sources.

    260 GitHub stars~479 tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Cross Channel Messaging

What does Cross Channel Messaging do?

A skill your agent uses when deciding how to deliver an AI result: reply now, put durable news, reports, recommendations, or articles in the NextClaw inbox, or send to an explicitly requested chat…. Cross Channel Messaging is an agent skill from Peiiii/nextclaw. Use when deciding how to deliver an AI result: reply now, put durable news, reports, recommendations, or articles in the NextClaw inbox, or send to an explicitly requested chat channel without guessing a route.

When should I use Cross Channel Messaging?

Cross Channel Messaging fits situations like: deciding how to deliver an AI result: reply now; put durable news; recommendations; articles in the NextClaw inbox.

How do I install Cross Channel Messaging in Claude Code?

Run `npx skills add Peiiii/nextclaw --skill cross-channel-messaging -a claude-code`. Or copy the skill folder (packages/nextclaw-core/src/features/agent/shared/skills/cross-channel-messaging in Peiiii/nextclaw) into .claude/skills/cross-channel-messaging in your project. Claude Code loads it when a task matches its description.

How do I install Cross Channel Messaging in Codex?

Run `npx skills add Peiiii/nextclaw --skill cross-channel-messaging -a codex`. Or copy the skill folder (packages/nextclaw-core/src/features/agent/shared/skills/cross-channel-messaging in Peiiii/nextclaw) into .agents/skills/cross-channel-messaging in your project. Codex loads it when a task matches its description.

Can I use Cross Channel Messaging in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Peiiii/nextclaw --skill cross-channel-messaging -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cross-channel-messaging, .gemini/skills/cross-channel-messaging, .github/skills/cross-channel-messaging and .opencode/skills/cross-channel-messaging in your project.

What does Cross Channel Messaging need to run?

SKILL.md names no scripts, command-line tools or credentials: Cross Channel Messaging is instructions for the agent only.

Does Cross Channel Messaging access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Cross Channel Messaging safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Cross Channel Messaging use?

Cross Channel Messaging is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cross Channel Messaging use?

About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cross Channel Messaging?

Skills that share tags, products or a category with Cross Channel Messaging: Process Inbox (telegramdesktop/tdesktop, 33k stars), Process Inbox (TDesktop-x64/tdesktop, 3k stars), Tg Responder (glebis/claude-skills, 391 stars) and Continue (telegramdesktop/tdesktop, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cross Channel Messaging?

Peiiii (a GitHub user) maintains it in Peiiii/nextclaw, which has 260 GitHub stars. The repository holds 70 skills in this directory. The repository was last updated on October 9, 2026.

Source: Peiiii/nextclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.