mcpField
T
teams-adaptive-cards

teams-adaptive-cards

github.com/ccheney开发6149 次安装7 周前更新
代码仓库

关于 teams-adaptive-cards

用于创建 Microsoft Teams Adaptive Cards 的技能,会根据指定传输方式和客户端能力指导卡片结构、功能选择、验证与交付,不假定未提供的后端或收件人。

主要功能

  1. 01选择正确的传输封装
  2. 02根据客户端支持选择元素
  3. 03查阅随附的实现参考
  4. 04用 Node.js 脚本验证载荷
  5. 05无需发布即可检查交付内容

适用场景

  1. 01为 Teams 机器人或工作流创建卡片
  2. 02准备 Graph chatMessage 附件
  3. 03构建卡片表单和通知
  4. 04交付前检查载荷

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ccheney/robust-skills --skill teams-adaptive-cards

安装后在 Claude Code 中输入/teams-adaptive-cards确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
ACTIONS.md
CHEATSHEET.md
ELEMENTS.md
GRAPH-ATTACHMENTS.md
RESPONSIVE-DESIGN.md
SURFACES.md
WEBHOOKS-WORKFLOWS.md
scripts/
check-teams-card.mjs

详细介绍

Teams Adaptive Cards

根据实际 Teams 传输方式和客户端能力,构建所需的卡片。用户的明确指示优先于本技能的指南。

选择传输方式

将所需内容/操作、投递代码或负载以及目标客户端作为输入。卡片的 JSON 和投递封装是两个独立的约定。

传输方式必需结构
Bot / Teams SDKActivity 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 卡片文档。

评论

支持 Markdown