用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/AttuneLearning/ai_team_config --skill comms命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | comms |
| description | Manage inter-team communication, issues, and coordination |
| argument-hint | [check|send|issue|status|move|archive] |
Manage inter-team communication, issues, and coordination.
/comms [action] [options]
Determine your team identity before any action:
./team.json for team paths (inbox, issues_queue, issues_active, etc.)from_header, issue_prefix).
If sub-role not yet established this session, prompt the user to select one from team.json allowed_sub_roles.ai_team_config/roles/{sub-role}.yaml for role-specific fields (function, issue_prefix, comms.from_header)team_id from team.json to resolve paths (inbox, issues, status)Path variables used below:
{my_inbox} — dev_communication/{my_team}/inbox/{my_issues} — dev_communication/{my_team}/issues/{other_inbox} — dev_communication/{other_team}/inbox/{my_status} — dev_communication/{my_team}/status.mdQA gate references:
ai_team_config/teams/checklists/qa-gate.yamlai_team_config/scripts/qa_poll_cycle.shShared contract DTOs live in dev_communication/shared/contracts/. These are the canonical source of truth for all API request/response shapes between teams.
Rules:
Record<string, unknown>, any, or unknown to reshape them./comms send). Describe what is needed, what the contract currently provides, and which endpoint is affected. Reference the contract file. This is the entire purpose of /comms — surface mismatches, don't hide them./comms send. Backend updates the contract and the implementation. Frontend then consumes the updated DTO directly.Prohibited patterns:
order → sequence in a transform layer)in_progress → in-progress in a mapping function)dataSource from playerType instead of reading it from the response)?? 'quiz', ?? 'in-progress')Reference: ADR-DEV-004-CONSUME-CONTRACTS-DIRECTLY-NO-NORMALIZERS
Based on the user's request or argument, perform one of these actions:
Header normalization for new messages:
From/To: Backend-Dev, Backend-QA, Frontend-Dev, Frontend-QA.API Team or UI Team in newly authored messages.Check inbox, pending issues, and team status.
Trigger: /comms, /comms check, "check messages", "any updates?"
Steps:
{my_inbox}{my_issues}/queue/{my_issues}/active/Project policy:
dev_communication/backend/* unless the user explicitly asks for cross-team scope.QA polling policy:
*-qa roles, check must include detection of items marked Development Complete or Awaiting QA.ai_team_config/scripts/qa_poll_cycle.sh --watch --interval 240ai_team_config/scripts/qa_poll_cycle.sh --onceai_team_config/scripts/qa_poll_cycle.sh --once --manual-ok --approveOutput format:
## Comms Status
### {My Team} Inbox
- [filename] - [first line/subject]
- (or "No pending messages")
### {My Team} Issue Queue
- [ISS-xxx] - [title]
- (or "No pending issues")
### {My Team} Active Issues
- [ISS-xxx] - [title] - [status]
- (or "No active issues")
Send a message to another team.
Trigger: /comms send, "send message to {team}", "notify {team} team"
Steps:
dev_communication/templates/YYYY-MM-DD_{subject_slug}.md{other_inbox}If responding to a message:
In-Response-To: fieldarchive/Create a new issue.
Trigger: /comms issue, "create issue", "new issue"
Steps:
{my_issues} across queue/active/completed to determine next issue numberdev_communication/templates/issue-template.md{ISSUE_PREFIX}-{NNN}_{title_slug}.md{my_issues}/queue/Status: QUEUE in issue metadataFor cross-team issues:
Related: fieldUpdate team status.
Trigger: /comms status, "update status", "set focus"
Steps:
{my_status}Move an issue through lifecycle.
Trigger: /comms move ISS-xxx, "move issue to active", "complete ISS-xxx"
Steps:
queue -> Status: QUEUE and path issues/queue/active -> Status: ACTIVE and path issues/active/completed -> Status: COMPLETE and path issues/completed/Completion ownership (mandatory):
completed/.queue/ to active/ only.active/ until QA independently verifies and moves them.completed/, reject the action and remind them that QA owns this step.QA completion gate (mandatory):
completed/, QA must verify checklist requirements in ai_team_config/teams/checklists/qa-gate.yaml:
active/, append QA findings, and send unblock criteria to dev.Archive completed message threads.
Trigger: /comms archive, "archive messages"
Steps:
{my_inbox} and {other_inbox}dev_communication/archive/YYYY-MM-DD_{thread_subject}/dev_communication/
├── {team}/
│ ├── inbox/ # Team inbox (messages from other teams)
│ └── issues/
│ ├── queue/ # Pending issues
│ ├── active/ # In-progress issues
│ └── completed/ # Completed issues
├── shared/
│ ├── architecture/ # ADRs, gaps, suggestions
│ ├── guidance/ # Development principles, role guidance
│ ├── plans/ # Shared plans
│ ├── specs/ # Feature specs
│ └── contracts/ # Shared contract DTOs (source of truth for API shapes)
│ └── types/ # TypeScript DTO definitions — backend defines, frontend consumes
├── templates/ # Message and issue templates
└── archive/ # Archived message threads
After completing work, suggest:
/comms send)"/comms move)"/comms issue)"When encountering a mismatch between backend response and frontend expectations:
/comms send)" — ALWAYS do this instead of writing a normalizer or transform.