Add marketplace manifests and install instructions #1

Merged
hannah-vernon merged 1 commit from feature/marketplace-manifests into dev 2026-09-09 15:18:14 -05:00

What does this PR do?

Adds the two marketplace catalogs so the plugin is browsable and installable, and documents both installation routes.

Plugin installation is GitHub-only. /plugin install owner/repo, /plugin install owner/repo:path, and /plugin marketplace add all resolve against GitHub, with no path for a self-hosted host. A catalog is what turns a repository from directly installable into browsable.

Two files are needed because the clients read different ones:

  • .github/plugin/marketplace.json for GitHub Copilot CLI
  • .claude-plugin/marketplace.json for Claude Code

Both name the repository root ("source": ".") as the plugin source, because this repository is a single plugin rather than a collection of them.

README.md now covers both routes, including running the skill live from a clone with /skills add, which copies nothing and therefore cannot drift from the working tree.

Invoke-RepoChecks.ps1 now compares version and description across all four manifests. Nothing else keeps them aligned, and it found a real difference on its first run: plugin.json said "end of a coding session" where both catalogs said "end of a session".

Fixes #

How was this tested?

  • ./scripts/Invoke-RepoChecks.ps1 passes with no findings
  • All four manifests parse as JSON
  • The new drift check was confirmed to fail on a real mismatch before the descriptions were aligned, so it is detecting rather than passing vacuously
  • /plugin marketplace add against the published GitHub repository, which cannot be tested until the mirror exists

Checklist

  • I have read the Contributing Guide
  • Changes are focused; one logical change per PR
  • Documentation updated where behaviour changed
  • No real host names, databases, employers, colleagues, or local paths in any example
  • Any new entry in references/anti-patterns.md has a real observed example behind it (none added)
  • No commented-out code or debug leftovers
## What does this PR do? Adds the two marketplace catalogs so the plugin is browsable and installable, and documents both installation routes. Plugin installation is GitHub-only. `/plugin install owner/repo`, `/plugin install owner/repo:path`, and `/plugin marketplace add` all resolve against GitHub, with no path for a self-hosted host. A catalog is what turns a repository from directly installable into browsable. Two files are needed because the clients read different ones: - `.github/plugin/marketplace.json` for GitHub Copilot CLI - `.claude-plugin/marketplace.json` for Claude Code Both name the repository root (`"source": "."`) as the plugin source, because this repository is a single plugin rather than a collection of them. `README.md` now covers both routes, including running the skill live from a clone with `/skills add`, which copies nothing and therefore cannot drift from the working tree. `Invoke-RepoChecks.ps1` now compares version and description across all four manifests. Nothing else keeps them aligned, and it found a real difference on its first run: `plugin.json` said "end of a coding session" where both catalogs said "end of a session". Fixes # ## How was this tested? - [x] `./scripts/Invoke-RepoChecks.ps1` passes with no findings - [x] All four manifests parse as JSON - [x] The new drift check was confirmed to fail on a real mismatch before the descriptions were aligned, so it is detecting rather than passing vacuously - [ ] `/plugin marketplace add` against the published GitHub repository, which cannot be tested until the mirror exists ## Checklist - [x] I have read the [Contributing Guide](../CONTRIBUTING.md) - [x] Changes are focused; one logical change per PR - [x] Documentation updated where behaviour changed - [x] No real host names, databases, employers, colleagues, or local paths in any example - [x] Any new entry in `references/anti-patterns.md` has a real observed example behind it (none added) - [x] No commented-out code or debug leftovers
Plugin installation is GitHub-only: /plugin install owner/repo and
/plugin marketplace add both resolve against GitHub, with no path for a
self-hosted host.  Publishing the marketplace catalogs is what makes the
plugin browsable rather than only directly installable.

Two catalogs are needed because the two clients read different files:
.github/plugin/marketplace.json for Copilot CLI and
.claude-plugin/marketplace.json for Claude Code.  Both name the
repository root as the plugin source, since this repository is a single
plugin rather than a collection.

README now documents both installation routes, including running the
skill live from a clone with /skills add, which copies nothing and so
cannot drift from the working tree.

Invoke-RepoChecks now compares version and description across all four
manifests.  It caught a real difference on its first run: plugin.json
said 'end of a coding session' where the catalogs said 'end of a
session'.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
hannah-vernon/agent-session-checkpoints!1
No description provided.