Skill: cat-xierluo/skill-lint (version 1.3.0)

--- 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 工具列出技能目录下的所有文件： ``` <skill-path>/ ├── **/*.md ├── **/*.py ├── **/*.yaml ├── **/*.json └── ... ``` ### 2. 检查目录结构 验证是否符合标准目录结构： ``` skill-name/ ├── SKILL.md # 必需 ├── LICENSE.txt # 可选 ├── references/ # 可选 ├── scripts/ # 可选 └── assets/ # 可选 ``` **检查项**： - [ ] SKILL.md 是否存在 - [ ] 是否有不规范的目录（如 `test/`、`docs/` 应改为 `references/`） - [ ] 是否有不应提交的文件（如 `__pycache__/`、`.env`） ### 3. 检查 Frontmatter 解析 SKILL.md 的 YAML frontmatter： ```yaml --- name: skill-name description: 功能描述。本技能应在...时使用 license: MIT License - 详见 LICENSE.txt --- ``` **检查项**： - [ ] `name` 字段是否存在且格式正确 - [ ] `description` 字段是否存在 - [ ] `description` 是否使用第三人称（"本技能应在...时使用"） - [ ] `description` 是否包含触发场景描述 - [ ] `description` 是否包含负向触发条件（"不要用于..."） - [ ] `description` 长度是否 ≤ 1024 字符 - [ ] 是否有 `license` 字段 - [ ] 是否有多余的 `version` 字段（应删除） ### 4. 检查 SKILL.md 行数 **检查项**： - [ ] SKILL.md 行数是否 ≤ 500 行（超出应拆分到 references/） ### 5. 检查目录层级 **检查项**： - [ ] `references/` 是否为扁平结构（只允许一级子目录） - [ ] `scripts/` 是否为扁平结构（只允许一级子目录） - [ ] `assets/` 是否为扁平结构（只允许一级子目录） ### 6. 检查文档一致性 扫描所有 `.md` 文件，提取引用的文件路径： **提取模式**： - `scripts/xxx.py` - `assets/xxx.yaml` - `references/xxx.md` - 相对路径引用 **检查项**： - [ ] 引用的脚本文件是否存在 - [ ] 引用的配置文件是否存在 - [ ] 引用的参考文档是否存在 - [ ] README.md 是否与 SKILL.md 内容重复 ### 7. 检查冗余内容 **检查项**： - [ ] 是否有根目录 README.md（应删除，与 SKILL.md 重复） - [ ] references/ 中的文档是否都引用了实际存在的文件 - [ ] 是否有过时的文档（描述已废弃的功能） - [ ] SKILL.md 中是否有大段代码（>20行应移至 scripts/） ### 8. 检查配置文件 **检查项**： - [ ] 配置模板是否使用 `*.example.*` 命名 - [ ] 实际配置文件是否被 .gitignore 忽略 - [ ] config.example.yaml 的字段是否与实际代码匹配 ### 9. 检查技能协作规范 **检查项**： - [ ] 是否直接引用其他技能的内部脚本路径（应改为自然语言描述） - [ ] 协作描述是否使用松耦合方式 ### 10. 检查模块化设计 **检查项**： - [ ] 独立功能是否解耦到单独脚本 - [ ] 是否存在跨 skill 直接调用内部脚本（应通过 AI 协调） ### 11. 检查安全审计 **检查项**： - [ ] 无硬编码 API keys - [ ] 无危险删除命令（`rm -rf ~`、`rm -rf /`、`rm -rf $HOME`） - [ ] 删除命令是否使用安全方式（trash 或 find -delete） ### 12. 检查输出模式 **检查项**： - [ ] 是否提供输出格式模板（对于需要一致性输出的技能） - [ ] 模板严格度是否适中（严格需求用 `ALWAYS`，灵活需求用 `use your best judgment`） - [ ] 是否提供输入/输出示例（对于质量关键的输出） - [ ] 示例是否覆盖典型场景（至少 2-3 个） ### 13. 检查工作流模式 **检查项**： - [ ] 复杂任务是否有流程概览（步骤编号清晰） - [ ] 是否有条件分支逻辑（使用粗体问题 + 箭头指向） - [ ] 每个分支是否有完整的执行步骤 ### 14. 检查 CHANGELOG 规范 **检查项**： - [ ] 是否存在 `CHANGELOG.md` 文件（推荐有） - [ ] 格式是否符合规范（版本号 + 日期 + 变更内容） - [ ] 版本号是否遵循语义化版本（v1.0.0 格式） - [ ] 日期格式是否统一（YYYY-MM-DD） - [ ] 变更类型是否清晰（新增/修改/修复/移除） **CHANGELOG 格式规范**： ```markdown # Changelog All 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. 检查版本号管理 **检查项**： - [ ] SKILL.md frontmatter 中是否有多余的 `version` 字段（应删除） - [ ] 版本信息是否统一在 `CHANGELOG.md` 中管理 - [ ] 如有版本号，是否与 CHANGELOG.md 最新版本一致 **注意**：版本号不应出现在 SKILL.md 的 frontmatter 中，所有版本变更应在 CHANGELOG.md 中记录。 ### 16. 检查可编排性设计 对于可能参与复杂工作流编排的技能，检查以下项： **检查项**： - [ ] 是否有明确的输入/输出声明（在 SKILL.md 中） - [ ] 是否遵循单一职责原则（每个 Skill 只做一件事） - [ ] 是否具有幂等性（多次执行结果相同） - [ ] 复杂编排是否有 `references/workflow.md` **输入/输出声明格式**： ```markdown ## 输入/输出 ### 输入 - 必需：`--input` 参数说明 - 可选：`--flag` 参数说明 ### 输出 - 输出文件：`output/path.md` 说明 - 副作用：如创建目录、修改文件等 ``` **单一职责检查**： - 技能是否只完成一个核心任务 - 是否有多个不相关的功能混在一起 **幂等性检查**： - 多次运行是否产生相同结果 - 是否有累积效应（如追加写入而非覆盖） ## 生成审查报告 ### 报告格式 ```markdown # [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](references/skill-standards.md) 规范依据：项目根目录的 `SKILL-DEV-GUIDE.md`

path: CHANGELOG.md
content: # Changelog

All notable changes to this skill will be documented in this file.

## [1.3.0] - 2026-03-01

### 新增

- **skill-standards.md 统一**：与 skill-architect 使用相同的规范文件

### 修改

- 重命名 `references/checklist.md` → `references/skill-standards.md`
- 重构为 16 节结构
- 新增 §4 目录层级检查（扁平结构要求）
- 新增 §16 审查报告模板
- 审查摘要新增 SKILL.md 行数、目录层级检查项

## [1.2.0] - 2026-03-01

### 新增

- **负向触发条件检查**：description 中需包含"不要用于"说明
- **SKILL.md 行数检查**（§4）：限制 ≤ 500 行
- **目录层级检查**（§5）：references/scripts/assets 扁平结构
- **description 长度检查**：≤ 1024 字符（原 100 字符）
- 同步 SKILL-DEV-GUIDE.md 至 v2.3.0

### 修改

- 审查报告模板更新：新增行数和目录层级检查项
- 章节编号调整：§4→SKILL.md 行数，§5→目录层级，§6-§16 顺延
- 修复重复章节编号问题（原 §11、§12 各有两个）

## [1.1.0] - 2026-02-28

### 新增

- **模块化设计检查**（§7）：独立功能解耦、跨 skill 协调规范
- **安全审计检查**（§8）：禁止危险删除命令、API keys 硬编码检查
- 同步 SKILL-DEV-GUIDE.md 至 v2.2.0

### 修改

- 审查清单新增 §7 模块化设计检查、§8 安全审计检查
- 审查报告模板新增模块化设计和安全审计检查行
- 章节编号调整：原 §7-§13 顺延为 §9-§15

## [1.0.0] - 2026-02-28

### 新增

- 初始版本发布
- 基于 SKILL-DEV-GUIDE.md 规范的 12 类合规检查规则
- 支持生成结构化审查报告


path: CLAUDE.md
content: <claude-mem-context>
# Recent Activity

<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->

### Feb 28, 2026

| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #18403 | 11:12 PM | 🔵 | Found skill-lint skill directory structure | ~161 |

### Mar 3, 2026

| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #18876 | 9:52 PM | ✅ | Updated skill-lint CHANGELOG.md to reference skill-architect | ~177 |
</claude-mem-context>

path: LICENSE.txt
content: MIT License

Copyright (c) 2026 麻辣小龙侠

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


path: references/CLAUDE.md
content: <claude-mem-context>
# Recent Activity

<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->

### Mar 1, 2026

| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #18531 | 12:36 PM | ✅ | skill-lint checklist.md renamed to skill-standards.md | ~192 |
</claude-mem-context>

path: references/skill-standards.md
content: # Skill 格式规范与检查清单

本清单基于 `SKILL-DEV-GUIDE.md` 规范，用于技能创建指导和格式合规性检查。

---

## 1. 目录结构检查

### 1.1 必需文件

| 检查项 | 状态 | 说明 |
|--------|------|------|
| SKILL.md 存在 | ✅/❌ | 必需文件，缺失则无法加载技能 |

### 1.2 推荐结构

| 检查项 | 状态 | 说明 |
|--------|------|------|
| LICENSE.txt 存在 | ✅/⚠️ | 推荐包含许可证 |
| references/ 目录规范 | ✅/⚠️ | 参考文档应放在此目录 |
| scripts/ 目录规范 | ✅/⚠️ | 可执行脚本应放在此目录 |
| assets/ 目录规范 | ✅/⚠️ | 资源文件应放在此目录 |

### 1.3 不应存在的文件

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 无 `__pycache__/` | ✅/❌ | Python 缓存不应提交 |
| 无 `.env` 文件 | ✅/❌ | 敏感配置不应提交 |
| 无 `test/` 目录 | ✅/⚠️ | 开发测试文件不应在发布版中 |
| 无 `docs/` 目录 | ✅/⚠️ | 应使用 `references/` 替代 |
| 无根目录 `README.md` | ✅/⚠️ | 与 SKILL.md 重复，应删除 |

---

## 2. Frontmatter 检查

### 2.1 必需字段

| 检查项 | 状态 | 说明 |
|--------|------|------|
| `name` 字段存在 | ✅/❌ | 技能名称 |
| `name` 格式正确 | ✅/❌ | 小写字母、连字符，如 `skill-name` |
| `description` 字段存在 | ✅/❌ | 功能描述 |
| `license` 字段存在 | ✅/⚠️ | 许可证声明 |

### 2.2 description 格式

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 使用第三人称 | ✅/❌ | "本技能应在...时使用" |
| 包含触发场景 | ✅/❌ | 明确说明何时使用 |
| 包含负向触发条件 | ✅/⚠️ | "不要用于..."说明边界 |
| 长度 ≤ 1024 字符 | ✅/❌ | 保持简洁 |
| 无关键词堆砌 | ✅/⚠️ | 避免冗余 |

### 2.3 不应存在的字段

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 无 `version` 字段 | ✅/⚠️ | 版本信息应在 CHANGELOG.md 中 |

---

## 3. 内容规范检查

### 3.1 SKILL.md 内容

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 行数 ≤ 500 行 | ✅/⚠️ | 超出应拆分到 references/ |
| 无大段代码（>20行） | ✅/⚠️ | 代码应移至 scripts/ |
| 使用简洁示例 | ✅/⚠️ | 仅展示关键 API 调用 |
| 引用而非粘贴 | ✅/⚠️ | 指向 scripts/ 和 references/ |
| 聚焦工作流程 | ✅/⚠️ | 说明"做什么"和"怎么做" |

### 3.2 依赖说明

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 依赖章节格式规范 | ✅/⚠️ | 使用表格格式 |
| 系统依赖说明 | ✅/⚠️ | brew/apt-get 安装方式 |
| Python 包说明 | ✅/⚠️ | pip install 命令 |

---

## 4. 目录层级检查

### 4.1 扁平结构要求

| 检查项 | 状态 | 说明 |
|--------|------|------|
| references/ 扁平结构（一级） | ✅/⚠️ | 只允许一级子目录 |
| scripts/ 扁平结构（一级） | ✅/⚠️ | 只允许一级子目录 |
| assets/ 扁平结构（一级） | ✅/⚠️ | 只允许一级子目录 |

---

## 5. 文档一致性检查

### 5.1 文件引用

| 检查项 | 状态 | 说明 |
|--------|------|------|
| scripts/ 引用存在 | ✅/❌ | 引用的脚本文件存在 |
| assets/ 引用存在 | ✅/❌ | 引用的资源文件存在 |
| references/ 引用存在 | ✅/❌ | 引用的参考文档存在 |

### 5.2 冗余内容

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 无重复的 README.md | ✅/⚠️ | 与 SKILL.md 内容不重复 |
| 无过时的参考文档 | ✅/⚠️ | references/ 中的文档引用实际存在的文件 |
| 无废弃功能描述 | ✅/⚠️ | 文档描述与实际代码一致 |

---

## 6. 配置文件检查

### 6.1 命名规范

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 模板使用 `*.example.*` | ✅/⚠️ | 如 `config.example.yaml` |
| 实际配置被 .gitignore | ✅/⚠️ | 不提交敏感配置 |

### 6.2 配置一致性

| 检查项 | 状态 | 说明 |
|--------|------|------|
| example 字段与代码匹配 | ✅/❌ | 配置模板的字段被实际代码使用 |
| 无未使用的配置字段 | ✅/⚠️ | 删除未使用的字段 |

---

## 7. 技能协作检查

### 7.1 松耦合原则

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 不直接引用其他技能路径 | ✅/⚠️ | 不使用 `../../skills/xxx/` |
| 使用自然语言描述协作 | ✅/⚠️ | 说明"可以配合使用"而非直接调用 |

---

## 8. 模块化设计检查

### 8.1 独立功能解耦

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 独立功能抽取为单独脚本 | ✅/⚠️ | 可复用功能不应写在主脚本中 |
| 功能有清晰的输入输出 | ✅/⚠️ | 便于其他 skill 通过 AI 协调调用 |

### 8.2 模块间协调

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 同一 skill 内部可直接调用 | ✅/⚠️ | `evaluator.py` 调用 `pdf_ocr.py` |
| 跨 skill 不直接调用 | ✅/⚠️ | 不使用 `skill-a/main.py` 直接调用 `skill-b/main.py` |

---

## 9. 安全审计检查

### 9.1 基本原则

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 无硬编码 API keys | ✅/❌ | 敏感信息应在配置文件中 |
| 不读取 ~/.env | ✅/❌ | 不访问外部敏感配置 |

### 9.2 危险命令检查

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 无 `rm -rf ~` | ✅/❌ | 删除用户主目录 |
| 无 `rm -rf /` | ✅/❌ | 删除根目录 |
| 无 `rm -rf $HOME` | ✅/❌ | 删除用户主目录 |

### 9.3 安全删除规范

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 使用 `trash` 命令 | ✅/⚠️ | 移动到回收站 |
| 使用 `find -delete` | ✅/⚠️ | 清理目录内容（保留目录本身） |

---

## 10. 输出模式检查

### 10.1 输出模板

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 提供输出格式模板 | ✅/⚠️ | 对于需要一致性输出的技能，提供模板 |
| 模板严格度适中 | ✅/⚠️ | 严格需求用 `ALWAYS use this exact template`，灵活需求用 `use your best judgment` |
| 模板结构清晰 | ✅/⚠️ | 包含标题、摘要、正文、建议等章节 |

**严格模板示例**（API 响应、数据格式）：
```markdown
ALWAYS use this exact template structure:

# [Analysis Title]

## Executive summary
[One-paragraph overview]

## Key findings
- Finding 1 with supporting data
- Finding 2 with supporting data

## Recommendations
1. Specific actionable recommendation
```

**灵活模板示例**（分析报告、创意内容）：
```markdown
Here is a sensible default format, but use your best judgment:

# [Analysis Title]

## Executive summary
[Overview]

## Key findings
[Adapt sections based on what you discover]

Adjust sections as needed for the specific context.
```

### 10.2 示例模式

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 提供输入/输出示例 | ✅/⚠️ | 对于质量关键的输出，提供 input/output 对 |
| 示例覆盖典型场景 | ✅/⚠️ | 至少 2-3 个不同场景的示例 |
| 示例风格一致 | ✅/⚠️ | 所有示例遵循相同的格式和详细程度 |

**示例格式**：
```markdown
## Commit message format

**Example 1:**
Input: Added user authentication with JWT tokens
Output:
```
feat(auth): implement JWT-based authentication

Add login endpoint and token validation middleware
```

**Example 2:**
Input: Fixed bug where dates displayed incorrectly
Output:
```
fix(reports): correct date formatting

Use UTC timestamps consistently
```
```

---

## 11. 工作流模式检查

### 11.1 顺序工作流

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 复杂任务有流程概览 | ✅/⚠️ | 在 SKILL.md 开头提供操作步骤概览 |
| 步骤编号清晰 | ✅/⚠️ | 使用 1. 2. 3. 编号 |
| 每步指向具体操作 | ✅/⚠️ | 说明运行什么脚本或执行什么动作 |

**顺序工作流示例**：
```markdown
Filling a PDF form involves these steps:

1. Analyze the form (run analyze_form.py)
2. Create field mapping (edit fields.json)
3. Validate mapping (run validate_fields.py)
4. Fill the form (run fill_form.py)
5. Verify output (run verify_output.py)
```

### 11.2 条件工作流

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 分支逻辑有决策点 | ✅/⚠️ | 明确说明何时走哪个分支 |
| 使用清晰的分支标识 | ✅/⚠️ | 使用粗体问题 + 箭头指向 |
| 每个分支步骤完整 | ✅/⚠️ | 每个分支都有完整的执行步骤 |

**条件工作流示例**：
```markdown
1. Determine the modification type:
   **Creating new content?** → Follow "Creation workflow" below
   **Editing existing content?** → Follow "Editing workflow" below

2. Creation workflow:
   - Step 1: ...
   - Step 2: ...

3. Editing workflow:
   - Step 1: ...
   - Step 2: ...
```

---

## 12. CHANGELOG 规范检查

### 12.1 文件存在性

| 检查项 | 状态 | 说明 |
|--------|------|------|
| CHANGELOG.md 存在 | ✅/⚠️ | 推荐包含变更日志 |

### 12.2 格式规范

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 版本号格式正确 | ✅/⚠️ | 使用语义化版本 v1.0.0 |
| 日期格式统一 | ✅/⚠️ | 使用 YYYY-MM-DD 格式 |
| 变更类型清晰 | ✅/⚠️ | 新增/修改/修复/移除 |

**CHANGELOG 格式示例**：
```markdown
# Changelog

## [v1.1.0] - 2026-02-24

### 新增
- 添加了 XXX 功能

### 修改
- 优化了 YYY 逻辑

### 修复
- 修复了 ZZZ 问题

## [v1.0.0] - 2026-02-01

### 新增
- 初始版本发布
```

---

## 13. 版本号管理检查

### 13.1 版本位置

| 检查项 | 状态 | 说明 |
|--------|------|------|
| SKILL.md 无 version 字段 | ✅/⚠️ | 版本信息应在 CHANGELOG.md 中 |
| 版本统一在 CHANGELOG.md | ✅/⚠️ | 所有版本变更在 CHANGELOG.md 记录 |

### 13.2 版本一致性

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 版本号与 CHANGELOG 一致 | ✅/⚠️ | 如有版本号，应与最新 CHANGELOG 版本匹配 |

---

## 14. 可编排性设计检查

### 14.1 输入/输出声明

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 有明确的输入声明 | ✅/⚠️ | 在 SKILL.md 中说明必需/可选参数 |
| 有明确的输出声明 | ✅/⚠️ | 说明输出文件和副作用 |

**输入/输出声明格式**：
```markdown
## 输入/输出

### 输入
- 必需：`--input` 参数说明
- 可选：`--flag` 参数说明

### 输出
- 输出文件：`output/path.md` 说明
- 副作用：如创建目录、修改文件等
```

### 14.2 单一职责

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 技能只做一件事 | ✅/⚠️ | 核心功能单一明确 |
| 无不相关功能混入 | ✅/⚠️ | 避免多任务混合 |

### 14.3 幂等性

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 多次执行结果相同 | ✅/⚠️ | 无累积效应 |
| 无副作用累积 | ✅/⚠️ | 如追加写入应改为覆盖 |

### 14.4 复杂编排支持

| 检查项 | 状态 | 说明 |
|--------|------|------|
| 复杂编排有 workflow.md | ✅/⚠️ | 涉及多技能协作时有详细说明 |

---

## 15. 问题严重程度定义

| 级别 | 图标 | 说明 | 处理建议 |
|------|------|------|----------|
| 严重 | ❌ | 阻塞技能正常使用 | 必须修复 |
| 警告 | ⚠️ | 影响可维护性或规范性 | 建议修复 |
| 信息 | ℹ️ | 优化建议 | 可选修复 |

---

## 16. 审查报告模板

```markdown
# [skill-name] 格式审查报告

**审查时间**: YYYY-MM-DD HH:MM
**技能路径**: /path/to/skill

## 审查摘要

| 检查项 | 状态 | 问题数 |
|--------|------|--------|
| 目录结构 | ✅/⚠️/❌ | N |
| Frontmatter | ✅/⚠️/❌ | N |
| description | ✅/⚠️/❌ | 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` | 修改说明 |

### 新增文件

| 文件路径 | 用途 |
|----------|------|
| `assets/config.example.yaml` | 用途说明 |

## 审查完成

- 总问题数: N
- 严重问题: N
- 建议优化: N
- 信息提示: N
```

---

## 规范参考

- **SKILL-DEV-GUIDE.md** - 项目根目录
- **Claude Code 官方规范** - skills/pdf, skills/skill-creator


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)