From plugin-scaffold
Use when creating or structuring a Claude Code plugin for this marketplace — the on-disk layout, the plugin.json manifest fields, the frontmatter for skills/commands/agents, and the authoring rules (no absolute paths, least-privilege tools, one coherent capability).
How this skill is triggered — by the user, by Claude, or both
Slash command
/plugin-scaffold:plugin-authoringThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A plugin is **one coherent capability** authored once in Claude Code's format. Everything else
A plugin is one coherent capability authored once in Claude Code's format. Everything else (Cursor, Codex, OpenCode, Gemini, Copilot) is generated from it by the adapters, so author for the canonical format and let translation handle the rest.
my-plugin/
├── .claude-plugin/plugin.json # required manifest
├── README.md # required: what / why / how-to-use
├── skills/<name>/SKILL.md # optional: model-invoked knowledge
├── commands/<name>.md # optional: user-invoked slash commands
├── agents/<name>.md # optional: subagents
├── hooks/hooks.json # optional (Claude Code only — note it in the README)
└── .mcp.json # optional: MCP servers
Directories are auto-discovered; presence on disk is registration.
plugin.jsonRequired: name (kebab-case, unique), description (one sentence), version (SemVer),
author.name, license (SPDX). Recommended: keywords (drives search). Category is not a
manifest field — it lives catalog-side in marketplace.json.
name + description. The description is the trigger: write "Use when …".description, optional argument-hint, and least-privilege allowed-tools.name + description (when to delegate), optional tools and model.CLAUDE_PLUGIN_ROOT variable instead of hard-coding a path. (Claude Code interpolates that
variable wherever it literally appears in a loaded skill or command — so name it in prose,
as here, rather than writing the ${…} token, or your text renders as an absolute path.)allowed-tools / tools narrowly — it feeds both security review
and adapter fidelity.writing-effective-skills skill).Prefer skills and commands — they translate cleanly everywhere. SKILL.md is now a
cross-harness open standard, so skills are the highest-leverage, most portable component.
Treat hooks as Claude-Code-only enhancements, never load-bearing behavior.
npx claudepluginhub meaganewaller/rosetta --plugin plugin-scaffoldProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.