Agent SkillsDotHarness/dotcraft › plugin-creator

plugin-creator

GitHub

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

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

触发场景

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

安装

npx skills add DotHarness/dotcraft --skill plugin-creator -g -y
更多选项

非标准路径

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

不安装直接使用

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.

版本历史

  • f8e839e 当前 2026-07-05 15:31

同 Skill 集合

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

元信息

文件数
0
版本
f8e839e
Hash
72ed2e60
收录时间
2026-07-05 15:31

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-14 13:34
浙ICP备14020137号-1 $访客地图$