Agents & OrchestrationSûr100100/100
Dashboard Canvas (Microsoft)
Mechanics for opening the Upgrade Dashboard canvas panel — the exact canvasId and instanceId to send, when extensionId is required, how to handle registration errors, and the open_dashboard fallback. Load only on hosts that expose an open_canvas tool and list the Upgrade Dashboard canvas.
ou envoie-le directement à ton agent.
Installer dans ton projet
$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs dashboard-canvas__microsoft-upgrade-agent-plugins__plugins-upgrade-agent-upgrade-skills-system-c61cc41ea56dMicrosoft
microsoft/upgrade-agent-plugins
Contenu à copier
---
name: dashboard-canvas
description: Mechanics for opening the Upgrade Dashboard canvas panel — the exact canvasId and instanceId to send, when extensionId is required, how to handle registration errors, and the open_dashboard fallback. Load only on hosts that expose an open_canvas tool and list the Upgrade Dashboard canvas.
metadata:
origin: Microsoft
discovery: system
---
# Upgrade Dashboard Canvas
Only load this skill on a host that actually has the canvas — an `open_canvas` tool **and** an
Upgrade Dashboard (`canvasId: dashboard`) in its available canvases. On plain CLI, Visual Studio and
VS Code the canvas does not exist; skip it silently there and use `open_dashboard` instead.
The dashboard is a live side-panel view of the active scenario's progress, assessment, dependency
health, tasks and activity. Open it *for* the user — they should never have to add it by hand
through the panel's `+` menu.
## When to open it
Once per session, the first time a scenario is active — whether `get_state` reports one at
startup, `initialize_scenario` creates one, or `resume_scenario` picks one up. Open it *for* the
user; they should never have to add it by hand through the panel's `+` menu.
## The call
```
open_canvas(canvasId: "dashboard",
instanceId: "plugin-upgrade-agent-upgrade-agent-dashboard-dashboard")
```
Once it opens successfully you are done for the session — do not open it again.
### Do not shorten the `instanceId`
That value is not arbitrary. It is the id the host itself derives when the user opens this same
dashboard through the `+` menu: the canvas's `extensionId` and `canvasId` joined with `-`, then
every run of characters outside `A-Za-z0-9._-` replaced by `-`. Panels are keyed on `instanceId`
**alone**, so this exact string is what makes an agent-opened and a user-opened dashboard converge on
one panel. Any other value silently stacks a second dashboard next to theirs. Reuse it on every call.
### Do not send `extensionId` on the first attempt
The host documents it as optional — it exists only to break a tie when two extensions both publish a
canvas called `dashboard`. Sending a hardcoded value turns a lookup that would have succeeded into
`Canvas "…/dashboard" is not registered` whenever the host recorded our provider under a different
id, because that is a *different* lookup from the plain `canvasId` one.
Add an `extensionId` **only** when the host answers `Canvas "dashboard" is provided by multiple
extensions` — that reply is how it tells you the `extensionId` is genuinely required, and it lists
the ids to choose from. Use the exact Upgrade Dashboard id **from that list**. Ours is normally
`plugin:upgrade-agent:upgrade-agent-dashboard`, but if the host lists a different one the host's
value wins — an id that is not in the list fails identically on every retry.
## Timing
Never make `open_canvas` your first tool call of a session, and never call it in the same burst as
`get_state` / `initialize_scenario` / `resume_scenario`. The dashboard extension launches together
with the session and finishes registering a few hundred milliseconds later, so an open fired
immediately loses a race it did not need to enter — and the failure surfaces to the user as an error
card you cannot suppress afterwards.
Let the scenario work happen first (finish the initialize/resume step, write
`scenario-instructions.md`), then open the canvas. By then registration
has long since completed.
## When the open fails
Registration errors — `Canvas "…/dashboard" is not registered`, or
`No canvas "dashboard" is registered` — mean the extension has not finished registering yet, or the
host recorded it under a provider id you did not ask for. Either way this is **expected and not
fatal**.
1. If you sent an `extensionId` that the host never asked for, drop it and retry with `canvasId`
alone — a different and more forgiving lookup. **If the host had told you the canvas is provided
by multiple extensions, keep that `extensionId` on every retry** — dropping it only walks you back
into the ambiguity error and the two failures alternate forever.
2. Retry the same call **up to two more times, spaced out** — never back to back. Put real work
between attempts (your next `get_state`, file read, or task action); any real tool call takes far
longer than the gap, so a spaced retry normally succeeds.
3. After a third failure, stop retrying and fall back to `open_dashboard`. Give the user its URL so
they still get a dashboard — at most once per session, offered simply as a link.
Never surface the canvas failure itself to the user as an error.
## Related tools are not substitutes
- **`open_dashboard`** launches the Blazor web dashboard on a local URL. Do not call it *instead of*
opening the canvas when the canvas is available — only as the fallback above, after a canvas open
has actually failed.Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.
Ce que fait Dashboard Canvas (Microsoft)
**`open_dashboard`** launches the Blazor web dashboard on a local URL. Do not call it *instead of*
Comment utiliser Dashboard Canvas (Microsoft)
1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.
Déclencheurs pour Dashboard Canvas (Microsoft)
Dis simplement à ton agent quelque chose comme :
Applique le skill dashboard-canvas__microsoft-upgrade-agent-plugins__plugins-upgrade-agent-upgrade-skills-system-c61cc41ea56d à cette tâche
Utilise dashboard-canvas__microsoft-upgrade-agent-plugins__plugins-upgrade-agent-upgrade-skills-system-c61cc41ea56d pour améliorer cette implémentation
Passe en revue ce sujet avec dashboard-canvas__microsoft-upgrade-agent-plugins__plugins-upgrade-agent-upgrade-skills-system-c61cc41ea56d
Skills liés à Dashboard Canvas (Microsoft)
Acceleration (Microsoft)
Compare synthetic acceleration options and clearly separate scenario value from forecast commitments.Account Overview (Microsoft)
Create a synthetic Acme account overview and identify evidence that merits seller attention.Acroform Writer (Microsoft)
Use this skill whenever the user wants values written INTO an existing PDF form that lives in the connected SharePoint knowledge source — filling out, completing, populating, or submitting a fillable PDF (application, intake sheet, contract, government form) from data they supply, a spreadsheet row, or the conversation. Triggers include "fill out the job application form", "complete the intake form for [person]", "populate our standard NDA template", and "make this ready to send / non-editable" (flatten). The source form should be found via knowledge search; only ask the user to upload it if knowledge search turns up nothing plausible. different task), and do NOT use it on scanned/image-only PDFs that have no real fillable fields — those need OCR or manual overlay instead, which this skill explicitly detects and reports rather than silently failing.