بنقرة واحدة
human-comms
Communicate with human stakeholders via Meeting Board, Discord, or Slack webhooks.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Communicate with human stakeholders via Meeting Board, Discord, or Slack webhooks.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Participate in team discussions, report quality patterns, and respond to mentions on the Meeting Board.
Read review queue, post review feedback, and transition tickets through the CQ gate on the Planning Board.
Post status updates, respond to mentions, and communicate with the team on the Meeting Board.
Read assigned tickets, post comments, and update ticket status on the Planning Board.
Post deployment status, infrastructure health updates, and coordinate with team on the Meeting Board.
Read tickets, post deployment comments, and move tickets to closed status on the Planning Board.
| name | human-comms |
| description | Communicate with human stakeholders via Meeting Board, Discord, or Slack webhooks. |
PO is the sole interface between the AI team and human stakeholders. This skill covers how to communicate with humans through the Meeting Board #humans channel, Discord webhooks, and Slack webhooks.
| Environment Variable | Required | Description |
|---|---|---|
HUMAN_COMMS_TYPE | No (default: meeting-board) | Communication channel: meeting-board, discord, or slack |
HUMAN_COMMS_WEBHOOK_URL | Only for discord/slack | The webhook URL for the external service |
MEETING_BOARD_URL | Yes | Meeting Board base URL (always needed for fallback) |
MEETING_BOARD_TOKEN | Yes | PO's auth token for the Meeting Board |
completed. Notify the human.#humans (Default / Fallback)This is the default channel and the fallback for all external webhook failures. Messages posted here are visible on the Meeting Board dashboard.
curl -s -X POST "${MEETING_BOARD_URL}/api/channels/humans/messages" \
-H "Authorization: Bearer ${MEETING_BOARD_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"body": "Your message here",
"mentions": ["human"]
}'
curl -s -X GET "${MEETING_BOARD_URL}/api/channels/humans/messages?limit=20" \
-H "Authorization: Bearer ${MEETING_BOARD_TOKEN}"
When HUMAN_COMMS_TYPE=discord, send messages to a Discord channel via webhook.
curl -s -X POST "${HUMAN_COMMS_WEBHOOK_URL}" \
-H "Content-Type: application/json" \
-d '{
"username": "DevTeam PO",
"content": "Your message here"
}'
curl -s -X POST "${HUMAN_COMMS_WEBHOOK_URL}" \
-H "Content-Type: application/json" \
-d '{
"username": "DevTeam PO",
"embeds": [{
"title": "Initiative Update: INIT-001",
"description": "Your initiative has been decomposed into actionable work.",
"color": 5814783,
"fields": [
{"name": "Epics Created", "value": "EPIC-010, EPIC-011", "inline": true},
{"name": "Stories Created", "value": "STORY-050 through STORY-058", "inline": true},
{"name": "Status", "value": "Work is queued and will begin shortly."}
]
}]
}'
A successful Discord webhook returns HTTP 204 (No Content). Any other status code is a failure — fall back to Meeting Board.
When HUMAN_COMMS_TYPE=slack, send messages to a Slack channel via incoming webhook.
curl -s -X POST "${HUMAN_COMMS_WEBHOOK_URL}" \
-H "Content-Type: application/json" \
-d '{
"text": "Your message here"
}'
curl -s -X POST "${HUMAN_COMMS_WEBHOOK_URL}" \
-H "Content-Type: application/json" \
-d '{
"blocks": [
{
"type": "header",
"text": {"type": "plain_text", "text": "Initiative Update: INIT-001"}
},
{
"type": "section",
"text": {"type": "mrkdwn", "text": "Your initiative has been decomposed into actionable work.\n\n*Epics Created:* EPIC-010, EPIC-011\n*Stories Created:* STORY-050 through STORY-058\n*Status:* Work is queued and will begin shortly."}
}
]
}'
A successful Slack webhook returns HTTP 200 with body ok. Any other response is a failure — fall back to Meeting Board.
[INIT-XXX] Initiative: "Title"
I have reviewed this initiative and need clarification before I can break it down into actionable work:
1. [Specific question about scope, priority, constraint, or expected outcome]
2. [Specific question]
3. [Specific question]
Please reply with answers so I can create the appropriate Epics and Stories. Without this clarity, I cannot guarantee the team builds what you actually need.
[INIT-XXX] Initiative Received: "Title"
I have picked up your initiative. I am reviewing the details and will follow up with clarifying questions if needed, or a breakdown summary once decomposition is complete.
Expected turnaround: Next heartbeat cycle (within 15 minutes).
[INIT-XXX] Initiative Decomposed: "Title"
Your initiative has been broken down into the following work items:
Epic(s):
- EPIC-XXX: "Epic title"
Stories:
- STORY-XXX: "Story title" (assigned to ${MENTION_DEV}, priority: high)
- STORY-XXX: "Story title" (assigned to ${MENTION_DEV}, priority: medium)
- STORY-XXX: "Story title" (assigned to ${MENTION_DEV}, priority: medium)
All stories have acceptance criteria. The team will begin work in priority order. I will update you as items are completed.
Initiative ticket INIT-XXX is now closed.
[INIT-XXX] Reminder: Awaiting Your Response
I asked clarifying questions on this initiative 24 hours ago and have not received a response. The initiative cannot be decomposed until these questions are answered:
1. [Original question 1]
2. [Original question 2]
Please respond when you can. The initiative remains in TODO until we have clarity.
#humans immediately. Include a note in the fallback message: [Webhook delivery failed — posting here as fallback].HUMAN_COMMS_WEBHOOK_URL is empty but type is discord/slack: Log a warning. Use Meeting Board as fallback. Do not crash.#ad-hoc with @human and PO relays.