teams-adaptive-cards について
指定された転送方式とクライアント機能に合わせてMicrosoft Teams Adaptive Cardsを作成するスキルです。構造、要素の選択、検証、納品を案内し、未指定のバックエンドや宛先は想定しません。
主な機能
- 01適切な転送形式の選択
- 02クライアント対応に応じた要素選択
- 03同梱リファレンスの利用
- 04Node.jsスクリプトによるペイロード検証
- 05投稿せずに納品内容を確認
活用シーン
- 01Teamsボットやワークフロー向けカード作成
- 02Graph 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 文字列 |
| Message extension | 拡張機能の種類に適した添付ファイルとプレビュー |
配信方式が指定されていない場合は、配信方式を確認しながら、カード単体を準備できます。Webhook URL、受信者、Bot のバックエンドを勝手に作成しないでください。承認フォームには、そのアクションに対応する配信方式が必要です。通知用 Webhook は Bot ではありません。
機能に合わせる
リファレンスでは、カードのバージョン 1.5 までを Teams の基準とし、モバイルでの保守的なフォールバックとして 1.2 を使用しています。依頼された要素に必要な最小バージョンを選び、新しい機能が重要な場合は、現在のホストのサポート状況を確認してください。スキーマのバージョンだけでは、Teams クライアントで要素が表示されるとは限りません。
レイアウトには、適切に TextBlock、FactSet、Table、入力、アクションなどのカード要素を使用します。TextBlock の Markdown には制限があります。HTML、Markdown の表、コードフェンスは、サポートされているカード要素の代わりにはなりません。折り返し、意味のあるフォールバックテキスト、一貫したメンションのメタデータを指定してください。
リファレンス
必要な配信方式、要素、またはインタラクションのリファレンスだけを読み込みます。
| タスク | リファレンス |
|---|---|
| 配信経路、Bot、メッセージ拡張機能 | 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.js を利用できない場合は、ラッパーとフィールドを確認し、リンターを実行できなかったことを伝えてください。
依頼された JSON または統合の修正と、検証結果を納品します。実際の配信テストは、依頼された場合、またはすでに許可されている場合に限って行ってください。ペイロードの作成に投稿は必要ありません。付属のリファレンスでは確認できないホストの機能については、Teams カードのドキュメントを参照してください。