Codex 新專案如何使用 Microsoft 官方 canvas-apps@power-platform-skills?

| PowerPlatform | 4 Reads

最近 Microsoft 已經推出官方的 Power Platform Skills,其中 Canvas App 對應的是:

canvas-apps@power-platform-skills

如果本來就在用 Codex 開發 Power Apps Canvas App,那其實很值得把以前自己手動配置 MCP、自己寫提示詞規則的方式重新整理一下。

尤其是新建一個空的 Codex Project 時,我更建議從 Microsoft 官方的 Canvas Apps Skill 開始,而不是直接把舊專案的 MCP 設定複製過去。


canvas-apps@power-platform-skills 是什麼?

Microsoft 官方目前有一個 repository:

microsoft/power-platform-skills

其中 Canvas App 相關內容位於:

plugins/canvas-apps

這套 Plugin 並不只是單純的一段 Prompt。

它本身已經整理了 Canvas App 開發時需要的:

  • Canvas App Skill

  • Canvas Authoring MCP 設定流程

  • Planner

  • Screen Builder

  • Design Guide

  • Technical Guide

  • .pa.yaml 操作規則

  • compile / validation workflow

  • Power Apps Studio 同步流程

也就是說,以前我們可能需要自己告訴 AI:

「Canvas App YAML 要怎麼寫」

「不要亂猜 property」

「修改後要 compile」

「要用 MCP 同步到 Power Apps Studio」

現在這些規則,Microsoft 已經逐漸整理到官方 Skill 裡面。


為什麼不要直接把舊 MCP 設定複製過去?

例如,我以前的 Codex Project 中可能已經有類似:

dnx Microsoft.PowerApps.CanvasAuthoring.McpServer
  --yes
  --prerelease
  --source https://api.nuget.org/v3/index.json

這種 Canvas Authoring MCP 設定。

這本身不一定有問題。

但是如果今天建立的是一個全新的空專案,我反而不建議一開始就把舊設定整套搬進去。

原因很簡單:

新專案應該優先以目前 Microsoft 官方 power-platform-skills 的定義為準。

否則很容易發生一種情況:

舊專案以前怎麼設定,Codex 就繼續照以前的方法做。

結果 Microsoft 明明已經有新的官方 workflow,專案卻一直停留在舊方式。


還有一個容易踩坑的地方:Codex 不等於 Claude Code

Microsoft 官方文件目前會看到類似:

/plugin marketplace add ...

或者:

/plugin install canvas-apps@power-platform-skills

這類安裝方式。

但要注意:

這些指令目前主要是針對支援該 Plugin Marketplace 機制的工具,例如 Claude Code 或 GitHub Copilot CLI。

如果我們使用的是 OpenAI Codex,就不應該直接假設這些 /plugin 指令一定能用。

正確做法應該是:

  1. 指定 Microsoft 官方 repository。

  2. 告訴 Codex 我要使用 plugins/canvas-apps

  3. 讓 Codex先確認自己目前支援的 Skill / Plugin / MCP 接入方式。

  4. 再採用 Codex 相容的方法。

也就是說:

要使用的是 Microsoft 官方 Skill 的內容與 workflow,而不是死背某個工具專用的安裝指令。


新建空 Codex Project 時,我會使用的初始 Prompt

假設現在建立了一個完全空白的資料夾,並用 Codex 開啟。

我會先讓 Codex 做「環境初始化」,而不是直接叫它開始做畫面。

可以直接使用下面這段:

這是一個全新的 Power Apps Canvas App 開發專案,目前資料夾為空。

我要在這個專案中使用 Microsoft 官方的:

microsoft/power-platform-skills
→ plugins/canvas-apps
→ canvas-apps@power-platform-skills

作為 Canvas App 開發的主要 workflow。

請先不要建立實際的 Canvas App 畫面或業務功能。
第一步只完成「Codex 專案初始化與官方 Canvas Apps Skill / MCP 環境確認」。

要求如下:

1. 以 Microsoft 官方 repository 作為唯一權威來源:
   https://github.com/microsoft/power-platform-skills

2. 使用其中最新的:
   plugins/canvas-apps

   不要使用第三方移植版、非官方 fork,
   或自行重新設計一套 Canvas App workflow。

3. 這個環境是 OpenAI Codex,
   不是 Claude Code 或 GitHub Copilot CLI。

   因此不要直接假設 Microsoft 文件中的:

   /plugin marketplace add
   /plugin install

   等命令一定適用於 Codex。

   請先確認目前 Codex 支援的 Plugin / Skill / MCP 接入方式,
   再採用與 Codex 相容的方法。

4. 優先採用 project-local 設定。

   除非確實無法做到,否則:

   - 不要修改全域 Codex 設定
   - 不要建立全域 MCP
   - 不要污染其他 Codex Project
   - 所有與此專案相關的 AGENTS.md、Skill、MCP 或其他設定
     盡量限制在目前 workspace

5. 如果此 Codex 環境已經可以直接使用或安裝
   canvas-apps@power-platform-skills,

   則直接使用官方 Plugin,
   不要複製或改寫官方 Skill。

6. 如果 Codex 目前無法直接安裝 Microsoft Marketplace Plugin,

   請分析官方 plugins/canvas-apps 的結構,
   並以最小修改方式接入 Codex。

   儘可能保留 Microsoft 官方提供的:

   - skills
   - agents
   - references
   - Canvas Authoring MCP configuration
   - workflow

   不要把整套官方 Skill 重寫成普通提示詞。

7. 檢查必要前置條件,包括至少:

   - .NET 10 SDK
   - Power Platform CLI / pac(如官方 workflow 需要)
   - Canvas Authoring MCP
   - Codex 對 Skill / Plugin 的識別狀態

8. 這是一個新的 workspace。

   請建立或更新適合 Codex 使用的 AGENTS.md,清楚記錄:

   - 本專案是 Power Apps Canvas App 專案
   - Canvas App 工作優先使用 Microsoft 官方 canvas-apps
   - .pa.yaml 的建立與修改必須遵循官方 Canvas App Skill
   - 控件/property 不應憑記憶猜測,
     應優先使用官方 Skill / Canvas Authoring MCP 的
     discovery / describe 能力
   - 修改後應使用官方 compile / validation workflow 驗證
   - 與 Power Apps Studio 的同步應使用官方
     Canvas Authoring MCP workflow
   - 不要回退到舊的、手工拼湊的 Canvas YAML workflow,
     除非官方 Skill 明確要求

9. 不要沿用我其他舊專案可能存在的
   Microsoft.PowerApps.CanvasAuthoring.McpServer
   設定或舊版版本號。

   此專案應以目前 Microsoft 官方
   power-platform-skills 的最新 Canvas Apps Plugin 定義為準。

10. 初始化完成後,先不要開始製作 App。

最後請向我報告:

- Microsoft 官方 canvas-apps Plugin / Skill 的版本或目前取得的 revision
- Codex 實際是如何載入這個 Skill / Plugin 的
- 建立了哪些 project-local 檔案
- Canvas Authoring MCP 是否已被 Codex 識別
- 是否還需要我提供 Power Apps Studio URL / Environment ID / App ID
- 下一步我應該如何開始使用官方 canvas-app workflow

如果需要登入 Microsoft,
或需要我提供 Power Apps Studio Designer URL,
再停下來要求我操作。

除此之外,
能自行檢查與設定的部分請直接完成。

為什麼這個 Prompt 要寫得這麼具體?

主要是防止 Codex 做三件事情。

第一,直接照舊專案設定

例如它看到以前使用:

Microsoft.PowerApps.CanvasAuthoring.McpServer 1.x.x

就直接照搬。

這會讓新 Project 一開始就被舊環境綁住。


第二,看到 /plugin install 就直接執行

這個命令可能是其他 AI coding tool 的 Plugin 安裝方式。

但我們現在是在 Codex 裡面。

所以應該先確認:

Codex 現在實際支援什麼方式。

而不是看到官方文件有 command 就全部照抄。


第三,Codex 自己重新發明一套 Canvas App 規則

這個其實最麻煩。

以前沒有官方 Skill 時,我們自己寫:

請不要猜 property。
請先 describe control。
修改 YAML 後一定要 compile。

很合理。

但如果 Microsoft 現在已經把這些規則放進官方 Canvas App Skill,

那麼最好的做法應該是:

讓 Codex 使用官方 Skill,而不是我們自己再維護一套「Prompt 版 Skill」。

否則官方一更新,我們自己的規則就可能落後。


AGENTS.md 在這裡有什麼用?

AGENTS.md 可以理解成:

這個 Codex Project 的長期開發規則。

第一次初始化完成後,就不用每次重新告訴 Codex:

「這是 Power Apps 專案。」

「要用官方 canvas-apps。」

「修改後要 compile。」

「不要亂猜 property。」

這些專案級規則都可以放進 AGENTS.md

之後重新開啟 Project,Codex 也可以繼續遵守。

所以我會把角色分成:

AGENTS.md
↓
告訴 Codex「這個專案應該怎麼工作」

Microsoft canvas-apps Skill
↓
告訴 Codex「Canvas App 應該怎麼開發」

Canvas Authoring MCP
↓
真的與 Power Apps Studio / Canvas App 互動

這三者其實不是互相取代,而是不同層級。


初始化完成後,日常 Prompt 反而可以很短

第一次把環境弄好之後,後面的 Prompt 不需要再寫這麼長。

例如:

使用本專案已配置的 Microsoft 官方 canvas-apps workflow。

連接我目前在 Power Apps Studio 中開啟的 App。

我要建立一個 1280×800 的畫面,
左側為選單,右側為主要內容區域。

請先分析現有 App 結構與可用 control,
提出修改方案後再實作。

甚至很多情況只需要描述:

「我要什麼畫面」

「我要什麼功能」

即可。

至於:

  • .pa.yaml

  • Canvas control schema

  • MCP

  • compile

  • validation

  • sync

這些應該逐漸變成 Skill 負責的底層工作,而不是每次都由使用者重新提醒。


最後整理

如果現在重新建立一個全新的 Power Apps Canvas App Codex Project,我的建議是:

全新資料夾
    ↓
Codex Project
    ↓
建立 AGENTS.md
    ↓
導入 Microsoft 官方 canvas-apps Skill
    ↓
配置 Canvas Authoring MCP
    ↓
連接 Power Apps Studio
    ↓
使用官方 workflow 修改 .pa.yaml
    ↓
compile / validation
    ↓
sync 回 Power Apps

而不是:

複製以前的 MCP 設定
    ↓
手動寫一堆 Canvas App 提示詞
    ↓
讓 Codex 猜 YAML
    ↓
出錯後再慢慢修

Microsoft 既然已經開始把 Power Platform 的 AI 開發方式整理成官方 Skills,那新專案最好直接跟著官方 workflow 走。

舊專案沒必要為了追新而全部推倒重來。

新專案,正好就是切換到官方 Skill 的最佳時機。

This article was last edited at