geekfujiwara/codeappsdevelopmentstandard/architecture
Claude Code and agent skill by geekfujiwara/codeappsdevelopmentstandard
- community
Checking that the SKILL.md file is still in the repository.
Power Platform のコンポーネント選定と統合アーキテクチャを設計する。社内画面はライセンスと頻度で Code Apps / Copilot Managed Runtime を選ぶ。SharePoint URL は明示指定がなければ Dataverse への移行元とし、Code Apps の開発・初回デプロイを優先する。環境チェックは明示依頼時・障害時だけ admin へ委譲する。Agent 365 は実装レベルと Git ホスティングを確定し、外部文書を読むエージェントはプロンプト インジェクション対策を含める。
Install
npx vskill@latest install geekfujiwara/codeappsdevelopmentstandard/architectureSKILL.md
Power Platform 共通アーキテクチャデザインスキル
ユーザー要件から Power Platform のどのコンポーネントを使うか を判断し、全体アーキテクチャを設計する。 各コンポーネントの得意領域・制約・統合パターンを把握し、迷わず最適な構成を選定するためのスキル。
このスキルの位置づけ: Phase 1(設計)の最初に実行する。個別コンポーネントのスキルに入る前に、まず要件を深掘りして全体像を確定させる。
SharePoint URL だけでは直接接続の指示と解釈しない。 Code Apps の業務データは、直接接続・継続利用が 明示された場合を除き Dataverse に移行する。URL は仕様・移行元の参照情報として扱う。 dataverse でスキーマを構築し、data-migration で承認付き移行・照合を行う。 ナレッジとしての文書参照と Code Apps の業務データ保存先は区別する。
0. 要件ヒアリング(Phase 1 の最初に必ず実行)
クイックスタート時は提案先行モードを優先する
standard/references/quickstart.md Step 1 から来た場合は、認証準備後の要望確認で得た回答・環境情報・資料・ spec-builder の結果を引き継ぎ、以下の通常ヒアリング表を一から質問しない。 要望確認の回答前なら、この提案工程へ進まず AskUserQuestion の回答を待つ。 資料がなければワークスペース名から提示済みのアプリ案のうち、選ばれた案を具体化し、方向性を聞き直さない。 業界知識とベストプラクティスを使って、事実・仮説・推奨を分けた To-Be 業務、AI 改善、 Code Apps + Dataverse を既定とする構成、段階的な実装計画まで具体化する。 未確認の固有規程・人数・価格・契約は創作せず、仮説または要確認とする。 白紙の要件ヒアリングや既存システムの単純なリフト&シフトで終わらせない。
業務フロー図とアーキテクチャ図を Mermaid コードブロックでチャットと Markdown の両方へ出力する。 業務フローは spec/output/docs/business-requirements.md、構成・AI 改善・実装計画は spec/output/docs/design-requirements.md に既存内容を保護して統合する。 図は質問ポップアップ内に入れない。推奨案・代替案・判断材料はチャットに示す。 既存リポジトリの templates/ / samples/・マニフェスト・前提条件を調べ、適合するテンプレートの パス・選定理由・不足機能を示す。既知事項や通常の実装判断で AskUserQuestion を繰り返さない。 要望確認の回答・資料・テンプレート・読み取り API で分かることは自分で調べ、 承認済みの開発範囲では構成案ごとの再承認を求めず、環境調査・フル構成デプロイ・実動作検証へ進む。 認証や環境選択の回答後に利用者へ工程を投げ返さず、構成・各 URL・検証結果と文書更新まで同じタスクで進める。 設計・実装・デプロイ・移行・追加費用の承認範囲は区別する。
通常モードのヒアリング
IT に詳しくないエンドユーザーに向き合うプロの IT コンサルタントとして振る舞う。 専門用語を使わず、業務課題・現状・理想の姿を引き出すことを最優先にする。
AskUserQuestion で深掘りする項目
既知の情報は再質問せず、必要な不足事項だけを 1 問ずつ確認する。
| 確認項目 | 質問の例 | |
|---|---|---|
| 解決したい課題 | 今どんな問題・不便がありますか? | |
| 現状の管理方法 | 今は Excel・メール・紙などで管理していますか? | |
| 利用者・規模 | 誰が使いますか?社内のみですか?何人くらいですか? | |
| 利用者のライセンスと頻度 | 使う人は Power Apps Premium を持っていますか?持っていない人は毎日使いますか、それとも月に数回ですか?(→ §5「ライセンスで使い分ける」) | |
| 必要な操作 | 登録・検索・承認・通知・レポートのうち何が必要ですか? | |
| 外部連携 | Teams / Outlook / SharePoint / 既存システムとつなぎたいですか? | |
| Dataverse 外のデータ | 参照したいデータは 既存の基幹 DB・ファイルサーバー・業務 API にありますか?(→ あるなら §6.5:自前 MCP Server) | |
| データの量と使い方 | 件数・増え方・履歴分析・Power BI・機械学習・文書(手順書)の引用は必要ですか?(→ 必要なら §6.6:データ基盤の使い分け) | |
| AI・自動化 | チャットで問い合わせできると便利ですか?自動通知は必要ですか? | |
| 人としての同僚 | ツールとしての AI でよいですか?それとも自分のメールアドレスや予定表を持ち、メンバーとして働く存在が欲しいですか?(→ 後者なら §7) |
全体像が掴みにくいときは、Excel・業務フロー図・画面イメージ・帳票の共有を依頼する(/spec-builder でドキュメントから要件整理も可)。要件が明確になったら、以下の判断フローチャートでコンポーネントを選定し設計提案へ進む。
実装前提ゲート(コンポーネント選定後に 1 回だけ)
構成案が固まったら、実装開始前に standard の共通事前確認契約を 確認する。クイックスタートでは Step 0 の要望確認の承認範囲を引き継ぎ、調査で埋められる値は 自律的に解決する。一律の AskUserQuestion を追加せず、本人の決定が不可欠な不足事項だけ確認する。 特に次を構成図と見積もりに含める。
| 観点 | 設計で確定する内容 | |
|---|---|---|
| 製品条件 | コンポーネントごとのライセンス / capacity と、preview / Frontier 等の参加条件を分離して記載 | |
| 実装先 | tenant、Power Platform environment、Azure subscription、region、開発 / テスト / 本番 | |
| 権限分離 | maker、schema 変更、Azure RBAC、公開、管理者同意、ライセンス割り当ての担当者 | |
| 公開範囲 | internal / external / anonymous、対象ユーザーまたはグループ、データ分類 | |
| 運用 | Git provider、secret backend、監視、評価、release、rollback、所有者 |
既知の事項は再質問しない。Code Apps は共通契約の開発優先方針に従い、 環境設定・DLP・管理者権限の未調査を理由に実装を止めず、必要な実装先・承認範囲だけを確認して進む。 それ以外の製品固有の公開・プレビュー承認は各専門スキルに従う。 AI チームメイトでは Agent 365 と Frontier、Cowork では Microsoft Copilot ライセンスと Frontier、 Power Pages では認証方式と table permission をそれぞれ別条件として扱う。
1. コンポーネント早見表
| コンポーネント | 得意なこと | 苦手なこと | |
|---|---|---|---|
| Copilot Studio | 自然言語対話、ナレッジ検索、LLM による推論・要約、ツール呼び出しの自律的オーケストレーション | 確定的なフロー制御、大量データの一括処理、トランザクション保証 | |
| Power Automate | イベント駆動の自動化、確定的なワークフロー、コネクタ経由の外部連携、条件分岐・ループ | 自然言語対話、あいまいな入力の解釈、自律的判断 | |
| Code Apps | React/Vite のリッチ Web UI、複雑なデータ操作画面、カスタムビジュアル。利用者は Power Apps Premium 等が必要 | ノーコードでの素早いプロトタイプ、モバイルネイティブ、Copilot Credits での支払い | |
| Copilot Managed Runtime | M365 内部 LOB アプリ、Git commit 単位の build / preview / deploy、M365 管理面への集約。利用者は Power Apps Premium か Copilot Credits の従量課金で使える(Public Preview) | GA 必須、Azure B2B guest、Dataverse Solution / Power Platform Pipelines 中心の ALM | |
| Native Mobile Code Apps | Expo/React Native、camera/barcode/location 等の端末機能、Wrap(Private Preview) | 本番利用、store 配布、未検証の offline runtime | |
| Canvas Apps | (常に対象外 — パフォーマンス・カスタマイズ性・エンタープライズ運用の観点で不採用) | — | |
| Model-Driven Apps | Dataverse 標準 UI、フォーム/ビュー/ダッシュボードの自動生成、ビジネスルール統合 | カスタムビジュアル、外部 JS ライブラリ、ノーコード開発者 | |
| Power Pages | 外部ユーザー向けポータル・公開サイト、認証/匿名アクセス、Dataverse 連携、テーブル権限による公開制御 | 複雑なサーバーサイド処理、SSR/ISR、内部業務向けの複雑なリッチ UI | |
| AI Builder | Power Automate フロー内に組み込む定型 AI 処理(通知・リマインド等、イベント駆動でチャット UI を使わない場合のみ) | チャット UI での対話・社内汎用業務全般(★ §6 参照: 原則 Copilot Studio v2 + Dataverse MCP、AI Builder は限定的採用) | |
| Dataverse | リレーショナルデータ、行レベルセキュリティ、監査、ビジネスルール | 大量ログデータ、非構造化データ、全文検索 | |
| Copilot Studio v2 スキル + Dataverse MCP | 自然言語での業務データ登録・照会(Dataverse MCP 経由)、Teams / Copilot Studio 上での利用、SKILL.md による業務知識の付与。環境制約が少なく作りやすい(★ 第一候補) | リッチな一覧/編集 UI、複雑なビジュアル、外部/匿名公開 | |
| Copilot Cowork プラグイン | M365 Copilot 上での自然言語登録・照会(Dataverse MCP / 自前 MCP Server 経由)。M365 Copilot との統合が必須要件の場合に採用。会社環境で Cowork の利用が許可されている場合のみ推奨 | 環境制約が多い(Entra App 登録・Teams 開発者ポータル・M365 管理センター公開・Teams Admin / Global Admin 権限が必要)。環境が揃わない場合は Copilot Studio v2 + Dataverse MCP を優先 | |
| 自前 MCP Server(Azure Functions) | Dataverse に無いデータ(既存の基幹 DB / ファイルサーバー / 業務 API)をエージェントに公開する。Private Endpoint の内側にあるデータをキーレス(Entra JWT + Managed Identity)で提供。Copilot Studio / Cowork の両方から同じ Server を使い回せる | ノーコードでの構築。Azure の基盤(VNet / Private Endpoint / 監視)と運用が別途必要。Dataverse の行レベルセキュリティは傣かない(自前で設計する) | |
| Agent 365 / AI チームメイト | カスタムエンジンエージェントをコードファーストでバージョン管理し、Teams / M365 Copilot へ公開。インストールごとの専用 Entra Agent ID。エージェント自身のメールアドレス・予定表・権限を持つ「デジタルな同僚」(★ §7: 採用時はライト/本格を必ず確認) | ノーコードでの素早い構築、Code Apps / Web への埋め込み、Dataverse 標準 UI |
Code Apps と Copilot Managed Runtime の選定:比較リファレンスを参照する。現時点では Code Apps は GA、Copilot Managed Runtime は Public Preview である。@microsoft/power-appsから@microsoft/managed-appsへの package 置換を移行手段として扱わない。Managed Runtime を採用した場合の実装は `managed-runtime` スキル で行う。
2. 判断フローチャート
2.1 メイン判断: 「何を実現したいか?」
社内汎用業務は原則 Copilot Studio v2 スキル + Dataverse MCP(+ Code Apps)で実現する。AI Builder は「通知・リマインド等でPower Automate フロー内に AI 処理を組み込みたい」イベント駆動・非チャット UI のケースに限定して採用する(§6 参照)。
2.1.1 「対話型が必要」の分岐: まず Copilot Studio v2 スキル + Dataverse MCP を検討する(★重要)
対話型の体験が必要 = 即 Copilot Studio(v1)ではない。 利用者が 自分から AI に話しかけて Dataverse へ登録・照会し、Code Apps で結果を見るような 「チャットで話しかけて実行する」業務は、Copilot Studio v2 スキル + Dataverse MCP を第一候補にする。 環境制約が少なく作りやすいため、Cowork プラグインより先に検討する。
使い分けの原則:- ユーザーがチャットで話しかけて実行するケース(能動的・有人)は Copilot Studio v2 スキル + Dataverse MCPで実装する。環境制約が少なく作りやすいため、第一候補とする。Dataverse + Code Apps で組んだ業務データへのアクセスは、原則 Copilot Studio v2 スキル経由の自然言語操作を提案する。M365 Copilot との統合が必須要件の場合のみ Cowork プラグインを追加検討(Global Admin 等の権限が別途必要。会社環境で Cowork の利用が許可されている場合のみ推奨)。- Copilot Studio でエージェントを作るのは次の 4 つのケース:1. チャットで話しかけて実行するケース(v2 スキル + Dataverse MCP)— 第一候補(①)2. 自律的なケース — イベント/トリガーで無人起動し、自分で判断・応答・データ更新する(②)3. Code Apps に組み込むケース — 標準 UI は v2 iframe、業務 UI 統合は v2 ワーカー方式、直接 SDK 制御が必須なら v1(③)4. 一般 Web サイトへ表示するケース — 標準 UI の v2 iframe、または UI を制御する v1 WebChat SDK(④)- v2 ワーカー方式(③)は、Code Apps がユーザー所有の要求行を Dataverse に作成し、Workflow の Agent ノードが既存の発行済み v2 を呼び、完全応答を結果行へ保存して Code Apps が読む。v2 のフラット Python スキルを再利用できるため、JSON・文書・設計候補などの構造化生成では標準の第一候補とする。これはExecuteCopilotAsyncV2や WebChat による直接埋め込みではない。重複 Claim、要求者認可、相関 ID、タイムアウト後の同一 receipt 照合、AI 結果の独立検証を必須とする(設計リファレンス パターン F2)。- 自律的なケース(②)で、すでに Copilot Studio v2 スキルを採用している場合は、Power Automate + v1 トリガーではなく Copilot Studio v2 ワークフロー(Agentflow: Dataverse トリガー + エージェント ノード)を標準の第一候補とする。既存の発行済み v2 スキルをエージェント ノードから呼び出せるため、Power Automate も v1 も追加せずに同一アーキテクチャで完結できる(設計リファレンス パターン F)。- 構築手順は `copilot-studio-v2` スキル(①)、Cowork の UI 併設方針は §5 を参照。- 参照したいデータが Dataverse に無い場合(既存の基幹 DB・ファイルサーバー・業務 API)は、上記のどの分岐であっても 自前 MCP Server(Azure Functions) を併せて検討する(→ §6.5)。同じ MCP Server を Copilot Studio v2 にも Cowork にも登録できるため、公開先は後から増やせる。
2.2 複合パターン(最も多い)
多くの要件は 複数コンポーネントの組み合わせになる(CRUD+通知、対話+データ操作、対話+外部連携、対話+定期実行/イベント駆動、AI 分析+対話、外部ポータル+データ操作、フルスタック)。各パターンの構成・典型ユースケースの一覧表は 設計リファレンス を参照。
3. Copilot Studio を使う判断ポイント
★ まず §2.1.1 を確認する。「ユーザーがチャットで話しかけて Dataverse に登録/照会する」有人の対話はCopilot Studio v2 スキル + Dataverse MCP を第一候補とする。Code Apps への標準チャット表示は v2 Web app iframe、業務 UI と要求・結果を統合する場合は Dataverse 要求/結果 + Workflow Agent ノードによる v2 ワーカー方式を標準提案する。v1 は親アプリからのプログラム的な会話制御、WebChat SDK、または既存 v1 資産の継続利用が必要な場合に採用する。
使う: 自律起動(イベント/トリガー)での無人実行・アプリ埋め込み/Web 公開・複数ツールの自律オーケストレーション・ナレッジ検索・要約/分析/レポート生成。 使わない(→ 代替): ユーザーが能動的にチャットで登録/照会するだけ → Copilot Studio v2 スキル + Dataverse MCP(Cowork は M365 Copilot 必須時かつ会社環境で利用が許可されている場合のみ)/確定手順の 100% 実行・大量一括処理・LLM 不要の条件分岐 → Power Automate/UI 入力編集 → Code Apps/承認ワークフロー → Power Automate。
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.github/skills/architecture/SKILL.md
Popularity
- Repository stars
- 57
- Repository forks
- 20
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/geekfujiwara/codeappsdevelopmentstandard/architecture)