edit-canvas-app
Edit an existing Power Apps canvas app. USE WHEN the user wants to modify, update, change, or edit an existing Canvas App or pa.yaml files.
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Edit a Canvas App
Make the following changes to the existing Canvas App:
$ARGUMENTS
Overview
Two paths depending on edit complexity:
- Simple edits (≤2 controls, ≤1 screen, no new screens/data) — handled inline
- Complex edits (multiple screens, new screens, structural changes) — via planner + editor agents
Plugin root: the directory containing skills/, agents/, and references/
Phase 0 — Create App Folder
- Derive a short folder name from
$ARGUMENTS— extract the app name or use a 2–3 word summary - Convert to kebab-case
- Create the folder:
mkdir -p <folder-name> - Resolve its absolute path — this is the working directory
Phase 1 — Sync and Check
Call sync_canvas targeting the working directory. This pulls the current app state from
the coauthoring session into local .pa.yaml files.
After sync, read the files and check if the app has meaningful content. An app is empty if:
- No
.pa.yamlfiles were written, or - No screens with actual controls (non-container children) exist
If empty, inform the user and switch to the full generate-canvas-app workflow.
Phase 2 — Assess Complexity
Simple — ALL of these are true:
- Changes affect ≤2 controls or properties
- Changes are confined to ≤1 screen
- No new screens, data sources, or structural layout changes
Complex — ANY of these are true:
- Changes span multiple screens
- New screens need to be created
- New data sources or connectors are required
- Structural layout changes involved
Phase 3a — Simple: Direct Edit
Read ../../references/TechnicalGuide.md.
Apply changes directly to the relevant .pa.yaml files.
Call compile_canvas on the working directory. Iterate until clean.
Present summary:
> Edit complete. [1-2 sentence description.] Compiled clean after [N] pass(es).
Phase 3b — Complex: Plan (Edit Planner Agent)
Read the edit planner agent definition:
../../references/TechnicalGuide.md../../references/DesignGuide.md../../agents/canvas-edit-planner.md
Adopt the role of canvas-edit-planner and follow every step in that file with:
- Edit requirements:
$ARGUMENTS - Working directory: the absolute path from Phase 0
- Plugin root: the directory containing
skills/,agents/, andreferences/ - List of synced
.pa.yamlfiles
Do not proceed to Phase 4 until the user approves the plan.
Phase 4 — Edit (Complex path only, Screen Editor Agent)
After the planner completes, read canvas-edit-plan.md from the working directory.
Extract screens to modify and screens to add.
For each affected screen, in sequence:
- Read the editor agent definition:
../../agents/canvas-screen-editor.md
- Adopt the role of
canvas-screen-editorfor this screen - Follow every step in that file with:
- Screen name and action (Modify / Add)
- Target file name
- Plan document path
- Working directory
Phase 5 — Validate and Fix (Complex path only)
Call compile_canvas on the working directory. Iterate until clean.
Phase 6 — Summary
Delete canvas-edit-plan.md:
rm <working-directory>/canvas-edit-plan.md
Present final summary table of all screens modified/added, compilation passes, any remaining errors.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
plugins/Ratnam-Mishra/canvas-apps-plugin-codex/skills/edit-canvas-app/SKILL.md