Agent SkillsDotHarness/dotcraft › plugin-creator

plugin-creator

GitHub

用于创建和初始化 DotCraft 本地插件目录。支持生成 plugin.json、内置技能、MCP 服务器配置及生命周期钩子等,适用于开发插件或构建技能/MCP/钩子插件包。

src/DotCraft.Core/Skills/BuiltIn/plugin-creator/SKILL.md DotHarness/dotcraft

Trigger Scenarios

用户想要创建新的 DotCraft 插件 需要脚手架化插件目录结构 生成包含 MCP 或 Hook 的插件模板

Install

npx skills add DotHarness/dotcraft --skill plugin-creator -g -y
More Options

Non-standard path

npx skills add https://github.com/DotHarness/dotcraft/tree/main/src/DotCraft.Core/Skills/BuiltIn/plugin-creator -g -y

Use without installing

npx skills use DotHarness/dotcraft@plugin-creator

指定 Agent (Claude Code)

npx skills add DotHarness/dotcraft --skill plugin-creator -a claude-code -g -y

安装 repo 全部 skill

npx skills add DotHarness/dotcraft --all -g -y

预览 repo 内 skill

npx skills add DotHarness/dotcraft --list

SKILL.md

Frontmatter
{
    "name": "plugin-creator",
    "description": "Create and scaffold DotCraft local plugin directories with `.craft-plugin\/plugin.json`, plugin-contained skills, optional plugin-bundled MCP server config, optional lifecycle hooks, and optional assets. Use when developing DotCraft plugins or creating a skill\/MCP\/hooks plugin bundle for `.craft\/plugins` or `~\/.craft\/plugins`."
}

Plugin Creator

Use this skill when the user wants to create, scaffold, or maintain a DotCraft plugin directory.

Quick Start

Default to a workspace-local plugin under <workspace>/.craft/plugins/<plugin-id>:

python .craft/skills/plugin-creator/scripts/create_basic_plugin.py "My Plugin"

If reading the skill from the source tree instead of a deployed workspace skill, use the source-tree script path from the repo root:

python src/DotCraft.Core/Skills/BuiltIn/plugin-creator/scripts/create_basic_plugin.py "My Plugin"

Use --path when the user asks for another parent directory, such as a user-global plugin container:

python .craft/skills/plugin-creator/scripts/create_basic_plugin.py "My Plugin" --path "$HOME/.craft/plugins"

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-name defaults to the plugin id.
  • Add --with-mcp to create a plugin-bundled .mcp.json placeholder.
  • Add --with-hooks to create a plugin-bundled hooks/hooks.json placeholder.
  • Add --with-assets to create plugin-level icon/logo placeholders.

Manifest Rules

DotCraft schema version 1 allows a plugin to contribute skills, MCP servers, lifecycle hooks, interface metadata, or a combination of these.

  • Skill-only plugins are valid when skills points to a plugin-contained skills directory.
  • MCP-only plugins are valid when mcpServers points to a plugin-bundled MCP config or a root .mcp.json exists.
  • Hooks-only plugins are valid when hooks points to plugin hook files or a root hooks/hooks.json exists.
  • Interface-only plugins are valid for catalog or UI metadata.
  • Manifest fields tools, functions, and processes are unsupported legacy native tool fields and must not be generated for new plugins.
  • Reusable executable capabilities should 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:

python .craft/skills/plugin-creator/scripts/create_basic_plugin.py review-tools --with-mcp

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:

python .craft/skills/plugin-creator/scripts/create_basic_plugin.py audit-hooks --without-skill --with-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:

  1. Inspect .craft-plugin/plugin.json and replace TODO placeholders.
  2. Confirm every manifest-relative path starts with ./.
  3. If the plugin has skills, confirm each child skill has SKILL.md.
  4. If the plugin has MCP servers, confirm .mcp.json uses the same schema as workspace McpServers.
  5. If the plugin has hooks, confirm hooks/hooks.json uses the same shape as .craft/hooks.json.
  6. Run relevant DotCraft tests when changing the runtime, or start DotCraft and confirm plugin/list, skills/list, and hooks/list show the plugin contributions.

Version History

  • f8e839e Current 2026-07-05 15:31

Same Skill Collection

src/DotCraft.Core/Skills/BuiltIn/create-hooks/SKILL.md
src/DotCraft.Core/Skills/BuiltIn/cron/SKILL.md
src/DotCraft.Core/Skills/BuiltIn/heartbeat/SKILL.md
src/DotCraft.Core/Skills/BuiltIn/memory/SKILL.md
src/DotCraft.Core/Skills/BuiltIn/skill-authoring/SKILL.md
src/DotCraft.Core/Skills/BuiltIn/skill-installer/SKILL.md

Metadata

Files
0
Version
f8e839e
Hash
72ed2e60
Indexed
2026-07-05 15:31

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-09 22:28
浙ICP备14020137号-1 $Гость$