用途:为 Microsoft Teams 构建、校验或修复自适应卡片,包括布局、操作、表单以及投递包装。用户明确指令优先于本技能指南。
主要能力:先确定投递通道,因为卡片 JSON 与投递包装是两份独立契约。机器人/Teams SDK 使用 Activity attachments[],卡片内容为对象;工作流 Webhook 使用 { "type": "message", "attachments": [...] };Graph chatMessage 使用带匹配 ID 的 HTML 附件占位符,附件内容为 JSON 字符串;消息扩展按扩展类型选择附件与预览。若未指定投递方式,可先准备原始卡片并澄清通道,不得虚构 Webhook URL、收件人或机器人后端。审批/表单需要能处理其操作的通道,通知 Webhook 不是机器人。
能力匹配:参考基线为卡片版本至 1.5,1.2 作为保守的移动端回退。按所需元素选择最低版本,并在使用较新特性时核实当前宿主支持;仅有 schema 版本不保证 Teams 客户端渲染该元素。布局使用卡片元素(TextBlock、FactSet、Table、输入、操作等);TextBlock 的 Markdown 有限,HTML、Markdown 表格和代码围栏不能替代受支持的卡片元素。需提供换行、有意义的回退文本和一致的提及元数据。
参考文档按需加载:SURFACES.md(投递路径、机器人、消息扩展)、ELEMENTS.md(输入、表格、代码、图表、人员选择器)、ACTIONS.md(Submit/Execute、刷新、用户特定视图)、WEBHOOKS-WORKFLOWS.md(Webhook 通知或连接器迁移)、GRAPH-ATTACHMENTS.md(Graph 附件 ID、编码、权限)、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。target 可选 auto、card、bot、webhook、graph。退出码 0 表示无错误(可能仍有警告),1 表示错误或 JSON 无效,2 表示 CLI 用法无效。警告需结合目标客户端/通道解读;该 linter 是本地检查,不证明实际渲染。若 Node 不可用,检查包装与字段并说明未运行 linter。仅在请求或已授权时测试实际投递;创建载荷无需发送。宿主能力未由内置参考确立时,查阅 Teams 卡片文档。
限制:资料未提供具体价格、平台支持范围或效果保证;未提供官方文本。