admin
무료Power Platform のテナント / 環境ガバナンスを確認・設定する。通常開発では事前チェックせず、環境チェックの明示依頼時または開発・デプロイ障害時だけ診断する。依頼者の現在有効な委任権限と対象範囲を確認し、権限内の最小診断・承認済み修復・限定リトライ、権限不足なら管理者への依頼へ分岐する。環境・DLP・ACP・環境グループ・テナント戦略の確認と dry-run 付き管理操作を提供する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Power Apps Native Mobile Code Apps(Private Preview)を Microsoft 公式 Expo テンプレートから作成し、React Native UI、Power Platform 接続、ネイティブ機能、実機プレビュー、Wrap、デプロイまで実施する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Microsoft 公式 microsoft/power-platform-skills/plugins/mobile-apps を upstream として、
Expo + React Native + TypeScript の Native Mobile Code App を作成する。
[!CAUTION] Private Preview であり、本番利用は禁止。 スキル開始時、計画承認時、最終結果でこの制約を明示する。 ユーザーが Preview 利用を明示承認するまで scaffold、環境変更、Wrap 登録、push を開始しない。
「モバイル対応」の依頼では、最初にどちらを求めているか確認する。
| 選択肢 | ランタイム | 選ぶ条件 | スキル |
|---|---|---|---|
| レスポンシブ Web Code App | React + Vite、ブラウザ/Power Apps player | PC とモバイルで同じ Web UI、ネイティブ機能が不要 | code-apps |
| Native Mobile Code App | Expo + React Native、Power Apps Developer app/Wrap | カメラ、バーコード、位置情報等の端末機能が必要 | 本スキル |
Native 経路は Preview 承認に加え、対象 OS、必要な端末機能、オンライン要件、実機テスト端末を確認する。
次を説明し、明示承認を得る。
pa app push 後の Wrap 導線まで。承認がない場合は code-apps のレスポンシブ Web 案を提示して停止する。
承認後の scaffold は mobile-preview-approval.json を生成する。検証器はこの記録がなく、または
productionAllowed: true のプロジェクトを拒否する。
対象 OS、画面、データ、コネクタ、認証、端末機能、オンライン/オフライン要件を整理する。
端末機能は公式テンプレートの package.json に存在する module だけを候補にする。
オフライン runtime store/sync queue は upstream 対応を確認できるまで実装済みと扱わない。
Windows PowerShell 7 で、記録済み upstream commit から生成する。
python .github/skills/mobile-apps/scripts/scaffold_mobile_app.py `
--target ./my-mobile-app `
--preview-approved `
--install
Set-Location ./my-mobile-app
依存は upstream-template.json の互換性セットを使う。
Expo、React Native、Tamagui、native host、Power Apps SDK を個別に latest へ上げない。
公式 template は Power Apps CLI を依存に含まないため、検証済み CLI を明示して実行する。
npx --yes --package @microsoft/power-apps-cli@1.0.1 pa app init `
-t MobileApp `
--display-name "$env:MOBILE_APP_DISPLAY_NAME" `
--environment-id "$env:ENVIRONMENT_ID" `
--non-interactive
power.config.json は生成物であり、別アプリからコピーしない。
Wrap UIで観測したMicrosoft Graph v1.0 contractを承認付きで実行する。まずplanとSHA-256を確認する。
python scripts/register_wrap_application.py plan --tenant-id $env:TENANT_ID `
--name $env:MOBILE_APP_DISPLAY_NAME --output .mcp/wrap-registration-plan.json
python scripts/register_wrap_application.py apply `
--plan .mcp/wrap-registration-plan.json --expected-hash <SHA256> `
--report-file .mcp/wrap-registration-result.json
applyはtokenのtenant一致と同名registration不存在を確認し、Graph POST /v1.0/applications後に
redirect URI、audience、全resource/scopeをread-backする。reportのApplication (client) ID とtenant IDを
auth.config.json の msal.clientId / msal.tenantId に設定する。client secret は不要で、保存しない。
OAuth consent、MFA、policy acceptanceは自動化しない。
観測contractとcleanup境界はWrap registrationリファレンスを参照する。
検証用registrationを削除する場合は、report内のcleanupHashを別途承認して実行する。
python scripts/register_wrap_application.py cleanup `
--report-file .mcp/wrap-registration-result.json --expected-hash <CLEANUP_SHA256>
外部 API への直接 fetch / axios ではなく connector-first とする。
# Dataverse または Power Platform connector を CLI で追加し、src/generated/ を生成する
npx --yes --package @microsoft/power-apps-cli@1.0.1 pa app add data-source <options>
React Native 画面は src/generated/services/*Service.ts を service/hook 層から呼び出す。
ページから SDK や connector client を直接呼ばない。詳細は build-reference.md。
必要な module が生成済み package.json に存在することを確認してから、src/native/ に typed wrapper を置く。
camera/barcode の標準契約は native-capabilities.md を使う。
wrapper は permission の granted / denied、cancel、unsupported、success を判別可能な union で返し、
画面から Expo module を直接呼ばない。allowlist にない native package を追加したふりをしない。
Expo Router の Stack/Tabs を要件に応じて選択し、次を品質ゲートにする。
SafeAreaProvider で包み、各画面で safe area を確保KeyboardAvoidingView を使用詳細は mobile-ui.md。
npm run type-check
python ../.github/skills/mobile-apps/scripts/validate_mobile_project.py .
失敗した状態で Metro、build、push へ進まない。
npm run dev
Metro の QR コードを Power Apps Developer app で読み取り、iOS/Android 実機で認証、safe area、keyboard、 権限拒否、camera/barcode 等を確認する。ストア配布用アプリの検証とは扱わない。
最初に power.config.json の appId を確認する。未発行の場合、最初の push で ID が発行されるが、
その ID は native bundle の build 時に埋め込まれるため、bundle → push を2回実行する。
python ../.github/skills/mobile-apps/scripts/verify_native_package.py preflight .
# exit code 2 (FIRST_DEPLOY) の場合は、以下を2サイクル実行する
npm run generate-schemas
npm run bundle:web
npm run bundle:android
npm run bundle:ios
python ../.github/skills/mobile-apps/scripts/verify_native_package.py verify .
npx --yes --package @microsoft/power-apps-cli@1.0.1 pa app push
各サイクルで connector schema を先に再生成する。1回目の push 後に appId が発行されたことを
preflight で確認し、Web bundle、Android/iOS の
Hermes bundle と customer assets をすべて再生成してから2回目を push する。片方の native bundle、
manifest、Hermes magic bytes が欠ける場合は停止し、Web-only build を Wrap に渡さない。
push 後は power.config.json の app ID と環境 ID を使い、次の Wrap URL を案内する。
https://make.powerapps.com/environments/{ENVIRONMENT_ID}/wrap?appID={APP_ID}
最終結果に Private Preview/本番利用禁止、実機確認済み範囲、未検証 OS、offline runtime 未対応を明記する。
| 文書 | 内容 |
|---|---|
| build-reference.md | init、認証、connector、generated services、preview、push |
| native-capabilities.md | allowlist と camera/barcode wrapper |
| mobile-ui.md | Stack/Tabs、safe area、keyboard、accessibility |
| offline.md | Offline Profile authoring と runtime の境界 |
| upstream-template.json | 公式同期元 commit、同期日、依存バージョン |
| troubleshooting.md | Preview/Expo/Wrap/権限/Metro の異常系 |
| スクリプト | 用途 |
|---|---|
| scaffold_mobile_app.py | pinned upstream template を生成し、任意で install/MobileApp init/type-check |
| validate_mobile_project.py | Preview ガード、依存セット、auth、UI、native wrapper、offline 境界を検証 |
| verify_native_package.py | app ID preflight と Android/iOS native package を検証 |
| test_validate_mobile_project.py | offline runtime 判定の false positive/false negative を回帰テスト |
| test_verify_native_package.py | app ID/Hermes bundle/asset manifest の回帰テスト |
| check_upstream.py | 公式 mobile-apps HEAD と同期済み commit の差分を検出 |
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Power Platform のテナント / 環境ガバナンスを確認・設定する。通常開発では事前チェックせず、環境チェックの明示依頼時または開発・デプロイ障害時だけ診断する。依頼者の現在有効な委任権限と対象範囲を確認し、権限内の最小診断・承認済み修復・限定リトライ、権限不足なら管理者への依頼へ分岐する。環境・DLP・ACP・環境グループ・テナント戦略の確認と dry-run 付き管理操作を提供する。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Copilot Studio 新 UI の Agent flows / Workflows を構築・公開・検証する。Dataverse レコード作成/更新トリガーから既存の発行済み Copilot Studio v2 を Agent ノードで呼ぶ標準経路、Code Apps との非同期要求/結果連携、および手動 Start + inline Agent の API ライフサイクル検証を扱う。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
株主総会の想定問答を、IR 抜粋(決算短信・説明資料・招集通知など)を根拠に下書きし、利用者の確認後に Dataverse の想定問答テーブルへ「下書き」として登録するスキル。 Use when ユーザーが「配当について想定問答を作って」「この論点の想定問答を 3 件追加して」「招集通知から想定問答を作って」「想定問答を登録して」と依頼したとき。 Dataverse MCP コネクタ(describe / read_query / search_data / create_record / update_record)を使用する。削除・テーブル変更のツールは使わない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
株主総会の想定問答を点検し、根拠の IR 抜粋に無い数値・存在しない根拠 ID・回答者や注意事項の抜け・趣旨の重複・下書きのまま残っているものを一覧にするスキル(書き込みはしない)。 Use when ユーザーが「想定問答を点検して」「根拠の無い数値が無いか確認して」「下書きの想定問答を一覧にして」と依頼したとき。 Dataverse MCP コネクタ(describe / read_query / search_data)を使用する。書き込み・削除のツールは使わない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
株主総会の質疑応答のリハーサル台本(議長・株主・回答役員の読み上げ原稿)を、承認済みの想定問答から作り、Dataverse のリハーサル台本テーブルへ登録するスキル。 Use when ユーザーが「リハーサルの台本を作って」「QA-001〜QA-010 で読み上げ原稿を作って」「番号を言わない株主も入れた台本を作って」と依頼したとき。 Dataverse MCP コネクタ(describe / read_query / search_data / create_record / update_record)を使用する。削除・テーブル変更のツールは使わない。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
AI Builder の AI プロンプト(GPT Dynamic Prompt)を Dataverse API で作成し、Copilot Studio エージェントにツール(アクション)として追加する。Power Automate フローとの統合パターンも含む。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.