Agent skill · microsoft
create-canvas
Create a Copilot extension canvas at user, workspace, or plugin scope.
What it needs
About 4k tokens when loaded.
What this skill does
Create a working canvas extension at the user's chosen scope. Do the implementation rather than only returning a sample. Any Copilot host may load the extension. Build only on the Copilot SDK contract described here; do not depend on environment variables, paths, APIs, or UI behavior specific to one host. Choose the scope Before writing any files, use askuser to offer all three scopes unless the user already specified a scope. Do not infer workspace scope merely because a workspace is open. Scope Entry point Availability --- --- --- User <copilot-home>/extensions/<name>/extension.mjs Personal canvas available across the user's workspaces. Workspace <workspace-root>/.github/extensions/<name>/extension.mjs Repository-owned canvas shared with users of that workspace when checked in. Plugin <plugin-root>/extensions/<name>/extension.mjs Canvas bundled in an installable plugin that can be shared with teammates across workspaces. Resolve <copilot-home> using process.env.COPILOTHOME exactly as given whenever it is non-empty, otherwise path.join(os.homedir(), '.copilot'). For plugin scope, ask whether to use an existing plugin or create a new one, and where its source lives, unless already specified. Work in the plugin source, not an installed cache. For a new plugin, create .plugin/plugin.json with name, version, description, and "extensions": "extensions/". For an existing plugin, preserve its metadata and components, honor its configured extension directory, or add the extensions field if missing. Use the selected extension directory as <extension-dir> throughout implementation and validation. Do not create copies at other scopes. Clarify only when needed If the requested canvas purpose is unclear, ask what it should display or let the user do. If durable state is required but its identity or lifetime is ambiguous, ask whether the state belongs in a workspace artifact or private extension storage. Inspect first Before writing: 1. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills microsoft/create-canvas