- 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>
73 lines
2.1 KiB
Markdown
73 lines
2.1 KiB
Markdown
# Manifest Field Reference
|
|
|
|
Quick reference for the two plugin manifests generated by this skill.
|
|
Source of truth: `${CLAUDE_PLUGIN_ROOT}/skills/marketplace-architect/references/claude-code.md`
|
|
and `copilot-cli.md` in the same directory.
|
|
|
|
---
|
|
|
|
## Claude Code — `.claude-plugin/plugin.json`
|
|
|
|
Only `name` is required. Add other fields only when needed.
|
|
|
|
```json
|
|
{
|
|
"name": "my-plugin",
|
|
"displayName": "My Plugin",
|
|
"description": "What it does",
|
|
"author": { "name": "Name", "url": "https://..." },
|
|
"license": "MIT",
|
|
"keywords": []
|
|
}
|
|
```
|
|
|
|
- `displayName` — human-readable label shown in the Claude Code UI. Update it to a
|
|
title-cased string after placeholder substitution — it defaults to the kebab slug.
|
|
- `version` — omit to use git SHA per commit (recommended). Set only for explicit release gates.
|
|
- Component paths (`skills/`, `agents/`, etc.) are declared in the marketplace entry, not here.
|
|
|
|
---
|
|
|
|
## Copilot CLI — `plugin.json` at plugin root
|
|
|
|
```json
|
|
{
|
|
"name": "my-plugin",
|
|
"description": "What it does",
|
|
"author": { "name": "Name", "email": "you@example.com" },
|
|
"license": "MIT",
|
|
"keywords": [],
|
|
"agents": "agents/",
|
|
"skills": ["skills/"],
|
|
"hooks": "hooks.json",
|
|
"mcpServers": ".mcp.json"
|
|
}
|
|
```
|
|
|
|
- `author.email` (not `url`) — Copilot uses email; Claude uses url. Both manifests diverge here.
|
|
- Component paths are declared inline in this manifest (Copilot requires them; Claude ignores them).
|
|
|
|
---
|
|
|
|
## Marketplace entry (in `.claude-plugin/marketplace.json`)
|
|
|
|
```json
|
|
{
|
|
"name": "my-plugin",
|
|
"source": "./plugins/my-plugin",
|
|
"description": "..."
|
|
}
|
|
```
|
|
|
|
- `source` must start with `./` for Claude Code compatibility.
|
|
- Do not set `version` here if it is also set in `plugin.json` — `plugin.json` wins silently.
|
|
|
|
---
|
|
|
|
## Environment variables (for hooks and MCP configs)
|
|
|
|
- `${CLAUDE_PLUGIN_ROOT}` — absolute path to the plugin's installation cache. Use for all
|
|
in-plugin file references in hooks and `.mcp.json`. Changes on update.
|
|
- `${CLAUDE_PLUGIN_DATA}` — persistent directory that survives updates. Use for state,
|
|
caches, and `node_modules`.
|