Agent skill · software engineering · github
create-canvas-extension
Create or register a canvas extension in the awesome-copilot repository. Use when asked to scaffold a new canvas extension, create its plugin.json, add a reusable extension to one or more plugins, or migrate extension metadata. Extensions are reusable source under extensions/; shippable plugin manifests belong under plugins/.
Why this skill is useful
Adds specific commands and file structures for creating canvas extensions in the awesome-copilot repository that the AI wouldn't reliably generate on its own.
What it needs
About 3k tokens when loaded. Last updated 2026-08-07. 37,534 stars on the source repository.
What this skill does
Create a canvas extension Use this skill only for the github/awesome-copilot repository. Canvas extensions are reusable source components. They do not have a plugin.json under extensions/. Required decisions Before creating files, ask for each missing value: 1. Extension ID: lowercase kebab-case, matching the source folder and plugin name. 2. Display metadata: description version (default 1.0.0) author name and optional URL keywords (lowercase, hyphenated, maximum 10) repository and license (default to the repository URL and MIT when appropriate) 3. Canvas entrypoint: confirm whether the extension already has extension.mjs. If not, create a minimal entrypoint only when the user provides enough implementation details; otherwise create the directory and leave an explicit TODO. 4. Preview image: obtain an existing assets/preview.png path or ask the user to add it. Do not invent a binary image or silently use a misleading placeholder. 5. Plugin registration: For a standalone installable canvas plugin, create plugins/<extension-id>. For an extension that belongs to an existing plugin, ask for the parent plugin ID and add ./extensions/<extension-id> to that plugin's extensions.com.github.awesome-copilot.extensions. If the extension should be shipped by multiple plugins, collect all plugin IDs and add the same extension ID to each mapping file. Files to create For a new extension plugin, create this structure: The extension source may contain additional files such as package.json, canvas assets, or supporting modules. Keep all reusable implementation files under extensions/<extension-id>/. Create plugins/<extension-id>/plugin.json with this shape: Keep Agent Plugins fields at the manifest top level. Repository composition belongs only under extensions.com.github.awesome-copilot; do not put agents, commands, hooks, or skills at the top level or directly under extensions. MCP servers are declared in mcp.json at the plugin root, never in plugin.json. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills github/create-canvas-extension