본문으로 건너뛰기
cccskills
무료GitHub에 공개

teamharness-communication

Deliver TeamHarness messages to the correct room, channel, or session using recorded reply routes. It covers task handoffs and requester reports, while defining when to reply directly or suppress acknowledgements that could cause message loops.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Use for TeamHarness message delivery details after a flow has decided a message must be sent: current-session reply, NO_REPLY, cross-room/cross-channel message tool payloads, PROJECT_REQUESTED task-room handoff, and requester replyRoute reports. Do not use to choose work mode, create rooms, delegate, check, or accept tasks.

설치 방법 보기

이럴 때 유용합니다

  • Deliver progress reports to the original requester
  • Hand off a request to a Matrix task room
  • Send messages across rooms or channels
  • Suppress repeated acknowledgement exchanges

포함된 파일(1)

  • SKILL.md10.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Communication

This skill expands the TEAMS.md Communication Contract.

It only handles message delivery protocols. It does not choose Direct Reply, Quick Task, or Project Work. It does not create rooms, delegate tasks, check Worker results, or accept project state.

For ordinary direct replies and lightweight one-off answers in the current room/session, answer directly. Use the message MCP tool only when a message must leave the current runtime conversation.

Use NO_REPLY exactly when the current event is a low-information acknowledgement, self echo, or non-actionable mention-only message. Do not add extra explanation to NO_REPLY.

Prevent ping-pong loops. Do not let acknowledgements, mention-only messages, or same-room status echoes create repeated cross-room or cross-agent replies.

Channel / Room Selection Protocol

Use this protocol after another TeamHarness flow has already decided that a message should be sent.

  1. If the reply belongs in the current runtime session, answer directly.
  2. If a project requester report is needed, prefer the project's reply_route.
  3. Use the Task room for task-visible coordination: task request messages, Worker assignments, Worker completion/blocker reports, and downstream delegation notices.
  4. If the selected destination is an external channel, another Matrix room, or another runtime session, use the message MCP tool.
  5. If the destination is missing or ambiguous, do not guess. Restore project or task state first, or ask for the missing routing detail.

Use the Source channel / requester room for direct replies and requester-facing reports only when the current session or recorded reply_route points there. Use a project reply_route for requester-facing reports.

Do not treat a Task room assignment, Worker completion, Worker blocker report, or downstream delegation as a requester report unless the recorded requester route is exactly that current room.

Requester Report Delivery Protocol

Use this protocol only after project state says a requester report is needed, for example after accepted project progress or a blocker that must be surfaced to the requester. When project state has a pending requester report, delivery to that requester route is mandatory.

Prefer reply_route:

{
  "channel": "dingtalk",
  "target_user": "sender_001",
  "target_session": "aaaaaaaa"
}

Matrix DM requester reports use the same route shape, with targetSession pointing at the original DM room:

{
  "channel": "matrix",
  "target_user": "@admin:matrix.local",
  "target_session": "!admin-dm:matrix.local"
}

For Matrix DM-originated projects, requester=@user is identity only. It is not enough to deliver a requester report after the Leader wakes up in a Task room. Use the persisted Matrix reply_route and send to its target_session.

For legacy projects without reply_route, parse requester only when it uses a known encoding:

Legacy requesterDelivery
matrix:!roomid:domainmessage with channel: "matrix" and target: "room:!roomid:domain"
dingtalk:{user_id}:{session_id}message with channel: "dingtalk", targetUser, and targetSession

Do not guess missing channel, user, room, or session values. If a legacy Matrix requester points at the current room/session, answer directly instead of using the message tool.

After successful delivery, return to teamharness-project-management to record the report as sent; project-management owns project state such as projectflow mark_requester_report_sent.

Message Tool Protocol

Use the message MCP tool only for explicit cross-room, cross-channel, or cross-session sends. Do not use it for normal replies in the current room/session; answer directly instead.

Task Room Request Message

Use this shape when a Source channel / requester room has created or reused a Matrix task room and must hand Quick Task or Project Work to the same Leader in that task room.

The message text should be a compact task request, not a Worker assignment and not a full project plan. Include enough source context for the task-room Leader to create project state and preserve the requester route:

PROJECT_REQUESTED: <short task or project title>

Requester: <human/source identity>
Source: <source channel and source session or room>
ReplyRoute: <recorded requester replyRoute summary>
TaskRoom: !task-room:matrix.local

Request:
<1-5 sentence requester ask>

Expected outcome:
- <deliverable or acceptance point>
- <report/artifact expectation>

Send it with the PROJECT_REQUESTED self-trigger payload below. After the tool returns delivery.sent: "matrix_self_trigger", stop in the source session.

PROJECT_REQUESTED Self Trigger

Use this only for same-agent Quick Task or Project Work handoff from any requester/source session, such as DingTalk group, Matrix DM, or another Matrix room, into a target Matrix task room. The tool sends a Matrix event with a TeamHarness trigger marker; the QwenPaw Matrix channel accepts that marked self event as the target room's current event.

Set top-level channel to "matrix" because the trigger target is the Matrix task room. Put the original requester/source channel in sender.session.channel. Set sender.agent and agentId to the current runtime Matrix user id, for example @prod-observe-oncall-bot:at-cn-rpg4um9o601. Do not use role names such as leader, worker names, or workspace names such as default. Pass the requester route as structured replyRoute. Do not write the route only inside message.text; the tool rejects PROJECT_REQUESTED without structured replyRoute and does not send the Matrix trigger. Also include the route values that the task-room Leader must pass to projectflow in message.text. For Matrix routes, include replyRoute.targetSession. For external routes such as DingTalk or Feishu, include replyRoute.channel, replyRoute.targetUser, and replyRoute.targetSession.

Pass message as a JSON object. Do not serialize it into a JSON string. The object form lets the tool attach the TeamHarness trigger marker; a plain Matrix send will be ignored by the target room as the Leader's own ordinary message.

{
  "action": "send",
  "channel": "matrix",
  "sender": {
    "agent": "@prod-observe-oncall-bot:at-cn-rpg4um9o601",
    "session": {
      "channel": "dingtalk",
      "id": "ding-group-session-001"
    }
  },
  "target": "room:!task-room:matrix.local",
  "replyRoute": {
    "channel": "dingtalk",
    "targetUser": "sender_001",
    "targetSession": "ding-group-session-001",
    "mentionSender": true
  },
  "message": {
    "type": "PROJECT_REQUESTED",
    "text": "PROJECT_REQUESTED: <request summary>\nReplyRoute: dingtalk/sender_001/ding-group-session-001\nTask room: !task-room:matrix.local"
  },
  "agentId": "@prod-observe-oncall-bot:at-cn-rpg4um9o601"
}

Expected result:

{
  "delivery": {"sent": "matrix_self_trigger"},
  "context": {"via": "matrix_current_event"},
  "trigger": {"status": "sent"}
}

After this trigger, stop durable project work in the source session. The target task-room Leader session should copy the visible PROJECT_REQUESTED replyRoute into projectflow create_quick_project or create_project as payload.replyRoute; projectflow then persists it in the existing project meta.json.reply_route.

Requester Report Message

Use teamharness-project-management to build the requester-facing report content from project state. This skill only handles delivery shape and message tool payloads.

Deliver the report produced by teamharness-project-management with the recorded replyRoute:

Requester reports are usually informational. Do not use Matrix mention syntax for descriptive owners, executors, reviewers, or participants in the report body. Use plain names unless the report intentionally asks that member to respond or take action.

{
  "action": "send",
  "replyRoute": {
    "channel": "dingtalk",
    "targetUser": "sender_001",
    "targetSession": "aaaaaaaa"
  },
  "text": "<project-management requester report markdown>"
}

Keep the returned Matrix messageId when the requester report is sent to a Matrix room. Use that id as parentEventId for any immediately published report files so the files attach to the report message.

For DingTalk, Feishu, WeChat, or other non-Matrix requester reports, do not describe workspace files as chat attachments or visible file cards. The artifact tool publishes Matrix room files only. If report files exist, include the important shared/... paths in the report text and say they are available from the shared workspace or platform object-storage view.

For cross-session requester reports, pass the recorded replyRoute:

{
  "action": "send",
  "replyRoute": {
    "channel": "dingtalk",
    "targetUser": "sender_001",
    "targetSession": "aaaaaaaa"
  },
  "text": "Project A is ready."
}

For Matrix DM requester reports, pass the recorded Matrix route:

{
  "action": "send",
  "replyRoute": {
    "channel": "matrix",
    "targetUser": "@admin:matrix.local",
    "targetSession": "!admin-dm:matrix.local"
  },
  "text": "Project A is ready."
}

For DingTalk requester reports that should notify the original sender, add mentionSender: true. Use this only with the recorded DingTalk requester route; the message tool will use stored session metadata to mention the sender. If the recorded DingTalk session webhook or sender metadata is missing, the tool returns ok: false and does not fall back to normal delivery. Do not mark the requester report as sent after that failure.

{
  "action": "send",
  "replyRoute": {
    "channel": "dingtalk",
    "targetUser": "sender_001",
    "targetSession": "aaaaaaaa"
  },
  "mentionSender": true,
  "text": "Project A is ready."
}

For cross-room Matrix sends, pass a channel target:

{
  "action": "send",
  "channel": "matrix",
  "target": "room:!source-room:matrix.local",
  "text": "Project A has moved to the task room. I will report back here when accepted."
}

Do not use this for Worker assignment messages in the current Task room. In the Task room, send the TASK_ASSIGNED line as a normal current-session reply so the runtime emits one formatted Matrix event and the Worker is triggered once.

For external channel sends, pass the channel-specific target fields:

{
  "action": "send",
  "channel": "dingtalk",
  "targetUser": "sender_001",
  "targetSession": "aaaaaaaa",
  "text": "Project A is ready."
}

Pass a channel target or replyRoute, not an object-storage path.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Find worker agents in Nacos that match a task, recommend candidates, and import the administrator's chosen worker. It also supports importing a specified nacos package URI, with worker name confirmation and direct reporting of installation failures.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Find a suitable worker for an unassigned task
  • Compare Nacos worker candidates before importing
  • Import a worker from a specified nacos package URI
agentscope-ai/AgentTeams5.8천2026년 10월 17일 업데이트

Prepare an existing OpenClaw setup for import as an AgentTeams managed Worker. Analyze tool dependencies, adapt role instructions and scheduled jobs, and build a ZIP package containing the configuration and custom image requirements.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Moving standalone OpenClaw into AgentTeams
  • Reviewing required tool dependencies
  • Adapting role instructions for a Worker
agentscope-ai/AgentTeams5.8천2026년 10월 17일 업데이트

Manage communication channels by identifying senders, maintaining trusted contacts, and setting the administrator's primary notification destination. It also covers first contact on a new channel and contacting the administrator across channels, with rules for handling unknown senders.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Identify who sent a message in a room
  • Add or remove trusted contacts
  • Configure the administrator's primary notification channel
agentscope-ai/AgentTeams5.8천2026년 10월 17일 업데이트

Prepare coding tasks for delegation to an authorized agent’s AI command-line tool. Set up and synchronize the workspace, write precise change requests, then review returned changes and run relevant checks before reporting completion.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Delegating code implementation or bug fixes to an AI CLI
  • Writing coding requests with clear acceptance criteria
  • Reviewing and testing changes returned by a CLI
agentscope-ai/AgentTeams5.8천2026년 10월 17일 업데이트

Run AI coding command-line tools on behalf of worker agents using their prepared prompts and workspaces. Detect available tools, configure delegation, return results, and apply supported execution controls such as time budgets and permission settings.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Running coding tools for worker agents
  • Detecting and selecting available coding CLIs
  • Setting Qwen Code permissions and time budgets
agentscope-ai/AgentTeams5.8천2026년 10월 17일 업데이트

Guide agent replies in Matrix chat rooms, including when to mention a coordinator, report completion, raise blockers, or answer questions. The rules limit repetitive acknowledgments and stop exchanges that add no new task, question, or decision.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reporting task completion to a coordinator
  • Raising blockers or questions that need action
  • Reducing repetitive acknowledgments
agentscope-ai/AgentTeams5.8천2026년 10월 17일 업데이트

agentscope-ai의 스킬 모두 보기

이 스킬의 문제 신고