create-canvas-extension

Scaffold and register canvas extensions with plugin.json manifests in the awesome-copilot repository.

38.5k|4.9k|Updated Jun 11, 2025
One-click install
npx skills add https://github.com/github/awesome-copilot --skill create-canvas-extension
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: create-canvas-extension
Source: https://github.com/github/awesome-copilot/tree/main/.github/skills/create-canvas-extension
Command: npx skills add https://github.com/github/awesome-copilot --skill create-canvas-extension

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Creating a canvas extension in the awesome-copilot repository requires coordinating extension source files, plugin manifests, and registration mappings across multiple directories, and mistakes in structure or schema cause validation failures.

Core Features & Use Cases

  • Extension Scaffolding: Creates the extensions/<extension-id> directory with an extension.mjs entrypoint and assets/preview.png placeholder requirements.
  • Plugin Manifest Generation: Produces a schema-compliant plugins/<extension-id>/plugin.json with the namespace-based extensions.com.github.copilot and extensions.com.github.awesome-copilot fields.
  • Multi-Plugin Registration: Adds the extension path to one or more parent plugins' extensions.com.github.awesome-copilot.extensions arrays, keeping paths sorted and unique.
  • Use Case: A contributor wants to ship a new canvas extension through two existing plugins; the skill creates the source directory, generates the manifest, registers the extension in both plugins, and runs npm run plugin:validate, npm run build, and npm run website:data.

Quick Start

Ask the agent to create a new canvas extension named my-extension with a description, author, and keywords, and register it in the awesome-copilot repository.

Frequently Asked Questions about create-canvas-extension

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a canvas extension in the awesome-copilot repository?

Provide an extension ID, description, author, and keywords, then the skill creates extensions/<extension-id> with an entrypoint and plugins/<extension-id>/plugin.json. It finishes by running plugin validation, build, and website data generation commands.

How do I register one extension in multiple plugins?

Add the path ./extensions/<extension-id> to each parent plugin's extensions.com.github.awesome-copilot.extensions array in its plugin.json. Keep the paths alphabetically sorted and unique; the extension source stays only under the root extensions/ directory.

Does a canvas extension need its own plugin.json under extensions/?

No. Extensions are reusable source and must not contain plugin.json under extensions/<extension-id>. Shippable manifests belong only under plugins/<extension-id>/plugin.json following the agent-plugins schema.

Can I migrate an existing extension manifest to the new format?

Yes. Move the old manifest to plugins/<extension-id>/plugin.json, update it to the namespace-based extensions.com.github.copilot.logo shape, remove the old manifest from extensions/, and register the extension in any parent plugins.

What validation steps run after creating an extension?

The skill runs npm run plugin:validate, npm run build, and npm run website:data to verify the manifest schema, repository composition, and website data generation before reporting the created paths.