fix: improve canvas-entry gate logic and add plugin-contributed extension detection#2866
Merged
anchenyi merged 3 commits intoJul 17, 2026
Conversation
…sion detection - Clarify [ACTION] handling: distinguish canvas already open vs. not yet opened, preventing redundant open_canvas calls when agent-builder canvas is present - Extend check-canvas-entry scripts (.ps1 and .sh) to search plugin-contributed extension locations under ~/.copilot/installed-plugins Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: de10811d-cb41-4978-9ebd-452663bc9f4c
qinezh
requested review from
RickWinter,
XiaofuHuang and
anchenyi
as code owners
July 17, 2026 06:55
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the microsoft-foundry skill’s “canvas-first entry” gating to (a) avoid re-opening the Agent Builder canvas when it’s already open, and (b) detect the Foundry Agent Canvas extension when it’s installed via plugin-contributed locations under ~/.copilot/installed-plugins/.
Changes:
- Clarifies
[ACTION]handling in the hosted-create workflows to distinguish “canvas already open” vs “canvas not open yet”. - Expands canvas extension detection to include plugin-contributed installs in both the Bash and PowerShell gate scripts.
- Updates comments/docs to reflect the additional install location.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| plugin/skills/microsoft-foundry/foundry-agent/create/create-hosted.md | Refines [ACTION] gate guidance for canvas-first entry when creating hosted agents. |
| plugin/skills/microsoft-foundry/foundry-agent/create/quick-start-hosted.md | Mirrors the canvas gate clarification in the quickstart workflow text. |
| plugin/skills/microsoft-foundry/foundry-agent/create/scripts/check-canvas-entry.ps1 | Adds plugin-contributed extension detection under ~/.copilot/installed-plugins/. |
| plugin/skills/microsoft-foundry/foundry-agent/create/scripts/check-canvas-entry.sh | Adds plugin-contributed extension detection under ~/.copilot/installed-plugins/. |
Require explicit confirmation that the canvas interaction is complete before continuing, and stop plugin extension scans after the first valid installation. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: de10811d-cb41-4978-9ebd-452663bc9f4c
anchenyi
previously approved these changes
Jul 17, 2026
Treat project and subscription details from the open canvas prompt as the completion signal. Requiring separate explicit confirmation caused valid canvas Send payloads to stop repeatedly. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: de10811d-cb41-4978-9ebd-452663bc9f4c
anchenyi
approved these changes
Jul 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two related fixes to the
microsoft-foundryskill's canvas-entry pre-flight check:1. Canvas-entry gate logic clarification
The
[ACTION]handling in bothcreate-hosted.mdandquick-start-hosted.mdnow correctly distinguishes between two states:canvas="agent-builder"already present in<canvas-context>— canvas is already open; do not callopen_canvasagain. If the user's prompt includes project/subscription details, continue to step 1b. Otherwise remind and stop.canvas="agent-builder"absent — callopen_canvas, remind, and stop.This prevents a loop where the agent would re-open the canvas even when it was already open.
2. Plugin-contributed extension detection
Both
check-canvas-entry.ps1andcheck-canvas-entry.shnow also search~/.copilot/installed-plugins/(up to depth 4/6) for thefoundry-agent-canvasextension directory. Previously, canvas installations contributed via plugins were not detected, causing false[ACTION]results.Files Changed
plugin/skills/microsoft-foundry/foundry-agent/create/create-hosted.mdplugin/skills/microsoft-foundry/foundry-agent/create/quick-start-hosted.mdplugin/skills/microsoft-foundry/foundry-agent/create/scripts/check-canvas-entry.ps1plugin/skills/microsoft-foundry/foundry-agent/create/scripts/check-canvas-entry.sh