Skip to content

fix: improve canvas-entry gate logic and add plugin-contributed extension detection#2866

Merged
anchenyi merged 3 commits into
microsoft:mainfrom
qinezh:fix/canvas-entry-gate-and-plugin-extensions
Jul 17, 2026
Merged

fix: improve canvas-entry gate logic and add plugin-contributed extension detection#2866
anchenyi merged 3 commits into
microsoft:mainfrom
qinezh:fix/canvas-entry-gate-and-plugin-extensions

Conversation

@qinezh

@qinezh qinezh commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Summary

Two related fixes to the microsoft-foundry skill's canvas-entry pre-flight check:

1. Canvas-entry gate logic clarification

The [ACTION] handling in both create-hosted.md and quick-start-hosted.md now correctly distinguishes between two states:

  • canvas="agent-builder" already present in <canvas-context> — canvas is already open; do not call open_canvas again. If the user's prompt includes project/subscription details, continue to step 1b. Otherwise remind and stop.
  • canvas="agent-builder" absent — call open_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.ps1 and check-canvas-entry.sh now also search ~/.copilot/installed-plugins/ (up to depth 4/6) for the foundry-agent-canvas extension 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.md
  • plugin/skills/microsoft-foundry/foundry-agent/create/quick-start-hosted.md
  • plugin/skills/microsoft-foundry/foundry-agent/create/scripts/check-canvas-entry.ps1
  • plugin/skills/microsoft-foundry/foundry-agent/create/scripts/check-canvas-entry.sh

…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
Copilot AI review requested due to automatic review settings July 17, 2026 06:55

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
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
anchenyi merged commit bd7c7a3 into microsoft:main Jul 17, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants