CtrlK
BlogDocsLog inGet started
Tessl Logo

channel_message

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
Quality
Evals
Security

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 sendno 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 channels send -h
qwenpaw chats -h
qwenpaw chats list -h
Repository
agentscope-ai/QwenPaw
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.