Restructure into a per-skill plugin marketplace - #15
Open
thefactremains wants to merge 1 commit into
Open
Conversation
Turn the repo into an installable Claude Code plugin marketplace. Each of the 19 skills becomes its own plugin so users install only what they want. - git mv every skill dir to plugins/<name>/skills/<name>/ (history preserved) - add plugins/<name>/.claude-plugin/plugin.json for each, at version 1.0.0, matching the field style used in Percona-Lab/claude-plugins - add .claude-plugin/marketplace.json naming the marketplace "percona-skills", deliberately distinct from the "percona-lab" marketplace in Percona-Lab/claude-plugins so the two can coexist - README/TESTING: document the /plugin install path and the breakage from dropping the old root-level layout No SKILL.md content changed - only locations. Co-Authored-By: Claude Opus 5 <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.
What this does
Turns this repo into an installable Claude Code plugin marketplace. A marketplace entry has to point at a plugin directory, and a plugin's skills must live at
<plugin>/skills/<name>/SKILL.md— so the skills had to move out of the repo root.Structure: one plugin per skill. All 19 skills become 19 independently installable plugins, so users take only what they need.
Every skill moved with
git mv, sogit log --followstill traces eachSKILL.mdback through its full history. NoSKILL.mdcontent changed — only locations.Marketplace name
Named
percona-skills, deliberately notpercona-lab— Percona-Lab/claude-plugins already usespercona-lab, and two marketplaces sharing a name collide. Both can now be added side by side.plugin.jsonfield style (name,version,author: {"name": "Percona Lab"},description,repository,license) matches that repo so the two stay consistent.Install
Or
/pluginto browse all 19 interactively.The old root-level layout is gone. Skills moved from
<skill-name>/SKILL.mdtoplugins/<skill-name>/skills/<skill-name>/SKILL.md. Specifically:npx skills add Percona-Lab/skillsno longer works. TheskillsCLI discovers skills at the repo root; they are now two levels down. Both the interactive form and the single-skill form (npx skills add Percona-Lab/skills/mysql-to-percona) stop resolving. This is the biggest loss, and it hits the non-Claude audience (Codex, Cursor, Windsurf, Gemini CLI) hardest — that CLI was their documented one-liner. They now need thecurlpath or a manual copy.raw.githubusercontent.com/Percona-Lab/skills/main/<skill-name>/SKILL.mdneeds theplugins/<skill-name>/skills/prefix inserted. Any script, runbook, internal doc, or CI job that curls a skill by its old path breaks silently at the HTTP layer.ln -s ~/code/percona-skills/<skill-name> ~/.claude/skills/<skill-name>loop from TESTING.md now points at nothing. Updated in this PR; anyone who ran the old version needs to re-point atplugins/<skill-name>/skills/<skill-name>.~/.claude/skills/are untouched and keep functioning — they just will never pick up updates from the old paths again. Re-install to resume getting changes.There is no redirect or compatibility shim: GitHub does not rewrite raw paths, so nothing can keep the old URLs alive. A follow-up could restore
npx skillssupport by also exposing a root-levelskills/directory, if the non-Claude install path matters enough to maintain both.Verification run
marketplace.jsonand all 19plugin.jsonfiles parse as valid JSON.sourcevalues are relative./plugins/<name>paths.sourceresolves to a real directory containingskills/<name>/SKILL.md.plugin.jsoncarriesname,version(1.0.0),description,author,repository,license, and itsnamematches its marketplace entry.SKILL.mdfiles in the repo, all underplugins/.SKILL.mdleft at the repo root or in any root-level directory.references/directories moved intact with their skills.git statusshows the moves as renames (R);git log --followtraces history through them.Branched from
main(b6112a9), not from a roadmap branch.🤖 Generated with Claude Code