- plugin-create/SKILL.md: fix ${CLAUDE_PLUGIN_ROOT} path (create-plugin → plugin-create, 4 occurrences)
- plugin-create/SKILL.md: delegate reserved name validation to new references/reserved-names.md (complete list)
- plugin-create/SKILL.md: add displayName reminder in step 4, full-validation pointer in step 7
- plugin-create/references/reserved-names.md: complete reserved name list extracted from claude-code.md
- plugin-create/references/manifest-fields.md: quick-ref for both plugin.json manifests and marketplace entry
- plugin-create/META.md: update stale when: and references: fields to reflect post-migration paths
- plugin-create/assets/plugin-template/hooks.json: unify empty hooks schema to {} (was [])
- write-skill/SKILL.md: fix YAML frontmatter parse error — wrap description in >- block scalar
- validate.sh: strip backtick spans before ../ check to eliminate documentation false positives
- inventory.sh: same backtick-span fix, applied to both outer check and per-line reporting
- tests/test_scripts.sh: fix SCRIPTS_DIR path to skills/marketplace-architect/scripts/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
49 lines
1.2 KiB
Markdown
49 lines
1.2 KiB
Markdown
# Reserved Plugin and Marketplace Names
|
|
|
|
These names are blocked for third-party use by the Claude Code marketplace. Reject any
|
|
plugin or marketplace name that matches an exact entry or a wildcard pattern below.
|
|
|
|
## Exact reserved names
|
|
|
|
```
|
|
claude-code-marketplace
|
|
claude-code-plugins
|
|
claude-plugins-official
|
|
claude-plugins-community
|
|
claude-community
|
|
anthropic-marketplace
|
|
anthropic-plugins
|
|
agent-skills
|
|
anthropic-agent-skills
|
|
knowledge-work-plugins
|
|
life-sciences
|
|
claude-for-legal
|
|
claude-for-financial-services
|
|
financial-services-plugins
|
|
```
|
|
|
|
## Reserved name patterns (prefix match)
|
|
|
|
Any name starting with these strings is reserved:
|
|
|
|
```
|
|
anthropic-
|
|
claude-
|
|
official-claude
|
|
anthropic-tools
|
|
```
|
|
|
|
## Kebab-case requirement
|
|
|
|
Plugin names must match `^[a-z0-9]+(-[a-z0-9]+)*$` — lowercase letters, digits, and
|
|
hyphens only. No underscores, spaces, or uppercase. The Claude.ai marketplace sync rejects
|
|
non-kebab-case names even if the local CLI tolerates them.
|
|
|
|
## How to check
|
|
|
|
1. Exact match: is the name in the exact reserved list above?
|
|
2. Pattern match: does the name start with any reserved prefix?
|
|
3. Format: does the name match the kebab-case regex?
|
|
|
|
If any check fails, halt and ask the user for a different name before continuing.
|