Rename marketplace to webhook-skills, narrow per-skill sources, add bundle entry#62
Merged
Merged
Conversation
…ills` Two metadata-only changes to .claude-plugin/marketplace.json: 1. Marketplace `name`: `hookdeck-webhook-skills` → `webhook-skills`. The skills cover 33 third-party providers (Stripe, Shopify, GitHub, etc.) plus Hookdeck's own infrastructure. Hookdeck branding in the install command surface (`@hookdeck-webhook-skills`) implies a Hookdeck-specific catalog, which isn't what this is. Users now install via `<skill>@webhook-skills`. 2. Plugin `source`: `"./"` → `"./skills/<name>"` for all 37 entries, and `skills: ["./skills/<name>"]` → `skills: ["./"]` to reflect that the plugin root IS the skill folder. Before: installing one skill copied the entire repo (37 SKILL.mds, examples/, results/, scripts/, etc.) into ~/.claude/plugins/cache/. With 37 plugins installable, that meant up to 37 full repo copies on disk. After: each install pulls only `skills/<provider>-webhooks/`. Doc reference: https://code.claude.com/docs/en/plugin-marketplaces.md `Relative path | string (e.g. "./my-plugin") | Local directory within the marketplace repo. Must start with ./. Resolved relative to the marketplace root, not the .claude-plugin/ directory` Cross-skill references audit: every provider SKILL.md recommends installing `webhook-handler-patterns` alongside, but every reference uses absolute https://github.com/hookdeck/webhook-skills/... URLs, not relative file paths. The same is true in reverse from webhook-handler-patterns/SKILL.md. No file-path coupling between skills; the per-subdir migration does not break any cross-reference. No SKILL.md content changed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds a 38th plugin entry to .claude-plugin/marketplace.json that bundles all 37 skill folders as a single plugin named `webhook-skills`. The bundle entry uses `source: "./"` + `skills: [./skills/<each>, ...]` because it deliberately exposes all 37 skills from the repo root — unlike the 37 granular entries which each narrow to a single subdirectory. Why a bundle entry: Anthropic's plugin directory submission form is per-plugin. Submitting 37 separate entries to the directory would be onerous and would dilute the catalog. One bundle plugin lets a single directory submission cover the whole repo. The 37 granular entries stay so users adding the marketplace directly can still install per-provider via `<provider>-webhooks@webhook-skills`. After this change there are two install paths: - Granular: /plugin install stripe-webhooks@webhook-skills - Bundle: /plugin install webhook-skills@webhook-skills Bundle name `webhook-skills` matches the marketplace name. That makes the install command read as `webhook-skills@webhook-skills`, which is intentional — it mirrors the anthropics/skills `claude-api@claude-api` pattern where a "default" plugin shares its marketplace's name. No SKILL.md content changed; no granular entry changed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
webhook-skillswebhook-skills, narrow per-skill sources, add bundle entry
Adds a new "Install with `/plugin` (Claude Code)" subsection alongside the existing `npx skills add` instructions. Documents both install paths now available via the marketplace.json: - Granular: `/plugin install <provider>-webhooks@webhook-skills` - Bundle: `/plugin install webhook-skills@webhook-skills` Also clarifies the skill namespacing users will see in each case. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
leggetter
pushed a commit
that referenced
this pull request
May 13, 2026
…tplace.json
- README.md: add Orb row (alphabetically between OpenClaw and Paddle), linkified to official docs
- providers.yaml: add orb entry with HMAC-SHA256/`v1:{ts}:{body}` scheme notes, common events, summary-webhooks variant, and `orb-billing` SDK declared for both npm and pip so the version-tracker covers it
- .claude-plugin/marketplace.json: add `orb-webhooks` plugin entry (matching the per-skill pattern from PR #62) and append `./skills/orb-webhooks` to the `webhook-skills` bundle
Skill content (skills/orb-webhooks/) landed in the previous commit via the
generator.
https://claude.ai/code/session_01NNTgQRJss1V7gyzzJ9rjnB
leggetter
added a commit
that referenced
this pull request
May 14, 2026
* feat: add orb-webhooks skill
Adds a webhook skill for Orb (usage-based billing) with HMAC-SHA256
manual verification over `v1:{X-Orb-Timestamp}:{rawBody}`, plus
runnable Express, Next.js, and FastAPI examples with tests.
https://claude.ai/code/session_01NNTgQRJss1V7gyzzJ9rjnB
* chore(orb-webhooks): integrate into README, providers.yaml, and marketplace.json
- README.md: add Orb row (alphabetically between OpenClaw and Paddle), linkified to official docs
- providers.yaml: add orb entry with HMAC-SHA256/`v1:{ts}:{body}` scheme notes, common events, summary-webhooks variant, and `orb-billing` SDK declared for both npm and pip so the version-tracker covers it
- .claude-plugin/marketplace.json: add `orb-webhooks` plugin entry (matching the per-skill pattern from PR #62) and append `./skills/orb-webhooks` to the `webhook-skills` bundle
Skill content (skills/orb-webhooks/) landed in the previous commit via the
generator.
https://claude.ai/code/session_01NNTgQRJss1V7gyzzJ9rjnB
---------
Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three metadata-only changes to
.claude-plugin/marketplace.jsonplus a README update:Rename marketplace
name:hookdeck-webhook-skills→webhook-skills. The catalog covers 33 third-party providers (Stripe, Shopify, GitHub, etc.) plus Hookdeck's own infrastructure plugins. Hookdeck branding in the install-command surface (<skill>@hookdeck-webhook-skills) implied a Hookdeck-specific catalog, which doesn't match the content. Users now install via<skill>@webhook-skills.Per-skill subdirectory source for the 37 granular entries:
source: "./"+skills: ["./skills/<name>"]source: "./skills/<name>"+skills: ["./"]With the previous shape, each install pulled the entire repo into
~/.claude/plugins/cache/and then activated one folder. After this change, each install pulls onlyskills/<name>/. Real install sizes (viagit clone, respecting.gitignore): bundle ~3.1 MB, per-skill ~200 KB.Add a
webhook-skillsbundle plugin entry (38th plugin) that exposes all 37 skills from a single plugin. Anthropic's plugin directory submission form is per-plugin; one bundle plugin lets a single directory submission cover the whole repo without requiring 37 separate submissions. The granular entries are unchanged.README: add an
Install with /plugin (Claude Code)subsection alongside the existingnpx skills addinstructions, documenting both the granular and bundle install paths and the skill-namespacing users will see in each case.After this PR there are two
/plugininstall paths:/plugin install stripe-webhooks@webhook-skills— installs just that skill (~200 KB)./plugin install webhook-skills@webhook-skills— installs all 37 skills (~3 MB).The
webhook-skills@webhook-skillsinstall command mirrorsanthropics/skills'claude-api@claude-apipattern where a "default" plugin shares its marketplace's name.Doc evidence for the syntax
From
https://code.claude.com/docs/en/plugin-marketplaces.md:Per-skill narrowing uses the relative-path source pattern with
skills: ["./"]to expose the plugin root as the skill folder. The bundle keepssource: "./"because it legitimately needs to reach all 37 skill paths.Cross-skill references audit
Pre-flight grep:
webhook-handler-patterns, but every link is an absolutehttps://github.com/hookdeck/webhook-skills/...URL. No relative file paths between skills.webhook-handler-patterns/SKILL.mdout to providers.skills/clerk-webhooks/references/patterns.md→../SKILL.md) — inside the same skill, unaffected.Per-subdir migration is safe with no SKILL.md content changes.
Empirical install verification
/plugin marketplace add ./+/plugin install stripe-webhooks@webhook-skillssucceeded against this branch:Only the stripe-webhooks folder — no AGENTS.md, no scripts/, no other 36 skills. And the skill surfaces in Claude as the plugin-namespaced
stripe-webhooks:stripe-webhooks(the doc-correct form for plugin skills).The bundle install path (
webhook-skills@webhook-skills) hasn't been empirically tested yet — added in the second commit on this branch.Bundle test plan (still to run)
/plugin marketplace remove webhook-skills && /plugin marketplace add ./(refresh to pick up the bundle entry)/plugin install webhook-skills@webhook-skillswebhook-skills:namespace in the available_skills list.Commits on this branch
68d9280Switch marketplace to per-skill subdir sources, rename towebhook-skills89a0d09Addwebhook-skillsbundle plugin entry5300e32README: document/plugininstall path for Claude Code🤖 Generated with Claude Code