원클릭으로
cpv-create-plugin
Create Claude Code plugin or marketplace repos with full CI/CD. Use when scaffolding. Used via cpv-the-skills-menu.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Create Claude Code plugin or marketplace repos with full CI/CD. Use when scaffolding. Used via cpv-the-skills-menu.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Standard files, CI/CD, hooks, and release pipeline for Emasoft Claude Code plugins. Use when creating or auditing plugin repos. Used dynamically via cpv-the-skills-menu — any CPV agent can invoke at runtime (TRDD-478d9687).
Advisory diagnostic that detects when a Claude Code plugin ships files not needed at runtime — build-only source, dependency trees, dev-only dirs, regenerable build caches — and recommends the existing CPV lean-separation. Use when the user asks 'is my plugin too big', 'what files ship', 'reduce install size', 'lean the plugin', 'diagnose plugin architecture', 'unneeded files shipped', or wants to know which paths bloat an install. Read-only: it diagnoses and points at the separate strip-dev / ${CLAUDE_PLUGIN_DATA} step; it NEVER moves or deletes anything. Used dynamically via cpv-the-skills-menu; loaded by cpv-plugin-diagnoser-agent agent.
Maps CPV validation errors to mechanical per-error fix guides. Use when looking up remediation steps for CRITICAL/MAJOR/MINOR/NIT findings. Architectural migrations are handled by cpv-migrate-marketplace-architecture. Used dynamically via cpv-the-skills-menu (TRDD-478d9687).
Move dev-only folders or compile source out of a plugin's MAIN repo into a SEPARATE repo referenced by pinned URL + SHA, so the installed plugin stops shipping them. Use when shrinking a plugin install before publishing, or when creating the PUBLIC compile-source repo the ship-only-binary canon requires. Used dynamically via cpv-the-skills-menu (TRDD-478d9687).
Agent-facing à-la-carte menu of every claude-plugins-validation (CPV) skill, agent, and script: classifies a plugin-quality request — validate, security-scan, fix, cache-optimize, create, publish, marketplace, manage, semantic-grade — and routes it to the right tool. Use when a request mentions CPV, the CPV skills menu, or validating / fixing / publishing / scanning / cache-optimizing a plugin and the exact tool is unchosen. Trigger with 'read the CPV skills menu', 'use CPV to <task>', or Skill(claude-plugins-validation:cpv-the-skills-menu). Also the runtime catalog CPV agents consult (TRDD-478d9687).
Create and configure Claude Code plugin GitHub repositories with CI/CD, hooks, and marketplace notification. Use when setting up a new plugin repo. Used dynamically via cpv-the-skills-menu (TRDD-478d9687).
| name | cpv-create-plugin |
| description | Create Claude Code plugin or marketplace repos with full CI/CD. Use when scaffolding. Used via cpv-the-skills-menu. |
| user-invocable | false |
Scaffolds complete Claude Code plugin or marketplace repositories with standard files, CI/CD workflows, git hooks, and release pipeline.
CPV supports three layouts: A (hub-and-spoke), B (nested), C (marketplace-in-plugin, self-referential). Default to A for multi-plugin sets; suggest C when one repo should be both plugin and marketplace. See marketplace-layouts.md.
git, uv, gh CLI on PATHCreate a Plugin Repository:
uv run "${CLAUDE_PLUGIN_ROOT}/scripts/generate_plugin_repo.py" <target-dir> \
--name <plugin-name> --description "<description>" \
--author "<author>" --author-email "<email>" \
--github-owner <github-username> [--marketplace <name>]
Create a Marketplace Hub (HUBS ONLY — no plugin code inside):
uv run "${CLAUDE_PLUGIN_ROOT}/scripts/generate_marketplace_repo.py" <target-dir> \
--name <marketplace-name> --owner-name "<display-name>" \
--description "<description>" --github-owner <github-username>
After generation:
plugin) — see references/launcher-invocation.md. Direct invocation refused.
The one-liner · Why the launcher is mandatory · Direct invocation (development only)
cd <target-dir> && git init && git add -A && git commit -m "Initial scaffold"gh repo create <owner>/<name> --public --source . --pushgit config core.hooksPath git-hooksCopy this checklist and track your progress:
uv run "${CLAUDE_PLUGIN_ROOT}/scripts/standardize_plugin.py" <path> [--fix]
uv run "${CLAUDE_PLUGIN_ROOT}/scripts/standardize_marketplace.py" <path> [--fix]
| Error | Resolution |
|---|---|
| Target directory exists | Choose a different name or remove the existing directory |
| Missing required arguments | Provide all mandatory flags (--name, --github-owner) |
| Validation fails after generation | Run standardize --fix, then fix remaining issues manually |
ModuleNotFoundError: yaml | Use uv run --with pyyaml python when outside CPV venv |
Create plugin · Create marketplace
Pre-Push Hook: The Quality Gate · Fix-All Mandate · Running CPV Scripts · Processing Validation Output · GitHub Secrets · CI Workflow Dependencies · Marketplace Notification · All Scripts Are Python · Binary Plugins · README Requirements · Pre-Publish Local Dry-Run · Post-Push CI Verification · Mega-Linter Configuration
Monitor tool · userConfig (plugin.json) · channels (plugin.json) · CLAUDE_PLUGIN_OPTION_ env vars · Inline marketplace (settings.json) · managed-settings.d/ drop-in directory · Plugin skill
namefield (v2.1.98)
Overview · Layout A — Hub-and-Spoke (separate repos) · Layout B — Nested single-repo (monorepo) · Layout C — Marketplace-in-plugin (self-referential single repo) · How Claude Code updates plugins in each layout · When to choose which · Rich metadata fields (author, homepage, license, category) · Why CPV does not use git-subdir · Encountering a non-CPV marketplace · Refactoring between layouts · Agent behavior summary
Why this exists · When NOT to use · Testing approach
uvx --from git+... remote-mode in their ci.yml / release.yml / publish.py (no template re-scaffold needed when CPV ships a new parallelism win)
Table of contents · Performance summary · Environment knobs (disable selectively for debugging) · Scaffolded plugins (created via
cpv-create-plugin/cpv-setup-plugin-repo) · Batch commands (cpv-batch-*) · Remote validation (cpvremote-mode + scaffoldedpublish.py) · When to disable parallelism · See also
Place bundled MCP executables in servers/, reference as ${CLAUDE_PLUGIN_ROOT}/servers/<name>. Unique names per server. See skills/cpv-fix-validation/references/empirical-loading-bugs.md for footguns.
Use mcp__plugin_llm-externalizer_llm-externalizer__* for bounded work.
See examples.md.
Create plugin · Create marketplace
generate_plugin_repo.py --strip-dev (default) emits a cpv.strip block. See dev-stripping.md.
Why this exists · When NOT to use · Testing approach