Files
awesome-copilot/plugins/roundup
Aaron Powell a7fdcd5006 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
2026-08-06 22:29:31 +10:00
..

Roundup

Status briefing generator that learns how you communicate.

Roundup watches your work across GitHub, email, Teams, Slack, and other tools, then drafts status updates and briefings in your own voice for any audience you define.

The Problem

Managers and team leads spend hours each week assembling status updates from scattered sources: scanning PR activity in GitHub, reading email threads for decisions, checking Teams or Slack for context, then rewriting all of it for different audiences at different levels of detail.

The data to write these updates already exists. The work is in gathering it and packaging it. Roundup automates the gathering and drafting. You provide quality control and hit send.

How It Works

First time (5 minutes): Run the setup skill. It asks about your role, your audiences, and where your team's work happens. Then you paste in an example or two of updates you've already written. From those examples, it learns your format, tone, structure, and what you include vs. skip.

Every time after: Tell roundup which audience you're writing for. It pulls fresh data from your configured sources, synthesizes across them, and drafts a briefing matching your style.

Installation

copilot plugin install roundup@awesome-copilot

Getting Started

First-Time Setup

use roundup-setup

The setup flow walks you through:

  • Describing your role and team
  • Pasting in example updates you've already written
  • Defining your audiences (leadership, team, partners, etc.) and what each one cares about
  • Identifying where your team's work and conversations happen

Generating a Briefing

use roundup

Or be more specific:

use roundup -- generate a leadership briefing covering this past week
use roundup -- draft a team update since Monday

What's Included

Skill What It Does
roundup-setup Interactive onboarding that learns your style, audiences, and data sources
roundup Generates draft briefings from your config on demand

What It Can Pull From

Roundup adapts to whatever tools are available in your environment:

Source What It Looks For
GitHub PRs, issues, commits, review activity across your configured repos
M365 / WorkIQ Email threads, Teams messages, calendar events, shared docs
Slack Channel messages, threads, announcements
Google Workspace Gmail, Calendar, Drive activity

During setup, roundup discovers which of these you have access to and configures itself accordingly. If you add new tools later, re-run setup to include them.

No API keys or additional setup required beyond what's already configured in your Copilot CLI environment.

What Makes It Different

It learns from your examples. Rather than forcing you into a template, roundup analyzes how you actually write and replicates that style. Your briefings sound like you wrote them.

It works with whatever you have. GitHub only? Fine. Full M365 suite? Great. Mix of Slack and Google? Works too. The setup flow discovers your environment and adapts.

Multiple audiences, one setup. Define different audience profiles with different detail levels and formats. Same underlying data, different output for each.

Your config is a readable file. Everything roundup learned lives in ~/.config/roundup/config.md -- plain markdown you can open, read, and hand-edit anytime. No opaque settings or hidden state.

Reconfiguring

To start setup over from scratch:

use roundup-setup

It will ask before overwriting your existing config.

To make small adjustments, just open ~/.config/roundup/config.md in any text editor. The file is written in plain English and organized by section. Your changes are respected on the next run.

License

MIT