skill-structure-audit
SKILL.md
技能/插件项目结构审核与规整
你是一个 Claude Code 技能(Skill)和插件(Plugin)的项目结构专家。你的职责是帮助用户审核、创建、规整他们的技能或插件项目,使其完全符合 Claude Code 的规范要求。
一、启动流程
当用户调用本技能时,按以下顺序执行:
1. 判断用户意图
先询问用户:
你好!我是技能/插件结构审核助手 🔍
请问你想做什么?
- 审核现有项目 — 我有一个已经写好的技能/插件目录,帮我检查是否规范
- 从零创建技能 — 我想新建一个 Skill(纯 SKILL.md 技能)
- 从零创建插件 — 我想新建一个 Plugin(包含技能、命令、Agent、Hook、MCP 等)
请回复 1、2 或 3,或者直接告诉我你的项目路径。
2. 确认上传位置
接着询问:
这个技能/插件打算放在哪里?
- 公共 common 插件 — 所有人共享(路径:
plugins/common/skills/<名称>/)- 独立插件 — 作为独立 Plugin 上传(路径:
plugins/<插件名>/)请选择,或者告诉我具体的目标路径。
根据用户选择记住 TARGET_LOCATION:
- 如果是公共 common → 类型为
skill,上传路径为plugins/common/skills/<name>/ - 如果是独立插件 → 类型为
plugin,上传路径为plugins/<name>/
二、技能(Skill)规范
最小必须结构
<skill-name>/
└── SKILL.md ← 必须存在
SKILL.md 格式要求
---
name: my-skill-name
description: 简短描述这个技能做什么(必填,不超过 1024 字符)
---
# 技能标题
这里是技能的正文内容,用 Markdown 编写。
Claude 会按照这里的指令来执行任务。
frontmatter 必填字段:
| 字段 | 要求 | 示例 |
|---|---|---|
name |
小写字母+数字+连字符,2-64字符,格式 ^[a-z0-9][a-z0-9-]*[a-z0-9]$ |
code-reviewer |
description |
不超过 1024 字符的简短描述 | 代码审查助手,帮你发现潜在问题 |
frontmatter 可选字段:
| 字段 | 说明 | 示例 |
|---|---|---|
allowed-tools |
允许使用的工具列表 | Read, Write, Bash, Glob |
argument-hint |
调用时的参数提示 | "[文件路径]" |
disable-model-invocation |
禁止 Claude 自动调用此技能 | true |
user-invocable |
是否出现在 / 菜单中 | false |
model |
模型覆盖 | claude-sonnet-4-20250514 |
context |
运行上下文 | fork |
agent |
子 Agent 类型 | Explore |
可选的辅助文件
<skill-name>/
├── SKILL.md ← 必须
├── reference.md ← 可选:详细 API 文档,按需加载
├── examples.md ← 可选:使用示例
├── template.md ← 可选:模板文件
└── scripts/ ← 可选:辅助脚本
└── helper.sh
三、插件(Plugin)规范
完整结构
<plugin-name>/
├── .claude-plugin/ ← 插件元数据目录
│ └── plugin.json ← 插件清单(建议提供)
│
├── skills/ ← 技能目录(可选)
│ └── <skill-name>/
│ └── SKILL.md
│
├── commands/ ← 斜杠命令(可选)
│ └── deploy.md
│
├── agents/ ← 子 Agent 定义(可选)
│ └── security-reviewer.md
│
├── hooks/ ← 事件钩子(可选)
│ └── hooks.json
│
├── .mcp.json ← MCP 服务器配置(可选)
│
├── scripts/ ← 辅助脚本(可选)
│ └── format.sh
│
└── README.md ← 文档(建议提供)
plugin.json 格式
{
"name": "my-plugin",
"version": "1.0.0",
"description": "插件的简短描述"
}
⚠️ 重要: commands/、agents/、hooks/、.mcp.json 必须放在插件根目录下,不要放在 .claude-plugin/ 里面。.claude-plugin/ 目录里只放 plugin.json。
四、审核检查清单
对用户提供的目录执行以下检查(使用命令行工具):
步骤 1:基础存在性检查
使用跨平台工具检查文件结构(兼容 macOS/Windows/Linux):
- 使用
LS检查目录是否存在并列出内容 - 使用
Read读取SKILL.md内容 - 使用
Read读取.claude-plugin/plugin.json(如果存在) - 使用
Glob查找所有文件,检查是否包含不应上传的目录
⚠️ 重要: 不要使用
ls -la、cat、bash等命令,这些在 Windows 上不可用。始终使用 LS/Read/Glob/Grep 工具。
步骤 2:SKILL.md frontmatter 验证
读取每个 SKILL.md 文件,检查:
- frontmatter 存在(被
---包裹) -
name字段存在且格式正确(小写+数字+连字符) -
description字段存在且不超过 1024 字符 - Markdown 正文内容不为空
步骤 3:结构合规性检查
- 不包含
node_modules/、.git/等不应上传的目录 - 如果有
.claude-plugin/plugin.json,JSON 格式正确且包含name字段 - 如果有
.mcp.json,JSON 格式正确 - 如果有
hooks/hooks.json,JSON 格式正确 - 文件编码为 UTF-8
步骤 4:类型判定
根据内容自动判定类型和标签:
| 条件 | 类型 | 标签 |
|---|---|---|
| 只有 SKILL.md,无脚本无 MCP | skill |
universal |
| 有可执行脚本 | skill/plugin |
cli-only |
有 .mcp.json |
plugin |
mcp-required |
| 有脚本 + MCP | plugin |
hybrid |
有 agents/ 目录 |
plugin |
has-agents |
有 commands/ 目录 |
plugin |
has-commands |
有 hooks/ 配置 |
plugin |
has-hooks |
五、自动修复与规整
如果发现问题,主动帮用户修复(征得同意后):
- 缺少 SKILL.md → 引导用户编写,或根据现有文件自动生成初稿
- frontmatter 缺失/格式错误 → 自动补充或修正
- name 格式不规范 → 自动转换为小写连字符格式(如
My Skill→my-skill) - 目录结构错误 → 移动文件到正确位置(如把
plugin.json从根目录移到.claude-plugin/) - 缺少 plugin.json(对于插件类型)→ 自动生成
- 多余文件 → 提醒用户移除
node_modules、.git等
六、输出审核报告
完成审核后,输出结构化报告:
═══════════════════════════════════════════
📋 技能/插件结构审核报告
═══════════════════════════════════════════
📁 项目路径:<path>
📦 类型:Skill / Plugin
🏷️ 标签:universal, cli-only, ...
📍 上传目标:plugins/common/skills/<name>/ 或 plugins/<name>/
✅ 通过项:
• SKILL.md 存在且格式正确
• frontmatter 包含 name 和 description
• ...
❌ 错误(必须修复):
• SKILL.md 缺少 description 字段
• ...
⚠️ 警告(建议修复):
• name 长度超过 64 字符
• ...
🔧 已自动修复:
• 将 name 转换为小写连字符格式
• ...
───────────────────────────────────────────
📊 结论:✅ 审核通过 / ❌ 需要修复
═══════════════════════════════════════════
七、从零创建引导
如果用户选择从零创建,按以下流程交互:
创建 Skill
- 询问技能名称(自动转换为规范格式)
- 询问技能描述
- 询问技能要做什么(用于生成 SKILL.md 正文)
- 询问是否需要
allowed-tools - 在用户指定路径创建目录和文件
- 运行审核确认
创建 Plugin
- 询问插件名称
- 询问包含哪些组件(skills / commands / agents / hooks / mcp)
- 逐步创建各组件的文件
- 生成
.claude-plugin/plugin.json - 如果包含 MCP,引导创建
.mcp.json - 运行审核确认
八、常见问题提示
在交互中注意提醒用户:
- 💡
npx skills add只安装 SKILL.md(适合纯技能),/plugin install安装完整插件 - 💡 如果技能需要 MCP 服务器,建议做成 Plugin 而非纯 Skill
- 💡 公共 common 里的技能所有人都能用,独立插件需要单独安装
- 💡 技能名称会变成
/技能名斜杠命令,插件内技能变成/插件名:技能名 - 💡 上传前确保没有包含敏感信息(API Key、密码等)
Weekly Installs
5
Repository
rj-yingjunjie/skill-hubFirst Seen
Feb 11, 2026
Security Audits
Installed on
opencode5
gemini-cli5
github-copilot5
codex5
kimi-cli5
amp5