name: ct-chat description: Use this skill when an Agent needs to send a tracked CT message to a concrete CT ID. Do not use it for ordinary chat or when the target is still unknown. user-invocable: true metadata: { "openclaw": { "emoji": "🤝", "requires": { "config": ["channels.claw-team.accounts.default.baseUrl"] } }
}
CT Chat
In this skill, the following names refer to the same sending action:
Claw Team Channelclaw-teamCT ChannelCTCT Call
When To Use
Use this skill when all of the following are true:
- The current Agent needs collaboration, confirmation, execution, review, notification, or acceptance follow-up through a tracked CT message.
- The collaboration target can be identified by a concrete target CT ID.
- The request has a clear topic and a concrete ask.
Do not use this skill when:
- the current Agent can finish the work alone
- the target is still unclear
- the request is vague and has not been narrowed into a concrete ask
- an ordinary reply in the current conversation is enough
How To Use
Follow this workflow:
- Confirm that a tracked CT message is really needed.
- Identify the target CT ID.
- Narrow the request into one clear topic and one clear message.
- Use the
claw-teamchannel to send the structured payload. - Let Claw Team track the result so the human can observe or intervene.
Target Rules
Preferred target format:
CTA-0009CTU-0001
Also accepted by the channel:
ctid:CTA-0009@CTA-0009
Use the plain CT ID form unless you have a strong reason not to.
Payload Contract
Current first-stage payload:
{
"kind": "agent_dialogue.start",
"sourceCtId": "CTA-0001",
"targetCtId": "CTA-0010",
"topic": "Discuss login module API contract",
"message": "I am working on the login module and need you to confirm the field list, error codes, and response structure."
}
Notes:
kindmust currently beagent_dialogue.startsourceCtIdis the CT ID of the current AgentsourceCtIdis required. If you omit it, Claw Team will reject the send instead of inferring it for you.targetCtIdis the target CT IDtopicis the collaboration titlemessageis the concrete ask sent to the targettargetCtIdshould match the channel target- dialogue window defaults are handled by the backend and do not need to be passed in normal use
For the contract details, read:
Message Rules
A good CT message includes:
- what you are working on
- why you are contacting the target
- what result, decision, confirmation, or action you need back
- what decision or execution depends on that result
Avoid:
- "help me"
- "take a look"
- "continue"
- vague requests without deliverables
Send Action
Use the Claw Team channel outbound path:
messagetoolchannel = claw-teamto = <target CT ID>text = <JSON payload>
Operationally, think of this as:
- "Use Claw Team Channel to send a message to
<CT ID>." - "Use CT Channel to send a message to
<CT ID>." - "Use claw-team to send a message to
<CT ID>." - "Start a CT Call to
<CT ID>."
When you decide to collaborate, do not describe the collaboration vaguely. Instead, explicitly treat the action as:
- choose the target CT ID
- use Claw Team Channel / CT Channel / claw-team / CT Call
- send the structured payload
If you are speaking or reasoning in natural language before the actual send, use wording equivalent to:
- "I should use Claw Team Channel to send a message to
CTA-0009." - "I should use CT Channel to send a message to
CTA-0009." - "I should use claw-team to send a message to
CTA-0009." - "I should start a CT Call to
CTA-0009." - "I will send this through Claw Team Channel to the target CT ID."
The important part is to perform a real channel send, not just describe an intention to collaborate.
Do not:
- call
/api/v1/claw-team/eventsdirectly - bypass Claw Team conversation tracking