Skip to content
Agent Orchestration
Skill

/channel_message-en

Use this skill to proactively send a one-way message to a user/session/channel, usually only when the user explicitly asks to send to a channel/session or when proactive notification is needed. First query sessions with qwenpaw chats list, then push with qwenpaw channels send.

BOOST
From plugin
agentscope-ai-skills
13128 skills
Install
$ npx -y skills add agentscope-ai/skills --skill channel_message-en --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/channel_message-en

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use this skill to proactively send a one-way message to a user/session/channel, usually only when the user explicitly asks to send to a channel/session or when proactive notification is needed. First query sessions with qwenpaw chats list, then push with qwenpaw channels send.

SKILL.md

channel_message-en.SKILL.md
name: channel_message
description: Use this skill to proactively send a one-way message to a user/session/channel, usually only when the user explicitly asks to send to a channel/session or when proactive notification is needed. First query sessions with qwenpaw chats list, then push with qwenpaw channels send.
metadata:
  builtin_skill_version: "1.3"
  qwenpaw:
    emoji: "📤"

Channel Message

When to Use

Use this skill only when the **user explicitly asks you to send a message to a channel/session**, or when you need to **proactively push a notification** (e.g., task completion, reminders, alerts). This is a **one-way send** — **no reply is returned**.

Should Use

  • The user explicitly asks to send to a specific channel/session
  • Proactively notifying the user after a task completes
  • Scheduled reminders, alerts, or status updates
  • Pushing async results back to an existing session
  • The user explicitly says "notify me when done"

Should Not Use

  • If you are simply replying in the current session, **do not use `qwenpaw channels send`**
  • You need a two-way conversation and expect an immediate reply
  • You do not know which target session to use
  • You are guessing `target-user` or `target-session`

Decision Rules

1. **Only use this when the user explicitly asks to send to a channel/session, or proactive notification is needed** 2. **You must query sessions before sending** 3. **Do not guess `target-user` or `target-session`** 4. **If multiple sessions are found, prefer the most recently active one** 5. **`channel send` is a one-way push — no user reply is returned**

---

Most Common Commands

1) Query available sessions first

qwenpaw chats list --agent-id <your_agent> --channel <channel>

You can also filter by user:

qwenpaw chats list --agent-id <your_agent> --user-id <user_id>

2) Send a message

qwenpaw channels send \
  --agent-id <your_agent> \
  --channel <channel> \
  --target-user <user_id> \
  --target-session <session_id> \
  --text "..."

---

Minimal Workflow

1. Determine: is the user explicitly requesting a send, or is proactive notification needed?
2. qwenpaw chats list — query the target session
3. Extract user_id and session_id from the results
4. If multiple sessions exist, prefer the most recently active one
5. qwenpaw channels send — send the message
6. Done (no reply)

---

Key Rules

Required Parameters

`qwenpaw channels send` requires all of the following:

  • `--agent-id`
  • `--channel`
  • `--target-user`
  • `--target-session`
  • `--text`

Must Query First

Before sending, run:

qwenpaw chats list --agent-id <your_agent> --channel <channel>

Extract from the results:

  • `user_id` → `--target-user`
  • `session_id` → `--target-session`

If there are multiple candidate sessions, prefer the one with the most recent `updated_at`.

One-Way Push

`qwenpaw channels send` only sends — it does not wait for a reply.

---

Brief Examples

User explicitly asks to send to a channel

qwenpaw chats list --agent-id notify_bot --channel feishu

qwenpaw channels send \
  --agent-id notify_bot \
  --channel feishu \
  --target-user manager_id \
  --target-session manager_session \
  --text "Weekly report is ready, please review"

Task completion notification

qwenpaw chats list --agent-id task_bot --channel console

qwenpaw channels send \
  --agent-id task_bot \
  --channel console \
  --target-user alice \
  --target-session alice_console_001 \
  --text "Task completed"

Async result push-back

qwenpaw chats list --agent-id analyst_bot --user-id alice

qwenpaw channels send \
  --agent-id analyst_bot \
  --channel console \
  --target-user alice \
  --target-session alice_console_001 \
  --text "Data analysis is complete. Results saved to report.pdf"

---

Common Mistakes

Mistake 1: Using channel send for a normal reply

If you are replying to the user in the current session, do not use `qwenpaw channels send`.

Mistake 2: Sending without querying sessions first

Do not guess `target-user` or `target-session`. First run:

qwenpaw chats list --agent-id <your_agent> --channel <channel>

Mistake 3: Missing required parameters

All five are required: `--agent-id`, `--channel`, `--target-user`, `--target-session`, `--text`.

Mistake 4: Expecting a reply from send

There is no reply. It only pushes the message.

Mistake 5: Picking an arbitrary session when the user has multiple

Prefer the most recently active session.

---

Optional Commands

List all sessions

qwenpaw chats list --agent-id <your_agent>

List sessions for a specific user

qwenpaw chats list --agent-id <your_agent> --user-id <user_id>

List available channels

qwenpaw channels list --agent-id <your_agent>

---

Difference from Agent Chat

  • **qwenpaw agents chat**: sends to another agent, two-way, returns a reply
  • **qwenpaw channels send**: sends to a user/session/channel, one-way, no reply

**Selection principle**:

  • Need to collaborate with another agent → `qwenpaw agents chat`
  • Need to proactively push a message to a user → `qwenpaw channels send`

---

Full Parameter Reference

qwenpaw chats list

**Required parameters**:

  • `--agent-id`: Agent ID

**Optional parameters**:

  • `--channel`: filter by channel
  • `--user-id`: filter by user
  • `--base-url`: override API address

qwenpaw channels send

**Required parameters** (5):

  • `--agent-id`: sender agent ID
  • `--channel`: target channel (console/dingtalk/feishu/discord/imessage/qq/...)
  • `--target-user`: target user ID (obtained from `qwenpaw chats list`)
  • `--target-session`: target session ID (obtained from `qwenpaw chats list`)
  • `--text`: message content

**Optional parameters**:

  • `--base-url`: override API address

---

Help

Use `-h` at any time to view detailed help:

qwenpaw channels -h
qwenpaw
Read more
Ships withagentscope-ai-skills

A curated collection of skills around AgentScope ecosystem and QwenPaw applications — ready to be installed into AI coding assistants like Claude Code, Cursor, and more.

Get the whole plugin

Other skills on agentscope-ai-skills.