Creating A Plugin
Scaffold a Claude Code plugin: directory layout, plugin.json, and all component formats
Test report
- Verdict
- Tested · Works
- Score
- Tested
- Jul 31, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · f498237
Fetched SKILL.md via raw GitHub; frontmatter parses (name + description, user-invocable:false), no hardcoded paths or security smells. Verified the one referenced dependency, sibling sub-skill "writing-skills", returns HTTP 200 in the same repo. Trigger phrasings tested — SHOULD: "package my slash commands into a Claude Code plugin, how do I structure it?", "set up a plugin.json manifest and directory layout for a new plugin", "bundle my agents and hooks to share across projects as a plugin" (all load); should NOT: "write a slash command that reviews PRs" (single command, no plugin), "install the Playwright MCP server in my project" (both correctly skip) — 5/5. Output test: scaffolded a "commit-helper" plugin twice; baseline put plugin.json at the plugin root and gave the command no frontmatter, while the skill-following version placed it at .claude-plugin/plugin.json with full command frontmatter — the baseline would not be recognized as a plugin, exactly the failure the skill's #1 Common Mistake warns about.
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 5/5
- Triggers reliably 5/5
- Output vs. baseline 8/10
- Docs & honesty 5/5
What Creating A Plugin does
A reference skill for creating Claude Code plugins: it lays out the required directory structure, the .claude-plugin/plugin.json manifest format, and the file conventions for commands, agents, skills, hooks, and MCP server configs. Triggers when you are building a new plugin or setting up plugin structure to distribute reusable components. Includes a dev-marketplace setup and a local install/reload testing loop.
How to install Creating A Plugin
git clone --depth 1 https://github.com/ed3dai/ed3d-plugins.git /tmp/creating-a-plugin-src
mkdir -p ~/.claude/skills
cp -R /tmp/creating-a-plugin-src/plugins/ed3d-extending-claude/skills/creating-a-plugin ~/.claude/skills/creating-a-plugin
# References a sibling sub-skill "writing-skills" (same repo, same skills/ dir) for the skill-authoring section.
# To also get it: cp -R /tmp/creating-a-plugin-src/plugins/ed3d-extending-claude/skills/writing-skills ~/.claude/skills/writing-skills
# Plugin-marketplace alternative: /plugin marketplace add ed3dai/ed3d-plugins then /plugin install ed3d-extending-claude
# No external deps, scripts, or API keys — SKILL.md is a self-contained doc.
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Creating A Plugin
-
/creating-a-pluginScaffold a Claude Code plugin: directory layout, plugin.json, and all component formats
It also activates on plain-language prompts like these:
-
Set up a new Claude Code plugin structure -
Create a manifest for this plugin with commands -
Scaffold a plugin with agents, skills, and hooks
Frequently asked questions
- Is the Creating A Plugin skill free?
- Yes. The skill itself is free from ed3dai/ed3d-plugins. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Creating A Plugin work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 31, 2026. Verdict: Tested · Works. Fetched SKILL.md via raw GitHub; frontmatter parses (name + description, user-invocable:false), no hardcoded paths or security smells. Verified the one referenced dependency, sibling sub-skill "writing-skills", returns HTTP 200 in the same repo. Trigger phrasings tested — SHOULD: "package my slash commands into a Claude Code plugin, how do I structure it?", "set up a plugin.json manifest and directory layout for a new plugin", "bundle my agents and hooks to share across projects as a plugin" (all load); should NOT: "write a slash command that reviews PRs" (single command, no plugin), "install the Playwright MCP server in my project" (both correctly skip) — 5/5. Output test: scaffolded a "commit-helper" plugin twice; baseline put plugin.json at the plugin root and gave the command no frontmatter, while the skill-following version placed it at .claude-plugin/plugin.json with full command frontmatter — the baseline would not be recognized as a plugin, exactly the failure the skill's #1 Common Mistake warns about.
- What is the Creating A Plugin SkillProof Score?
- 9.2/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 8/10, docs & honesty 5/5.
- How do I install Creating A Plugin?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Creating A Plugin with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.