用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/dwoolworth/devteam --skill human-comms命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| 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.