Repository navigation
feat: distribute PGX through Claude Code Plugin Marketplace - #34
Merged
Merged
Conversation
Add a Claude Code plugin marketplace (`pgrundev`, .claude-plugin/marketplace.json)
with one plugin, `pgx` (plugins/pgx), so Claude Code users install the PGX
Agent Skill inside a session:
/plugin marketplace add pgrundev/pgx
/plugin install pgx@pgrundev
/pgx:pgx Set up isolated Postgres databases for this project.
The plugin packages the canonical Skill (skills/pgx) unchanged: plugins/sync.sh
copies it into plugins/pgx/skills/pgx and `--check` fails CI on drift. It ships
no hooks, MCP servers or binaries; project hooks keep coming from `pgx agent
setup`, so installing the plugin at user scope does nothing in projects that
have not opted in, and install/uninstall never touch .claude/settings.json.
SKILL.md gains the plugin install path for its helper scripts
(${CLAUDE_PLUGIN_ROOT}/skills/pgx/scripts/β¦, substituted when loaded from the
plugin) and its metadata.version moves to 0.1.1 to match the plugin version.
Tests: plugins/tests/pgx/run.sh (manifests with `claude plugin validate
--strict`, directory profile, drift, hygiene, isolated install/enable/disable/
update/scope/uninstall/reinstall cycle, hooks untouched, Skills-CLI copy
alongside). CI job `plugin` runs it with a pinned Claude Code CLI and scans
the package with gitleaks. Docs: README, agents.md, new claude-plugin.md,
references/claude-code.md.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Three headless Claude Code sessions in a Rails project with the plugin installed from the public branch (setup through /pgx:pgx, feature work in a hook-provided branch, a third session with its own branch), the interactive /plugin flow with recorded screens, removal/reinstall, coexistence with a Skills CLI copy, measured clone and install sizes, and the directory submission material. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
alexshapalov
marked this pull request as ready for review
October 26, 2026 18:37
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
PGX becomes installable inside Claude Code through its native plugin manager, without leaving the session:
pgrundevat.claude-plugin/marketplace.json(one plugin today, reusable for more PostgreSQL tools).pgxatplugins/pgx/:.claude-plugin/plugin.json(version 0.1.1),README.md, andskills/pgx/, a verbatim copy of the canonical Skill.plugins/sync.shregenerates the copy;plugins/sync.sh --checkfails CI on drift. 84 KB installed, 16 files, ~190β270 tokens of always-on context. No hooks, MCP servers, commands or binaries.skills/pgx/SKILL.md): adds the plugin install path for its helper scripts (${CLAUDE_PLUGIN_ROOT}/skills/pgx/scripts/β¦, substituted by Claude Code when loaded from the plugin);metadata.versionβ 0.1.1 to match the plugin.references/claude-code.mddocuments both install routes and running them side by side.pgx agent setuponly. Installing, updating, disabling or removing the plugin never touches.claude/settings.json(tested). A user-scope install does nothing in projects without.pgx.toml.npx skills add pgrundev/pgx --skill pgxstill installs the plain skill/pgx; with both installed Claude Code lists/pgxand/pgx:pgx.plugins/tests/pgx/run.sh(validate--stricton plugin + marketplace, directory profile, drift, hygiene, isolated install β list β details β disable β enable β update β project/local scope β uninstall β reinstall β marketplace remove, hooks untouched, Skills-CLI copy alongside); new CI jobpluginwith a pinned Claude Code CLI (2.1.310) and gitleaks over the package.docs/pgx/local-dev/claude-plugin.md,agents.md, validation note.Validation
claude plugin validate --strict plugins/pgxand--strict .: passed (Claude Code 2.1.310).--profile directory: no refusals (icon recommended).skills-ref validatepass.pgrundev/pgx#feat/claude-plugin-marketplace): full clone 53 s / 2.2 GB on disk (192 MB fetch);--sparse .claude-plugin plugins8 s / 72 MB; plugin installs,claude plugin details pgxβSkills (1) pgx, Hooks (0), MCP servers (0); cache holds only the 84 KB package./plugin marketplace add,/plugin install pgx@pgrundevβ scope dialog β "Plugin is now active", Installed tab lists it,/pgx:autocompletes/pgx:pgx, invoking it loads the skill from the plugin cache./pgx:pgx(schema-only template,pgx agent setup, hooks once), feature work in a hook-provided branch (migration + tests green; column only in the branch), third session with its own branch; developer PostgreSQL schema byte-identical; all branches cleaned up by the supervisor after the grace period. Uninstall leaves databases, templates,.pgx.tomland hooks intact. Details:docs/pgx/local-dev/validation/2026-10-26-claude-plugin-live.md.Known cost
/plugin marketplace add pgrundev/pgxclones the repository (fuzz corpora and benchmark logs): 192 MB fetch, 2.2 GB on disk, about a minute. The installed plugin is 84 KB. The in-session command has no sparse option; documented inclaude-plugin.md. PGX is not submitted to Anthropic's directory; the submission material is in the doc.Not merged: awaiting review and authorization.
π€ Generated with Claude Code