dotharness/dotcraft/plugin-creator
Claude Code and agent skill by dotharness/dotcraft
- community
- ext:[{"type":"hook","description":"Pre/post lifecycle hooks"}]
Checking that the SKILL.md file is still in the repository.
Create and scaffold DotCraft local plugins, including project-local managed .NET extensions, Desktop extensions, plugin-contained skills, MCP configuration, hooks, and assets. Use when developing or maintaining a DotCraft plugin bundle.
Install
npx vskill@latest install dotharness/dotcraft/plugin-creatorSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Plugin Creator
Use this skill when the user wants to create, scaffold, or maintain a DotCraft plugin directory.
For a managed .NET extension, read references/dotnet-authoring.md and use the .NET authoring mode. For a Desktop extension, read references/desktop-authoring.md and use --with-desktop. When one plugin needs both, read both references and use --dotnet --with-desktop; the creator generates one bundle and one plugin id. For other plugin contributions, use the local bundle workflow below.
Quick Start
Default to a workspace-local plugin under <workspace>/.craft/plugins/<plugin-id>, which comes with this workspace:
If reading the skill from the source tree instead of a deployed workspace skill, use the source-tree script path from the repo root:
Use --path when the user asks for another parent directory, such as ~/.craft/plugins for a plugin available in every workspace:
Defaults
- Normalize plugin ids to lowercase hyphen-case, max 64 characters.
- Create
<parent>/<plugin-id>/.craft-plugin/plugin.json. - Create a skill plugin by default with
skills: "./skills/". - Create
skills/<skill-name>/SKILL.md;--skill-namedefaults to the plugin id. - Add
--with-mcpto create a plugin-bundled.mcp.jsonplaceholder. - Add
--with-hooksto create a plugin-bundledhooks/hooks.jsonplaceholder. - Add
--with-desktopto create a source-based Desktop extension with one main view, including alongside--dotnet. - Add
--with-assetsto create plugin-level icon/logo placeholders.
Manifest Rules
DotCraft schema version 1 allows a plugin to contribute skills, MCP servers, lifecycle hooks, Desktop UI, interface metadata, or a combination of these.
- Skill-only plugins are valid when
skillspoints to a plugin-contained skills directory. - MCP-only plugins are valid when
mcpServerspoints to a plugin-bundled MCP config or a root.mcp.jsonexists. - Hooks-only plugins are valid when
hookspoints to plugin hook files or a roothooks/hooks.jsonexists. - Desktop extensions declare one inline
desktopentry, an optional contribution description, and optional styles inside./desktop/dist/. - Interface-only plugins are valid for catalog or UI metadata.
- Managed plugins declare
dotnetmetadata and contribute in-process behavior, such as native Tools, through the .NET extension contribution points. - Manifest fields
tools,functions, andprocessesare unsupported and must not be generated. - Out-of-process executable capabilities can be exposed through MCP.
- Thread-scoped AppServer client callbacks should use Runtime Dynamic Tools, not plugin manifest fields.
- Manifest-relative paths must start with
./, stay inside the plugin root, and never contain...
For exact examples, read references/plugin-json-spec.md.
MCP Plugin Template
Use this when creating a plugin that bundles MCP configuration:
After generation, replace placeholder descriptions and edit .mcp.json to point at the real MCP server command or HTTPS endpoint.
Hooks Plugin Template
Use this when creating a plugin that bundles lifecycle hooks:
After generation, replace placeholder descriptions, edit hooks/hooks.json, and update helper scripts under hooks/. Plugin hook commands can use ${DOTCRAFT_PLUGIN_ROOT} and ${DOTCRAFT_PLUGIN_DATA}. First run still requires user trust through Desktop Hooks settings or hooks/setState.
Validation
After scaffolding:
- Inspect
.craft-plugin/plugin.jsonand replace TODO placeholders. - Confirm every manifest-relative path starts with
./. - If the plugin has skills, confirm each child skill has
SKILL.md. - If the plugin has MCP servers, confirm
.mcp.jsonuses the same schema as workspaceMcpServers. - If the plugin has hooks, confirm
hooks/hooks.jsonuses the same shape as.craft/hooks.json. - If the plugin has Desktop source, run its
buildscript and confirm the declared files exist underdesktop/dist/. - If the plugin is managed .NET, use
DotNetPlugin.Buildand address its compiler or preflight diagnostics. - Run relevant DotCraft tests when changing the runtime, or start DotCraft and confirm the expected contributions are active.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingsrc/DotCraft.Core/Skills/BuiltIn/plugin-creator/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Extension points
hookPre/post lifecycle hooks
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/dotharness/dotcraft/plugin-creator)