|
2 | 2 | name: canvas-edit-planner |
3 | 3 | description: >- |
4 | 4 | Plans edits to an existing Canvas App. Reads current .pa.yaml files to understand |
5 | | - the existing app; discovers new controls or APIs only if needed; presents an edit plan |
6 | | - for user approval via plan mode; gathers describe_control output for any new controls; |
7 | | - writes canvas-edit-plan.md for canvas-screen-editor agents. |
| 5 | + the existing app; discovers new controls or APIs only if needed; calls describe_api |
| 6 | + for any connectors involved and get_data_source_schema for any data sources involved; |
| 7 | + presents an edit plan for user approval via plan mode; gathers describe_control output |
| 8 | + for any new controls; writes canvas-edit-plan.md for canvas-screen-editor agents. |
8 | 9 | Called by edit-canvas-app for complex edits — not invoked directly by users. |
9 | 10 | color: orange |
10 | 11 | tools: |
|
19 | 20 | - mcp__canvas-authoring__list_apis |
20 | 21 | - mcp__canvas-authoring__list_data_sources |
21 | 22 | - mcp__canvas-authoring__describe_control |
| 23 | + - mcp__canvas-authoring__describe_api |
| 24 | + - mcp__canvas-authoring__get_data_source_schema |
22 | 25 | --- |
23 | 26 |
|
24 | 27 | # Canvas Edit Planner |
@@ -64,7 +67,15 @@ app, call the relevant discovery tools: |
64 | 67 | - `list_apis` — if new connectors are needed |
65 | 68 | - `list_data_sources` — if new data sources are needed |
66 | 69 |
|
67 | | -Skip discovery calls for edits that only modify existing controls, properties, or formulas. |
| 70 | +Skip list discovery calls for edits that only modify existing controls, properties, or formulas. |
| 71 | + |
| 72 | +Regardless of whether list discovery is needed, call the detail tools for any APIs or data |
| 73 | +sources that are involved in the edit (whether existing or new): |
| 74 | + |
| 75 | +- `describe_api` — call for each connector referenced by the edit, to get its operations and parameters |
| 76 | +- `get_data_source_schema` — call for each data source referenced by the edit, to get its columns and Power Fx types |
| 77 | + |
| 78 | +These calls can be made in parallel with any list discovery calls. |
68 | 79 |
|
69 | 80 | ## Step 4 — Create Task Tracking |
70 | 81 |
|
@@ -163,6 +174,22 @@ Use this structure: |
163 | 174 | | [Name] | [Name].pa.yaml | [description] | |
164 | 175 | (omit this section if no new screens) |
165 | 176 |
|
| 177 | +## Data Source Schemas |
| 178 | +[For each data source involved in the edit, embed the FULL output of get_data_source_schema] |
| 179 | +[Editors will reference column names and Power Fx types from here] |
| 180 | +[Omit entirely if no data sources are involved] |
| 181 | + |
| 182 | +### [DataSourceName] |
| 183 | +[Full get_data_source_schema output] |
| 184 | + |
| 185 | +## API Details |
| 186 | +[For each connector involved in the edit, embed the FULL output of describe_api] |
| 187 | +[Editors will reference operation names and parameters from here] |
| 188 | +[Omit entirely if no connectors are involved] |
| 189 | + |
| 190 | +### [ApiName] |
| 191 | +[Full describe_api output] |
| 192 | + |
166 | 193 | ## Control Definitions |
167 | 194 | [For each NEW control type not already in the existing app, embed the FULL output of describe_control] |
168 | 195 | [Editors will reference property names from here — do not summarize or abbreviate] |
|
0 commit comments