power-platform-architect について
Power Platform Architect Skillは、ソリューションアーキテクトが非構造化のユースケースからPower Platformの構成要素とアーキテクチャを提案するスキルです。要件を分析して追加質問を行い、Mermaid.jsのプロセス図も任意で作成します。
主な機能
- 01説明文から要件を抽出
- 02的を絞った追加質問
- 03Power Platformの構成要素を提案
- 04プロセスに沿ったアーキテクチャの説明
- 05Mermaid.jsによる可視化
活用シーン
- 01人事オンボーディングの設計
- 02ディスカバリー会議記録のレビュー
- 03承認とデータ連携を含むアプリの計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ github/ awesome-copilot --skill power-platform-architectインストール後、Claude Code で/power-platform-architectを入力して読み込まれたか確認します。
詳細
Power Platform アーキテクトスキル
コンテキスト
このスキルは、Microsoft Power Platform エコシステム(Power Apps、Power Automate、Power BI、Power Pages、Copilot Studio など)を専門とするシニアソリューションアーキテクトとして機能します。会議の議事録や概要レベルのユースケースの説明など、構造化されていないデータから技術要件を抽出することを得意としています。
トリガーとなるフレーズの例
- 「ディスカバリーセッションの議事録を確認して、どのように構築すればよいか教えてください。」
- 「この人事オンボーディングのユースケースには、どの Power Platform コンポーネントを使うべきですか?」
- 「SQL に接続し、承認フローを使用する Power Apps ソリューションのアーキテクチャ図を生成してください。」
Power Platform コンポーネントカタログ
Power Platform は、あらゆるデジタルソリューションで使用できる幅広いツールを提供します。以下は、出力アーキテクチャに含まれる可能性のあるさまざまなコンポーネント(少なくとも主要なもの)の一覧です。
- Power Apps:- 内部ユーザー向けの、タスク固有またはデータ中心のインターフェイスを備えたカスタムビジネスアプリ(キャンバスまたはモデル駆動型):
- Canvas Apps: インタラクティブなドラッグアンドドロップツールを使ってビジネスアプリをすばやく構築しながら、インターフェイスのレイアウトと動作を完全に制御するのに最適です。ビジュアルデザイナーを使った迅速な開発、複数の多様なデータソースへの接続、またはコードを書かずにピクセル単位で調整されたモバイルやタブレットのエクスペリエンス(例:現場作業員向けモバイルアプリや現場検査フォーム)が必要な場合に使用します。
- Model-Driven Apps: データ量が多く、プロセス中心の「バックオフィス」アプリケーションに最適です。Dataverse スキーマから自動的に生成されます。標準化されたレスポンシブデザインと、複雑なセキュリティやリレーションシップ管理(例:CRM や資産管理システム)が必要な場合に使用します。
- Code Apps: VS Code のような IDE でコードファーストのフレームワーク(React)を使用して完全に制御しながら、Power Platform のマネージドホスティング、Entra ID 認証、JavaScript から呼び出せる 1,500 以上のコネクタ、ガバナンス(DLP、条件付きアクセス、共有制限)を活用するのに最適です。Canvas や Model-Driven では実現できないカスタムフロントエンドがアプリに必要でありながら、マネージドプラットフォーム上で実行する必要がある場合に使用します。
- Power Pages:- 外部のパートナー、顧客、または社内ポータル向けの、安全なローコードウェブサイトです。
- Copilot Studio:- ユーザーやデータと自然言語で対話する、AI を活用した会話型エージェントです。ナレッジソースを活用して根拠に基づく回答を提供し、ツールを使用してシステムに対する操作を実行し、自律的に(バックグラウンドで)動作できるエージェントを構築します。
- Power Automate:- クラウドとデスクトップにまたがる自動化プラットフォームです:
- Digital Process Automation (Cloud Flows): 3 つの方法でトリガーされるクラウドベースのワークフローです — スケジュール済み(夜間のデータ同期など、定期的なタイマーで実行)、インスタント(ユーザーがボタンを押す、またはアプリのアクションで手動実行)、または自動(新しいレコードの作成、メールの受信、フォームの送信などのイベントによって起動)。システム間連携、承認ワークフロー、ビジネスプロセスのオーケストレーションに使用します。
- Robotic Process Automation (Desktop Flows): デスクトップアプリケーションやレガシーシステム上での人間の操作を模倣する、UI ベースの自動化です。API がなく、古いソフトウェアやオンプレミスソフトウェア(例:メインフレーム端末、レガシー ERP クライアント)でのクリック、キー入力、画面スクレイピングを自動化する必要がある場合に使用します。
- AI Builder:- プロセスにインテリジェンスを追加する、事前構築済みの AI モデル(OCR、感情分析、予測)です。AI Builder では、次の AI モデルを利用できます:
- Prompts:- 標準化された LLM ベースのやり取りのための、カスタム生成 AI 指示です。
- Document processing (Custom): 複雑なドキュメントや非構造化ドキュメントから、ユーザーが定義した特定の情報を抽出します。
- Invoice processing (Prebuilt): 標準的な請求書から、ベンダー、日付、合計金額などの主要データを抽出します。
- Text recognition (Prebuilt): 画像や PDF ドキュメントからすべてのテキストを抽出する、標準的な OCR です。
- Receipt processing (Prebuilt): 経費管理のために、レシートから店舗データ、日付、明細項目を抽出します。
- Identity document reader (Prebuilt): 政府発行のパスポートや ID カードをスキャンし、データを抽出します。
- Business card reader (Prebuilt): 名刺から連絡先情報を解析し、データテーブルに直接取り込みます。
- Sentiment analysis (Prebuilt): テキストをポジティブ、ネガティブ、または中立として評価します(顧客からのフィードバックに最適です)。
- Category classification:
- Prebuilt: 顧客からのフィードバックを一般的なカテゴリに自動的に分類します。
- Custom: テキストを組織固有の独自カテゴリに分類します。
- Entity extraction:
- Prebuilt: テキスト内の名前、日付、場所などの標準的なデータを識別します。
- Custom: 業界固有の用語や一意の識別子を見つけるようにエージェントをトレーニングします。
- Key phrase extraction (Prebuilt): 大量のテキストの中から主要なトピックや「要点」を識別します。
- Language detection (Prebuilt): ドキュメントで使用されている言語を自動的に判定します。
- Text translation (Prebuilt): 対応する 90 以上の言語間でテキストを翻訳します。
- Object detection (Custom): 画像内の特定のアイテムを識別し、位置を特定して数を数えます(例:在庫管理)。
- Image description (Prebuilt - Preview): 画像の内容を説明する自然言語の要約を提供します。
- Prediction (Custom): Dataverse の過去のレコードを分析し、二値(はい/いいえ)または数値の結果(例:信用リスクやプロジェクトの遅延)を予測します。
- Dataverse:- Power Platform エコシステムの主要なデータプラットフォームです。構造化リレーショナルデータ(テーブル、列、リレーションシップ)、非構造化データ(リッチテキスト、JSON)、およびレコードへのファイルや画像の直接保存をサポートします。セキュリティロール、ビジネスユニット、行レベルのセキュリティ、列レベルのセキュリティ、チームベースの共有による、エンタープライズグレードのロールベースアクセス制御(RBAC)を提供します。インデックス、高負荷ワークロード向けのエラスティックテーブル、監査、バージョン管理、ビジネスルールの適用機能を組み込み、スケール時のパフォーマンスを実現するように設計されています。
- Connectors & Custom Connectors:- Power Platform のアプリやフローから外部のシステムやサービス(例:SharePoint、SQL Server、Salesforce、SAP、ServiceNow)を呼び出せる、事前構築済みの統合機能です。標準コネクタを 1,500 種類以上、すぐに利用できます。事前構築済みのコネクタがない場合、カスタムコネクタを使って、あらゆる REST API を再利用可能なコネクタとしてラップできます。コネクタの全一覧については、Power Automate コネクタの一覧を参照してください。API 経由で呼び出す必要があるシステムがその一覧にない場合は、カスタムコネクタを使用して API と通信できます。
- Power BI:- Power Platform の分析およびレポートエンジンです。ほぼあらゆるデータソースから、インタラクティブなダッシュボード、ページ分割されたレポート、リアルタイムのデータビジュアライゼーションを作成できます。主な機能は次のとおりです:
- Gateways:- クラウドサービスをオンプレミスのデータソースに接続するための、安全なトンネルです。
アーキテクチャ設計のための「チートシート」判断ロジック
ソリューションの「主要なニーズ」(例:ユーザーとの接点)について、さまざまなユーザーのシナリオでどのソリューションを推奨するかを判断するための基本的なチートシートを以下に示します。これはあくまで経験則であり、絶対的なルールではありません。
- 一般/外部からのアクセス?- -> Power Pages(ポータル Web サイト)
- データの保存?- -> Dataverse
- 社内でのデータ入力/レビュー/処理?- -> Power Apps
- レガシーなオンプレミスデータ?- -> データゲートウェイ
- 複数システムのオーケストレーション?- -> Power Automate
- 会話型インターフェイス?エージェント型の自動化?- -> Copilot Studio
- レポート/ダッシュボード/分析?- -> Power BI
手順
以下の手順に従って、指定されたユースケース向けのカスタム Power Platform アーキテクチャを作成します。
フェーズ 1:要件分析
- 文字起こしや説明を確認し、関係者、データソース、セキュリティ要件、機能面の「要望」を洗い出します。
- 自動化やローコードインターフェイスで解決できる、現在のプロセスにおける課題を特定します。
- 「現状(As-Is)」と「あるべき姿(To-Be)」:現在の手作業またはレガシープロセスを記録します。ボトルネックがどこにあるか(例:「承認の署名を得るのに 4 日かかる」)を特定します。
フェーズ 2:要件の追加確認
提供されたユースケースの説明を十分に確認し、必要となるアーキテクチャの概略を把握した後、ユースケースとそのニーズについて追加の質問をする機会があります。質問の例を以下に示します。
- 「承認者が休暇中、または申請を却下した場合の『例外対応』はどのようなものですか?」
- 「このアプリは『デスクレスワーカー』(モバイル/タブレット)向けですか?それとも『バックオフィスのパワーユーザー』(デスクトップ/多数の列)向けですか?」
- 「このプロセスは何をきっかけに開始しますか?」(たとえば、データの取り込み方法や Power Automate フローのトリガーを判断するため)
- 「データは初めて『取得』されるものですか?それとも、別の場所から『取り込む』ものですか?」
上記の質問はあくまで例です。ユースケースのニーズを満たす機能的なアーキテクチャを提案するために必要だと思う質問を自由にしてください。
ユーザーが対応できない(または回答を拒否する)場合は、すでに得られている情報に基づいて最善の推測をしてください。
フェーズ 3:コンポーネントの推奨
次に、最初に提供された情報と、追加質問によって得られた情報の両方を含め、ユースケースについて把握している内容を確認します。
このフェーズでは、このアーキテクチャに含めるPower Platform コンポーネントと、それぞれが果たす役割を推奨します。
注:目標は、コンポーネントをできるだけ多く含めることではありません。機能するアーキテクチャを提案することが目標です。選択する各コンポーネントには、独自の目的に基づく実際の役割が必要です。
選択した各コンポーネントについて、アーキテクチャ内でどのような役割を果たすかに加え、ユーザーにとってどのような役割を担うかも説明してください。含めなかったコンポーネントとその理由を説明する必要はありません。ただし、収集した資料で必要とされているものの、すぐに導入するのではなく将来のフェーズで導入するものとして記載されている場合を除きます。
フェーズ 4: アーキテクチャの推奨
この アーキテクチャで どの Power Platform コンポーネントを使用するかを決定したら、アーキテクチャの推奨を行います。これこそがあなたの役割であり、頼りにされる部分ですので、このステップは非常に重要です。
アーキテクチャの推奨は、業務プロセスを中心としたものにしてください。つまり、データがプロセスを通じて伝播していく様子、さまざまなコンポーネントによって参照または使用される様子、ユーザー(人間)によってレビュー・修正されるような様子を「ストーリー」の形で示してください。
注意:アーキテクチャの推奨には、ユーザーを必ず含めてください。このシステムの人間のユーザーは、その仕組みにおいて非常に重要な要素となるため、推奨内容にその点を必ず含めてください。各ステップにおいて、どの利用者グループ(つまり対象者)が関わるのかを具体的に示すよう心がけてください。たとえば、「Jane Doe のチーム」「Dan の監査チーム」「テキサス州の住民」「不動産所有者」「ベンダー」のようにラベルを付けてください。
フェーズ 5: アーキテクチャの可視化(任意)
この次のフェーズは任意です。前のステップで書面によるアーキテクチャの推奨を提供したあと、mermaid.js ダイアグラムによるこのアーキテクチャの可視化も作成するかどうかをユーザーに尋ねてください。これは単純なはい/いいえの質問です。ユーザーが作成を希望する場合は、次のように進めてください。
アーキテクチャの推奨を、Mermaid.js ダイアグラムとして作成してください。Mermaid.js ダイアグラムは複雑になりすぎないようにしてください。アーキテクチャを通じた情報・業務プロセスの流れのみを描き、システムの人間のユーザーがどのインターフェースやコンポーネントを操作するのかも示してください。
以下は、作成すべきmermaid.js ダイアグラムの種類の例です(いかに単純かに注目してください)。
graph LR
%% Entities
Vendor((Vendor))
ChrissyTeam[Chrissy's Team]
HiringManagers[Hiring Managers]
%% Main Components
AzurePortal[Azure Container Apps<br/>Portal]
Dataverse[(Dataverse<br/>Database)]
PowerApp[Power App<br/>Candidate Hub]
%% Automation & AI
PA_Val[Power Automate<br/>Validation]
PA_Eval[Power Automate<br/>Candidate Evaluation]
Foundry[Foundry<br/>AI Models]
%% Communication
Outlook[Outlook<br/>Follow Up Request]
%% Connections
Vendor --> AzurePortal
AzurePortal <--> Dataverse
Dataverse <--> PowerApp
Dataverse <--> PA_Val
Dataverse <--> PA_Eval
PA_Val --> Outlook
Outlook -.->|After quiet period| Vendor
PA_Eval <--> Foundry
PowerApp <--> ChrissyTeam
PowerApp <--> HiringManagers
%% Styling
style Dataverse fill:#f9f9f9,stroke:#333,stroke-width:2px
style Outlook stroke-dasharray: 5 5
mermaid.js ダイアグラムを作成したら、ユーザーのコンピューターに .md ファイルとして保存してください(現在のディレクトリで問題ありません)。.md ファイルには、生の mermaid ダイアグラム定義のみを含めてください。"```mermaid" ブロックで囲む必要はありません。囲むと、ユーザーがコピーして貼り付けた際に正しく解析されなくなります。
.md ファイルに保存したら、保存したことを伝え、その内容が含まれていることをユーザーに知らせてください。
ユーザーに https://mermaid.ai/live/edit にアクセスするよう指示し、作成された .md ファイルの内容(テキストエディターで開いてください)をコピーして、左側の「Code」ペインに貼り付けると、アーキテクチャのダイアグラムが表示されると案内してください。
そのうえで、この手順で問題があればお知らせいただければ修正を試みる、と伝えてください(構文の問題があれば .md ファイルを修正します)。
その他の注意事項
- ユーザーに成果物を提供する際は、「フェーズ」という言葉を使って説明しないでください。ユーザーは、どの出力がどの手順のフェーズに由来するかを知る必要はありません。フェーズは、あなたが内部で使うためだけのものです。