技能 编程开发 创建插件目录结构

创建插件目录结构

v20261105
create-plugin
此技能从零开始搭建新的 Claude Code 插件,生成正确的目录结构、plugin.json、技能、命令和代理。它配置 MCP 工具并创建必要的文档,如 README 和 ADR。它确保插件的兼容性、命名空间协调和验证脚本,使其在生态系统中正常运行。
获取技能
229 次下载
概览

Create Plugin

Scaffold a new Claude Code plugin from scratch.

When to use

When you want to create a new plugin that extends Claude Code with skills, commands, and agents. This generates the correct directory structure and wires up MCP tools.

Steps

  1. Get plugin name and description from the user
  2. Check for conflicts — call mcp__plugin_ruflo-core_ruflo__transfer_plugin-search to ensure the name isn't taken
  3. Create directory structure (follows the canonical plugin contract from sibling plugins' ADR-0001s):

```
plugins//
├── .claude-plugin/
│ └── plugin.json
├── skills/
│ └── /
│ └── SKILL.md
├── commands/
│ └── .md
├── agents/
│ └── .md
├── docs/
│ └── adrs/
│ └── 0001--contract.md # Plugin-level ADR (Proposed)
├── scripts/
│ └── smoke.sh # Structural contract (≥8 checks)
└── README.md # Compatibility + Namespace coordination + Verification + ADR sections
```

  1. Generate plugin.json with name, description, version, repository (the repo URL the plugin ships from), author (do NOT include skills, commands, or agents arrays — Claude Code auto-discovers these from directory structure)
  2. Generate SKILL.md files with proper frontmatter:

```yaml


name: skill-name
description: What this skill does
allowed-tools: mcp__pluginruflo-coreruflotool1 mcppluginruflo-coreruflo__tool2 Bash


```

  1. Generate command files with name and description frontmatter
  2. Generate agent files with name, description, and model: sonnet
  3. Generate README.md with install instructions, features, commands, skills, AND the canonical plugin-contract sections:
  • Compatibility — pin to @claude-flow/cli v3.6 major+minor
  • Namespace coordination — claim a kebab-case <plugin-stem>-<intent> namespace; defer to ruflo-agentdb ADR-0001 §"Namespace convention"
  • Verification — bash plugins/<name>/scripts/smoke.sh
  • Architecture Decisions — link to ADR-0001
  1. Generate ADR-0001 (Proposed) at docs/adrs/0001-<name>-contract.md documenting: pinning, namespace coordination, MCP-tool surface count if applicable, smoke contract scope. Status: Proposed.
  2. Generate scripts/smoke.sh — at minimum 8 structural checks: version + keywords; skills/agents/commands present with valid frontmatter; v3.6 pin in README; namespace coordination block in README; ADR exists with status Proposed; no wildcard tools in skills.
  3. Update marketplace.json if adding to the ruflo marketplace.

MCP-tool drift to avoid (per sibling-ADR lessons learned)

Several plugins shipped with subtle MCP bugs the loop has been finding. Don't replicate them:

  • embeddings_embed does not exist. Real tool is embeddings_generate. Don't reference embeddings_embed in any allowed-tools line.
  • agentdb_hierarchical-* does NOT route by namespace. It routes by tier (working|episodic|semantic). Pass tier, not namespace. For namespaced reads/writes, use memory_* instead.
  • agentdb_pattern-* does NOT route by namespace. It routes through ReasoningBank. Don't pass a namespace arg — fallback writes to the reserved pattern namespace via memory-store-fallback.
  • pattern (singular) and patterns (plural) are different namespaces. ReasoningBank fallback writes to pattern; hooks_pretrain writes to patterns. Don't conflate them.

Plugin.json schema

Required fields (the repo gate scripts/audit-plugin-manifest.mjs fails without them):

  • name — plugin identifier (kebab-case, must equal the directory name)
  • description — what the plugin does
  • version — semver (X.Y.Z, optional pre-release suffix); bump it on every change, because marketplace users only receive a plugin when its version changes
  • keywords — non-empty array of strings
  • repository — the repo URL the plugin ships from (https://github.com/ruvnet/ruflo for plugins in this repo), as a string or an object's url

Recommended fields:

  • author — { "name": "...", "url": "..." }
  • homepage, license

Optional fields:

  • graph_adapter — ADR-130 graph intelligence contract (commented out by default in generated output):

```json
// "graph_adapter": {
// "edgeRelations": ["my-relation-type"],
// "nodeTypes": ["entity"],
// "autoRegister": true
// }
```
When autoRegister: true, the plugin's edges are automatically included in graph_edges writes
by the core graph layer. Declare edgeRelations — the relation types this plugin produces.

Do NOT include skills, commands, or agents arrays in plugin.json — these are auto-discovered from the directory structure by Claude Code and will cause validation errors if present.

Available MCP tools to wire

Browse available tools: mcp__plugin_ruflo-core_ruflo__transfer_plugin-info

Common tool categories:

  • memory_* — storage, search, retrieval
  • agentdb_* — 20 controller-bridge tools (the count grows) (do NOT pass namespace arg — they route by tier or ReasoningBank); call agentdb_controllers at runtime for the canonical list
  • neural_* — neural training and prediction
  • hooks_* — lifecycle hooks and intelligence
  • browser_* — browser automation
  • workflow_* — workflow management
  • aidefence_* — safety scanning
  • embeddings_* — 10 vector-embedding tools (use embeddings_generate, NOT embeddings_embed which does not exist)
信息
分类 编程开发
名称 create-plugin
版本 v20261105
大小 5.96KB
更新时间 2026-11-06
语言