关于 teams-adaptive-cards
用于创建 Microsoft Teams Adaptive Cards 的技能,会根据指定传输方式和客户端能力指导卡片结构、功能选择、验证与交付,不假定未提供的后端或收件人。
主要功能
- 01选择正确的传输封装
- 02根据客户端支持选择元素
- 03查阅随附的实现参考
- 04用 Node.js 脚本验证载荷
- 05无需发布即可检查交付内容
适用场景
- 01为 Teams 机器人或工作流创建卡片
- 02准备 Graph chatMessage 附件
- 03构建卡片表单和通知
- 04交付前检查载荷
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ccheney/ robust-skills --skill teams-adaptive-cards安装后在 Claude Code 中输入/teams-adaptive-cards确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/ACTIONS.mdCHEATSHEET.mdELEMENTS.mdGRAPH-ATTACHMENTS.mdRESPONSIVE-DESIGN.mdSURFACES.mdWEBHOOKS-WORKFLOWS.mdscripts/check-teams-card.mjs详细介绍
Teams Adaptive Cards
根据实际 Teams 传输方式和客户端能力,构建所需的卡片。用户的明确指示优先于本技能的指南。
选择传输方式
将所需内容/操作、投递代码或负载以及目标客户端作为输入。卡片的 JSON 和投递封装是两个独立的约定。
| 传输方式 | 必需结构 |
|---|---|
| Bot / Teams SDK | Activity attachments[],卡片 content 为对象 |
| Workflows webhook | { "type": "message", "attachments": [...] } |
| Graph chatMessage | 带匹配 ID 的 HTML 附件占位符;附件 content 为 JSON 字符串 |
| 消息扩展 | 使用适合该扩展类型的附件和预览 |
如果未指定投递方式,可以先准备原始卡片,同时确认传输方式。不要虚构 webhook URL、收件人或 bot 后端。审批/表单需要能够处理其操作的传输方式;通知 webhook 不是 bot。
匹配能力
参考资料采用的 Teams 基线是卡片版本最高至 1.5,并将 1.2 作为保守的移动端回退方案。选择满足所需元素的最低版本;涉及较新功能时,确认当前宿主的支持情况。仅指定架构版本并不能保证 Teams 客户端会呈现某个元素。
使用卡片元素进行布局,并根据需要使用 TextBlock、FactSet、Table、输入项和操作。TextBlock 对 Markdown 的支持有限;HTML、Markdown 表格和代码围栏不能替代受支持的卡片元素。应提供换行、含义明确的回退文本和一致的提及元数据。
参考资料
仅加载所需的传输方式、元素或交互参考资料。
| 任务 | 参考资料 |
|---|---|
| 投递路径、bots、消息扩展 | SURFACES.md |
| 输入项、表格、代码、图表、人员选择器 | ELEMENTS.md |
| Submit/Execute、刷新、用户专属视图 | ACTIONS.md |
| Webhook 通知或所需的连接器迁移 | WEBHOOKS-WORKFLOWS.md |
| Graph 附件 ID、编码、权限 | GRAPH-ATTACHMENTS.md |
| 宽度、移动端布局、无障碍功能 | RESPONSIVE-DESIGN.md |
| 紧凑封装/版本/限制查询 | CHEATSHEET.md |
验证并交付
对于生成或修改的负载文件,使用 Node.js 运行 scripts/check-teams-card.mjs。请相对于本技能所在目录解析脚本,而不是相对于用户的工作目录:
node /path/to/teams-adaptive-cards/scripts/check-teams-card.mjs --target webhook /path/to/payload.json
目标:auto、card、bot、webhook、graph。退出码 0 表示没有错误(可以保留警告),1 表示存在错误/JSON 无效,2 表示 CLI 用法无效。结合所需的客户端/传输方式判断警告;该检查器只进行本地检查,不能证明实际渲染效果。如果无法使用 Node,请检查封装和字段,并说明未运行检查器。
交付所需的 JSON 或集成修复,并说明验证结果。仅在用户提出要求或已获授权时测试实时投递;创建负载不需要发布消息。对于随附参考资料未说明的宿主能力,请查阅 Teams 卡片文档。