Skill Lint
by @cat-xierluo
Skill 格式审查工具,基于 SKILL-DEV-GUIDE.md 规范对技能进行合规性审计。本技能应在用户需要审查 skill 格式合规性、检查文档与代码一致性、识别冗余内容、生成技能审计报告时使用。不要用于:代码审查、功能测试、非 skill 项目。
clawhub install skill-lint📖 About This Skill
name: skill-lint homepage: https://github.com/cat-xierluo/legal-skills author: 杨卫薪律师(微信ywxlaw) version: "1.3.0" description: Skill 格式审查工具,基于 SKILL-DEV-GUIDE.md 规范对技能进行合规性审计。本技能应在用户需要审查 skill 格式合规性、检查文档与代码一致性、识别冗余内容、生成技能审计报告时使用。不要用于:代码审查、功能测试、非 skill 项目。 license: MIT License - 详见 LICENSE.txt
Skill 格式审查工具
对指定的 skill 进行格式合规性审查,生成结构化的审计报告。
审查流程
1. 扫描目标技能
使用 Glob 工具列出技能目录下的所有文件:
/
├── **/*.md
├── **/*.py
├── **/*.yaml
├── **/*.json
└── ...
2. 检查目录结构
验证是否符合标准目录结构:
skill-name/
├── SKILL.md # 必需
├── LICENSE.txt # 可选
├── references/ # 可选
├── scripts/ # 可选
└── assets/ # 可选
检查项:
test/、docs/ 应改为 references/)__pycache__/、.env)3. 检查 Frontmatter
解析 SKILL.md 的 YAML frontmatter:
---
name: skill-name
description: 功能描述。本技能应在...时使用
license: MIT License - 详见 LICENSE.txt
检查项:
name 字段是否存在且格式正确description 字段是否存在description 是否使用第三人称("本技能应在...时使用")description 是否包含触发场景描述description 是否包含负向触发条件("不要用于...")description 长度是否 ≤ 1024 字符license 字段version 字段(应删除)4. 检查 SKILL.md 行数
检查项:
5. 检查目录层级
检查项:
references/ 是否为扁平结构(只允许一级子目录)scripts/ 是否为扁平结构(只允许一级子目录)assets/ 是否为扁平结构(只允许一级子目录)6. 检查文档一致性
扫描所有 .md 文件,提取引用的文件路径:
提取模式:
scripts/xxx.pyassets/xxx.yamlreferences/xxx.md检查项:
7. 检查冗余内容
检查项:
8. 检查配置文件
检查项:
*.example.* 命名9. 检查技能协作规范
检查项:
10. 检查模块化设计
检查项:
11. 检查安全审计
检查项:
rm -rf ~、rm -rf /、rm -rf $HOME)12. 检查输出模式
检查项:
ALWAYS,灵活需求用 use your best judgment)13. 检查工作流模式
检查项:
14. 检查 CHANGELOG 规范
检查项:
CHANGELOG.md 文件(推荐有)CHANGELOG 格式规范:
# ChangelogAll notable changes to this skill will be documented in this file.
[v1.1.0] - 2026-02-24
新增
添加了 XXX 功能 修改
优化了 YYY 逻辑 修复
修复了 ZZZ 问题 [v1.0.0] - 2026-02-01
新增
初始版本发布
15. 检查版本号管理
检查项:
version 字段(应删除)CHANGELOG.md 中管理注意:版本号不应出现在 SKILL.md 的 frontmatter 中,所有版本变更应在 CHANGELOG.md 中记录。
16. 检查可编排性设计
对于可能参与复杂工作流编排的技能,检查以下项:
检查项:
references/workflow.md输入/输出声明格式:
## 输入/输出输入
必需:--input 参数说明
可选:--flag 参数说明 输出
输出文件:output/path.md 说明
副作用:如创建目录、修改文件等
单一职责检查:
幂等性检查:
生成审查报告
报告格式
# [skill-name] 格式审查报告审查时间: YYYY-MM-DD HH:MM
技能路径: /path/to/skill
审查摘要
| 检查项 | 状态 | 问题数 |
|--------|------|--------|
| 目录结构 | ✅/⚠️/❌ | N |
| Frontmatter | ✅/⚠️/❌ | N |
| SKILL.md 行数 | ✅/⚠️ | N |
| 目录层级 | ✅/⚠️ | N |
| 文档一致性 | ✅/⚠️/❌ | N |
| 冗余内容 | ✅/⚠️/❌ | N |
| 配置文件 | ✅/⚠️/❌ | N |
| 技能协作 | ✅/⚠️/❌ | N |
| 模块化设计 | ✅/⚠️/❌ | N |
| 安全审计 | ✅/⚠️/❌ | N |
| 输出模式 | ✅/⚠️/❌ | N |
| 工作流模式 | ✅/⚠️/❌ | N |
| CHANGELOG | ✅/⚠️/❌ | N |
| 版本号管理 | ✅/⚠️/❌ | N |
| 可编排性 | ✅/⚠️/❌ | N |
详细问题
严重问题(必须修复)
1. [问题标题]
- 位置: 文件路径:行号
- 规范: 违反的规范条款
- 建议: 具体修复建议
建议优化
1. [问题标题]
- 位置: 文件路径
- 建议: 优化建议
信息提示
[提示信息] 建议操作
删除文件
| 文件路径 | 原因 |
|----------|------|
| path/to/file.md | 与 SKILL.md 重复 |
| path/to/old.md | 引用不存在的脚本 |
更新文件
| 文件路径 | 修改内容 |
|----------|----------|
| SKILL.md | 更新 description 格式 |
| config.example.yaml | 移除未使用的字段 |
新增文件
| 文件路径 | 用途 |
|----------|------|
| assets/config.example.yaml | 配置模板 |
审查完成
总问题数: N
严重问题: N
建议优化: N
信息提示: N
使用方法
用户提供要审查的技能路径,AI 执行以下步骤:
1. 使用 Glob 列出技能目录所有文件 2. 使用 Read 读取 SKILL.md 和其他关键文件 3. 按检查清单逐项检查 4. 生成结构化审查报告
规范参考
详细检查清单见 references/skill-standards.md
规范依据:项目根目录的 SKILL-DEV-GUIDE.md