CtrlK
BlogDocsLog inGet started
Tessl Logo

verify-change

变更校验关卡。分析代码变更,检测文档同步状态,评估变更影响范围。当用户提到变更检查、文档同步、代码审查、提交前检查、diff分析时使用。在设计级变更、重构完成时自动触发。

63

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./dsh-ccg/skills/verify-change/SKILL.md
SKILL.md
Quality
Evals
Security

⚖ 校验关卡 · 变更校验

核心原则

变更 = 代码改动 + 文档更新 + 理由记录
无理由的变更是隐患,无记录的变更是灾难
每一次变更都是历史,每一个决策都要留痕

自动分析

运行变更分析脚本(跨平台):

# 在 skill 目录下运行
node scripts/change_analyzer.js                    # 分析工作区变更(默认)
node scripts/change_analyzer.js --mode staged      # 分析暂存区变更
node scripts/change_analyzer.js --mode committed   # 分析已提交变更
node scripts/change_analyzer.js -v                 # 详细模式
node scripts/change_analyzer.js --json             # JSON 输出

检测能力

自动检测项

检测项说明
文件分类自动识别代码/文档/测试/配置文件
模块识别识别受影响的模块
文档同步检测代码变更是否同步更新文档
测试覆盖检测代码变更是否有对应测试
影响评估评估变更规模和影响范围

触发警告的情况

  • ⚠️ 代码变更 > 50 行但 DESIGN.md 未更新
  • ⚠️ 代码变更 > 30 行但无测试更新
  • ⚠️ 新增文件但 README.md 未更新
  • ⚠️ 配置文件变更未记录
  • ℹ️ 删除文件需确认引用已清理

变更前置检查

在修改任何模块前,必须:

  1. 读取 README.md — 理解模块定位
  2. 读取 DESIGN.md — 理解现有决策
  3. 评估影响范围 — 此变更影响哪些部分
  4. 确认变更理由 — 为什么要改

变更后置检查

代码修改完成后,必须:

README.md 更新检查

  • 模块职责是否变化 → 更新职责描述
  • 依赖关系是否变化 → 更新依赖说明
  • 使用方式是否变化 → 更新示例代码

DESIGN.md 更新检查

  • 新增设计决策 → 记录决策及理由
  • 修改现有设计 → 记录变更及原因
  • 引入新限制 → 更新已知限制
  • 添加变更记录 → 更新变更历史

变更记录格式

在 DESIGN.md 的变更历史中添加:

## 变更历史

### [日期] - [变更标题]

**变更内容**: 简述改了什么

**变更理由**: 为什么要改

**影响范围**: 影响哪些功能/模块

**决策依据**: 为何选择此方案(如适用)

自动触发时机

场景触发条件
设计级变更修改架构、接口、数据结构
重构完成重构任务完成时
代码变更 > 30 行较大规模代码修改
提交前代码提交前检查

校验流程

1. 运行 change_analyzer.js 自动分析
2. 识别变更文件和受影响模块
3. 检查文档同步状态
4. 评估变更影响
5. 输出变更校验报告

校验报告格式

## 变更校验报告

### 变更概览
- 变更文件数: N
- 代码变更行数: +X / -Y
- 受影响模块: [模块列表]

### 文档同步状态
- README.md: ✓ 已同步 / ⚠️ 需更新
- DESIGN.md: ✓ 已同步 / ⚠️ 需更新

### 测试覆盖
- 测试文件变更: ✓ 有 / ⚠️ 无

### 结论
可提交 / 需补充文档后提交

Repository
fengshao1227/ccg-workflow
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.