From claude-plugins-validation
Use when publishing a plugin to a GitHub-hosted marketplace. Loaded by plugin-creator agent.
npx claudepluginhub emasoft/emasoft-plugins --plugin claude-plugins-validationThis skill is limited to using the following tools:
Publishes a validated Claude Code plugin to a GitHub-hosted marketplace repo. Configures notification workflow, PAT secret, and publish pipeline.
Suggests manual /compact at logical task boundaries in long Claude Code sessions and multi-phase tasks to avoid arbitrary auto-compaction losses.
Share bugs, ideas, or general feedback.
Publishes a validated Claude Code plugin to a GitHub-hosted marketplace repo. Configures notification workflow, PAT secret, and publish pipeline.
Handles all three CPV layouts:
MARKETPLACE_PAT and dispatchgh CLI authenticated (gh auth status)source: "./")uv on PATH, plugin has pyproject.toml<owner>/<marketplace-repo>, verify with gh repo view.Skip for Layout B/C — both manifests live in the same repo.
repo scope (publish-pipeline-guide §1)gh secret set MARKETPLACE_PAT --repo <owner>/<plugin-repo> --body "$MARKETPLACE_PAT" (MUST use --body).github/workflows/, fill MARKETPLACE_OWNER/MARKETPLACE_REPOci.yml consolidated (lint + validate + test) per canonical-pipelinetest -f scripts/publish.pyuv run python scripts/publish.py --install-hookgit config core.hooksPath shows git-hooksuv run python scripts/publish.py --gateuv run python scripts/publish.py — bump auto-detected from git-cliff. Override with --patch/--minor/--major.
update-submodules.yml triggers within 30s. Skip for B/C.uvx --from git+https://github.com/Emasoft/claude-plugins-validation \
cpv-setup-branch-rules <owner>/<plugin-repo>
Idempotent. --dry-run to preview.Copy this checklist and track your progress:
Report: plugin name, old/new version, push status, dispatch status. On failure, name the failed phase.
| Error | Resolution |
|---|---|
MARKETPLACE_PAT missing | gh secret set MARKETPLACE_PAT |
| Dispatch not received | Check PAT scope, workflow on default branch |
| Pre-push blocks | Fix validation/lint, bump version |
| Version mismatch | publish.py auto-bumps all sources |
| Push rejected | Check branch protection; PAT owner must be admin |
Input: publish my-plugin to marketplace
Output: [DONE] Plugin: my-plugin 1.0.0->1.0.1 | Push: ok | Dispatch: triggered
Section 1: PAT Setup · Section 2: notify-marketplace.yml · Section 3: The Dispatch Chain · Section 4: publish.py Pipeline · Section 5: Pre-Push Hook Gates · Section 6: marketplace.json Entry Format · Section 7: Troubleshooting
canonical-pipeline skill — publish.py, pre-push hook, CI workflowsPrefer LLM Externalizer MCP for bounded file analysis.