Migrate plugins and canvas extensions to Agent Plugins spec (#2546)

* feat: migrate plugins and extensions to Agent Plugins v1.0.0 spec

- Add \ to all 69 curated plugin manifests
- Migrate all 18 extension manifests: add \, move logo into
  xtensions.com.github.copilot.logo namespace, remove top-level
  logo and string xtensions: '.'
- Update eng/validate-plugins.mjs: require \, validate
  namespace-keyed extensions object for canvas extensions, widen
  name pattern to allow dots (spec §5.5, max 64 chars)
- Update eng/materialize-plugins.mjs: emit spec-clean served manifests
  (only spec fields: \, name, version, description, author,
  homepage, repository, license, keywords, extensions)
- Update eng/generate-website-data.mjs: read logo from namespace
  with fallback to top-level logo for compatibility
- Update eng/create-plugin.mjs: scaffold emits \
- Add .github/workflows/validate-plugins.yml: blocking CI for PRs
  touching plugins/** or extensions/**
- Add spec compliance check to external plugin quality gates:
  non-blocking warnings with /⚠️/🛑 emoji legend
- Update AGENTS.md: document new extension manifest shape,
  add \ to plugin checklist

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* refactor: consolidate canvas extension plugins

- Move all extension plugin manifests from extensions/<name> to plugins/<name>
- Keep extensions/<name> as reusable source only
- Remove standalone extension discovery from marketplace and website plugin catalogs
- Auto-bundle same-name extension sources during materialization
- Add build-only extensions.json references for sharing extensions across plugins
- Remove x-awesome-copilot extension metadata support
- Update validation and contributor documentation

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* feat: add canvas extension scaffolding skill

- Add repo-local skill for creating canvas extension sources
- Generate spec-compliant plugin manifests under plugins/
- Support registering reusable extensions with multiple plugins
- Remove guidance for extension-local plugin manifests and custom fields

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* fix: align extension namespaces with current guidance

- Use each extension ID as its manifest namespace key
- Update validation and website generation to resolve extension-specific namespaces
- Upsert plugin validation PR comments using the existing repository pattern

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* fix: use Copilot extension namespace

- Adopt com.github.copilot for all canvas extension manifests
- Require the namespace during validation and website generation
- Update extension scaffolding guidance

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* docs: regenerate plugin catalog after merge

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* refactor(plugins): move manifests to plugin roots

Use root plugin.json manifests and namespaced extension directories throughout local tooling, validation, generation, and contributor documentation. Restore materialize-plugins.mjs line breaks so the source remains readable in GitHub.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* feat(plugins): migrate manifests to namespaced composition

Move repository composition metadata under com.github.awesome-copilot, materialize reusable extensions into the plugin extensions directory, and improve contributor and PR validation guidance.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* fix(validation): address plugin review findings

Restore executable build scripts, validate namespaced manifests and hook directories, improve README item counts, and manage validation comments across reruns.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot-Session: 8f3a88cb-e01e-4760-8125-460490dc1a76
This commit is contained in:
Aaron Powell
2026-08-06 22:29:31 +10:00
committed by GitHub
parent 6c7fe1b15f
commit a7fdcd5006
147 changed files with 2454 additions and 1320 deletions
@@ -1,19 +0,0 @@
{
"name": "accessibility-kanban",
"description": "Kanban board to manage accessibility issues, allow you to plan, track, and complete remediation work.",
"version": "1.0.2",
"author": {
"name": "Aaron Powell",
"url": "https://github.com/aaronpowell"
},
"keywords": [
"accessibility",
"github-issues",
"issue-triage",
"kanban-board",
"planning-workflow",
"status-tracking"
],
"logo": "assets/preview.png",
"extensions": "."
}
-19
View File
@@ -1,19 +0,0 @@
{
"name": "apng-studio",
"description": "Interactive GitHub Copilot app canvas extension for building Animated PNG (APNG) files from frames. Draw or upload frames, tune per-frame timing and compositing, preview live, send the result to your phone by QR, and export an animated .png.",
"version": "1.0.2",
"author": {
"name": "Andrea Griffiths",
"url": "https://github.com/AndreaGriffiths11"
},
"keywords": [
"animated-png",
"apng",
"copilot-canvas",
"frame-animation",
"image-export",
"interactive-canvas"
],
"logo": "assets/preview.png",
"extensions": "."
}
-19
View File
@@ -1,19 +0,0 @@
{
"name": "arcade-canvas",
"description": "Play five retro Phaser mini-games in a Copilot canvas while agents work.",
"version": "1.0.2",
"author": {
"name": "Dan Wahlin",
"url": "https://github.com/DanWahlin"
},
"keywords": [
"arcade-games",
"copilot-canvas",
"interactive-canvas",
"phaser",
"retro-games",
"session-breaks"
],
"logo": "assets/preview.png",
"extensions": "."
}
@@ -1,19 +0,0 @@
{
"name": "backlog-swipe-triage",
"description": "Quickly swipe through backlog issues to triage decisions like assign, needs-info, defer, close, or ignore.",
"version": "1.0.2",
"author": {
"name": "James Montemagno",
"url": "https://github.com/jamesmontemagno"
},
"keywords": [
"agent-assignment",
"backlog-triage",
"github-issues",
"issue-prioritization",
"swipe-interface",
"workflow-automation"
],
"logo": "assets/preview.png",
"extensions": "."
}
-19
View File
@@ -1,19 +0,0 @@
{
"name": "backrooms-canvas",
"description": "Wander an endless first-person backrooms in a Copilot canvas while agents work; their status ghost-writes on the walls.",
"version": "1.0.0",
"author": {
"name": "John Haugabook",
"url": "https://github.com/jhauga"
},
"keywords": [
"backrooms",
"copilot-canvas",
"interactive-canvas",
"first-person",
"procedural-generation",
"session-breaks"
],
"logo": "assets/preview.png",
"extensions": "."
}
@@ -1,20 +0,0 @@
{
"name": "chromium-control-canvas",
"description": "Opens a real Chromium window you can navigate and interact with from a Copilot canvas control panel and agent actions.",
"version": "1.0.2",
"author": {
"name": "Andrea Griffiths",
"url": "https://github.com/AndreaGriffiths11"
},
"keywords": [
"browser-control",
"chromium-browser",
"interactive-canvas",
"playwright-automation",
"screenshots",
"ui-testing",
"web-navigation"
],
"logo": "assets/preview.png",
"extensions": "."
}
-19
View File
@@ -1,19 +0,0 @@
{
"name": "color-orb",
"description": "A visual orb that users can ask the agent to recolor while showing a live activity log in the canvas.",
"version": "1.0.2",
"author": {
"name": "Aaron Powell",
"url": "https://github.com/aaronpowell"
},
"keywords": [
"agent-actions",
"color-picker",
"interactive-demo",
"realtime-updates",
"sse-events",
"visual-feedback"
],
"logo": "assets/preview.png",
"extensions": "."
}
-19
View File
@@ -1,19 +0,0 @@
{
"name": "diagram-viewer",
"description": "Render diagrams, click nodes to drill down, and view agent-generated explanations directly in the canvas.",
"version": "1.0.2",
"author": {
"name": "Aaron Powell",
"url": "https://github.com/aaronpowell"
},
"keywords": [
"architecture-mapping",
"canvas-navigation",
"exploratory-analysis",
"interactive-diagrams",
"node-drilldown",
"relationship-visualization"
],
"logo": "assets/preview.png",
"extensions": "."
}
-19
View File
@@ -1,19 +0,0 @@
{
"name": "feedback-themes",
"description": "Explore grouped customer feedback signals by impact and drill into a theme to guide product next steps.",
"version": "1.0.2",
"author": {
"name": "Aaron Powell",
"url": "https://github.com/aaronpowell"
},
"keywords": [
"customer-feedback",
"impact-prioritization",
"product-insights",
"signal-grouping",
"theme-analysis",
"trend-discovery"
],
"logo": "assets/preview.png",
"extensions": "."
}
-20
View File
@@ -1,20 +0,0 @@
{
"name": "flight-map-canvas",
"description": "A GitHub Copilot canvas that generates a view where Google Maps can be explored using 3D controls, as if a flight simulator. Agents can send the flight anywhere and report what they are working on.",
"version": "1.0.0",
"author": {
"name": "John Haugabook",
"url": "https://github.com/jhauga"
},
"keywords": [
"copilot-canvas",
"flight-simulator",
"geography",
"google-maps",
"interactive-canvas",
"session-breaks",
"threejs"
],
"logo": "assets/preview.png",
"extensions": "."
}
-19
View File
@@ -1,19 +0,0 @@
{
"name": "gesture-review",
"description": "Review pull requests with a live camera feed and approve or reject using thumbs-up/thumbs-down gestures.",
"version": "1.0.2",
"author": {
"name": "Aaron Powell",
"url": "https://github.com/aaronpowell"
},
"keywords": [
"camera-input",
"gesture-control",
"github-prs",
"hands-free",
"mediapipe",
"pull-request-review"
],
"logo": "assets/preview.png",
"extensions": "."
}
@@ -1,20 +0,0 @@
{
"name": "java-modernization-studio",
"description": "Drive the GitHub Copilot App Modernization for Java workflow from an interactive canvas: environment readiness, repo assessment, prioritized plan and progress, validation gates, and one-click predefined-task runs grounded in the repo's real artifacts.",
"version": "1.0.2",
"author": {
"name": "Ayan Gupta",
"url": "https://github.com/ayangupt"
},
"keywords": [
"app-modernization",
"assessment-dashboard",
"azure-migration",
"java-modernization",
"legacy-java",
"modernization-cockpit",
"validation-gates"
],
"logo": "assets/preview.png",
"extensions": "."
}
@@ -1,20 +0,0 @@
{
"name": "pr-artifact-explorer",
"description": "Navigate pull requests and securely explore GitHub Actions artifacts, including test results, static sites, terminal recordings, and source files.",
"version": "1.0.0",
"author": {
"name": "David Pine",
"url": "https://github.com/IEvangelist"
},
"keywords": [
"actions-artifacts",
"artifact-browser",
"canvas",
"copilot-extension",
"github-actions",
"pull-requests",
"test-results"
],
"logo": "assets/preview.png",
"extensions": "."
}
@@ -1,19 +0,0 @@
{
"name": "release-notes-showcase",
"description": "Compose and refine launch-ready release notes with contributor callouts and export-friendly output.",
"version": "1.0.2",
"author": {
"name": "Kayla Cinnamon",
"url": "https://github.com/cinnamon-msft"
},
"keywords": [
"changelog",
"contributor-callouts",
"email-export",
"launch-summary",
"product-updates",
"release-notes"
],
"logo": "assets/preview.png",
"extensions": "."
}
-19
View File
@@ -1,19 +0,0 @@
{
"name": "repo-actions-hub",
"description": "Browse repository GitHub Actions workflows, inspect recent runs, and trigger manual workflow_dispatch runs from a Copilot canvas.",
"version": "1.0.2",
"author": {
"name": "James Montemagno",
"url": "https://github.com/jamesmontemagno"
},
"keywords": [
"actions",
"canvas",
"copilot-extension",
"github-actions",
"recent-runs",
"workflow-dispatch"
],
"logo": "assets/preview.png",
"extensions": "."
}
-18
View File
@@ -1,18 +0,0 @@
{
"name": "signals-dashboard",
"description": "Real-time Workshop dashboard with agent signals, honesty calibration, and cost-aware repo or connected desk launch profiles.",
"version": "0.2.0",
"author": {
"name": "jennyf19",
"url": "https://github.com/jennyf19"
},
"keywords": [
"agent-signals",
"dashboard",
"multi-agent",
"coordination",
"canvas"
],
"logo": "assets/preview.png",
"extensions": "."
}
-19
View File
@@ -1,19 +0,0 @@
{
"name": "site-studio",
"description": "Plan, draft, and track a personal website section by section — a shared canvas where you and your agent author content, watch progress, and review every change.",
"version": "1.0.2",
"author": {
"name": "Ayan Gupta",
"url": "https://github.com/ayangupt"
},
"keywords": [
"agent-collaboration",
"content-authoring",
"personal-website",
"progress-tracking",
"section-planning",
"site-builder"
],
"logo": "assets/preview.png",
"extensions": "."
}
@@ -1,19 +0,0 @@
{
"name": "tiny-tool-town-submitter",
"description": "Inspect a repository, improve Tiny Tool Town readiness, submit its listing issue, and launch remediation work.",
"version": "1.0.2",
"author": {
"name": "James Montemagno",
"url": "https://github.com/jamesmontemagno"
},
"keywords": [
"github-issues",
"open-source",
"project-readiness",
"repository-analysis",
"submission-workflow",
"tiny-tool-town"
],
"logo": "assets/preview.png",
"extensions": "."
}
-19
View File
@@ -1,19 +0,0 @@
{
"name": "token-pacman",
"description": "Visualizes live session AI-credit usage as a Pac-Man board with pellets, ghosts, fruit milestones, and game-over limits.",
"version": "1.0.2",
"author": {
"name": "James Montemagno",
"url": "https://github.com/jamesmontemagno"
},
"keywords": [
"ai-credits",
"copilot-canvas",
"interactive-canvas",
"pac-man",
"quota-tracking",
"session-usage"
],
"logo": "assets/preview.png",
"extensions": "."
}
-19
View File
@@ -1,19 +0,0 @@
{
"name": "where-was-i",
"description": "Reconstruct your dev context (branch, commits, uncommitted work, PR clues) and trigger a resume prompt to continue quickly.",
"version": "1.0.2",
"author": {
"name": "Aaron Powell",
"url": "https://github.com/aaronpowell"
},
"keywords": [
"branch-state",
"developer-context",
"git-history",
"interrupt-recovery",
"pull-request-context",
"resume-work"
],
"logo": "assets/preview.png",
"extensions": "."
}
-19
View File
@@ -1,19 +0,0 @@
{
"name": "work-hub",
"description": "Generic cross-repo command center canvas for GitHub Copilot with onboarding, focus planning, repo health, work signals, and session cleanup.",
"version": "1.0.2",
"author": {
"name": "James Montemagno",
"url": "https://github.com/jamesmontemagno"
},
"keywords": [
"cross-repo-dashboard",
"focus-planning",
"repo-health",
"session-cleanup",
"work-triage",
"workflow-visibility"
],
"logo": "assets/preview.png",
"extensions": "."
}