From everville-meta
Create and manage Claude Code plugins in the everville-workflow marketplace. Use when scaffolding a new plugin, adding components (commands, skills, agents, hooks) to an existing plugin, bumping plugin versions, or auditing plugin.json / marketplace.json manifests before release.
How this skill is triggered — by the user, by Claude, or both
Slash command
/everville-meta:everville-plugin-forgeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!--
Build and maintain plugins inside the Everville-Estate/everville-workflow marketplace. Covers the manifest schemas, the directory layout, and the workflows for adding, updating, testing, and releasing plugins.
plugins/<name>/version in both plugin.json and marketplace.json before releaseclaude plugin validateLICENSES/<source>-MIT.txt)everville-workflow/
├── .claude-plugin/
│ └── marketplace.json # registers every plugin
├── LICENSES/ # third-party attributions
│ └── softaworks-MIT.txt
└── plugins/
└── <plugin-name>/
├── .claude-plugin/plugin.json
├── CLAUDE.md # plugin-level rules (loaded on enable)
├── skills/<name>/SKILL.md
├── skills/<name>/references/
├── agents/<name>.md
├── commands/<name>.md
└── hooks/hooks.json
NAME=my-plugin
mkdir -p plugins/$NAME/.claude-plugin plugins/$NAME/skills plugins/$NAME/commands plugins/$NAME/agents
cat > plugins/$NAME/.claude-plugin/plugin.json <<JSON
{
"name": "$NAME",
"version": "0.1.0",
"description": "...",
"author": {
"name": "Everville Estate PTE LTD",
"email": "[email protected]",
"url": "https://github.com/Everville-Estate"
},
"homepage": "https://github.com/Everville-Estate/everville-workflow",
"repository": "https://github.com/Everville-Estate/everville-workflow",
"license": "MIT",
"keywords": ["everville"]
}
JSON
Then register it in .claude-plugin/marketplace.json:
{
"name": "my-plugin",
"source": "./plugins/my-plugin",
"description": "...",
"version": "0.1.0",
"author": { "name": "Everville Estate PTE LTD" }
}
claude plugin validate plugins/<name> # plugin manifest
claude plugin validate . # marketplace manifest
Both must pass before commit. Warnings on SKILL.md frontmatter usually mean the YAML block isn't the very first thing in the file — never put HTML comments or blank lines above ---.
Version lives in two places and both must match:
plugins/<name>/.claude-plugin/plugin.json → version.claude-plugin/marketplace.json → the matching plugins[] entry's versionSemver:
Claude Code caches by version. After pushing a new version:
claude plugin marketplace update everville-workflow
claude plugin update <plugin-name>@everville-workflow
Verify the cache has the new version:
ls ~/.claude/plugins/cache/everville-workflow/<plugin-name>/
When adapting an MIT-licensed skill from another marketplace:
plugins/<plugin>/skills/<renamed>/SKILL.mdname)LICENSE to LICENSES/<source>-MIT.txt (once per source, shared across all adopted items)claude plugin validate plugins/<plugin> — frontmatter must still be parsed correctly| Component | Location | Format |
|---|---|---|
| Commands | commands/<name>.md | YAML frontmatter (description, argument-hint) + markdown body |
| Skills | skills/<name>/SKILL.md | YAML frontmatter (name, description) + markdown body; optional references/ directory |
| Agents | agents/<name>.md | YAML frontmatter (name, description, tools, model) + markdown body |
| Hooks | hooks/hooks.json | Object keyed by event name (session_start, before_tool_use, etc.) |
| MCP Servers | .mcp.json at plugin root | Standard MCP server config |
Commands can namespace via subdirectory:
commands/foo.md → /foocommands/build/sync.md → /build:syncUse the Everville commit format (see root CLAUDE.md):
<conventional commit message>
Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)
Co-Authored-By: Claude <[email protected]>
Co-Authored-By: Happy <[email protected]>
| Reference | Content |
|---|---|
references/plugin-structure.md | Directory layout, manifest schema, component formats |
references/marketplace-schema.md | Marketplace format, plugin entries, distribution |
references/workflows.md | Step-by-step patterns for adding, updating, testing, publishing |
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub everville-estate/everville-workflow --plugin everville-meta