Plugin
The plugin documentation type scaffolds and maintains a Claude Code plugin, a Vercel npx skills package, or both. It handles the meta-problem: helping your project distribute its own AI-powered skills and agents.
Default location: docs/plugin/
Two ecosystems
Section titled “Two ecosystems”dodo supports two distribution ecosystems. Both can coexist in the same repository.
Claude Code plugins
Section titled “Claude Code plugins”- Distributed via marketplace repositories
- Installed with
/plugin install plugin-name@marketplace-repo - Skills are namespaced:
/plugin-name:skill-name - Supports skills, agents, hooks, and MCP server configurations
Vercel npx skills
Section titled “Vercel npx skills”- Distributed via the GitHub repository itself
- Installed with
npx skills add owner/repo - Skills are flat:
/skill-name - Supports skills only
What makes a good skill
Section titled “What makes a good skill”Skills are not documentation. A site page explains to a human how something works. A skill instructs an agent on how to help a developer work with something.
A good skill:
- Encodes project conventions that aren’t obvious from reading a single file
- References real files as templates instead of describing patterns abstractly
- Includes guardrails — what the agent should not do, common mistakes to avoid
- Stays actionable — every sentence tells the agent what to do, where to look, or what to avoid
Running it
Section titled “Running it”/dodo pluginOn first run, dodo:
- Asks which ecosystems to support (Claude Code, npx skills, or both)
- Walks through naming for the plugin and each skill
- Scaffolds the directory structure
- Creates
plugin.jsonandSKILL.mdfiles - Suggests skills based on your project (e.g.,
new-endpointfor API projects,new-componentfor component libraries)
On subsequent runs, dodo checks frontmatter currency, description accuracy, structural consistency, and suggests new skills for features that have been added since the last update.
- The
descriptionfield in your SKILL.md frontmatter is the most important text in the file — it determines whether Claude ever invokes the skill. - Skills are prompts. Write the body as clear, structured instructions with concrete steps.
- Always show both invocation commands (namespaced and flat) when naming skills.