用途
这是一个面向 Claude Code 技能的版本管理系统,用于维护技能、提示词或文档的版本。它提供版本标记、发布管理、变更日志和回滚能力,并跟踪 SKILL.md、脚本及资源文件的变化。
主要能力
该技能支持以下操作:
- 使用语义化版本号标记发布(如 v1.0.0、v1.1.0 等)
- 存储记录各版本之间变化的变更日志
- 当新指令导致错误时回滚到之前的版本
- 跟踪 SKILL.md、脚本和资源文件的变更
- 对比版本,了解具体变化
- 为长期存储归档版本
版本格式
采用语义化版本:MAJOR.MINOR.PATCH
- MAJOR:破坏性变更或完全重写
- MINOR:新增功能,向后兼容
- PATCH:缺陷修复、小幅改进
存储结构
skills/<skill-name>/
├── SKILL.md # Current version
├── .versions/ # Version history
│ ├── v1.0.0/
│ │ ├── SKILL.md
│ │ ├── scripts/
│ │ └── metadata.json
│ ├── v1.1.0/
│ │ ├── SKILL.md
│ │ ├── scripts/
│ │ └── metadata.json
│ └── CHANGELOG.md # Complete change history
└── scripts/ # Current scripts
每个版本通过 metadata.json 存储元数据,包含 version、timestamp、author、commit、description、changes、files_tracked 等字段。
工作流
- 初始化版本管理:输入技能名称或路径、初始版本号(默认 0.1.0),创建 .versions/ 目录、初始版本快照、CHANGELOG.md 和 metadata.json。
- 创建新版本/标签:输入技能名称、版本号或递增类型(major/minor/patch)、变更描述,执行校验版本号格式、检查版本是否已存在、创建版本目录、复制文件、生成元数据、更新变更日志、创建 git 标签并提交。
- 列出所有版本:读取 .versions/ 目录,解析各版本元数据,按版本号或日期排序后输出表格。
- 查看版本详情:定位版本目录,读取元数据,展示文件变更和元数据差异。
- 对比两个版本:加载两个版本,对 SKILL.md 和脚本执行 diff,输出统一差异格式和变更摘要。
- 回滚到之前版本:先备份当前状态,验证目标版本存在,经用户确认后复制目标版本文件、更新元数据、记录变更日志并创建 git 提交。安全措施包括回滚前始终创建备份、要求明确确认、验证文件完整性。
- 更新变更日志:按 Keep a Changelog 标准添加条目。
- 导出版本归档:收集版本文件,生成 tar.gz/zip 归档,验证完整性并生成校验和。
变更检测
自动跟踪 SKILL.md、scripts/、templates/、resources/ 等文件的变化,检测内容变更、新增文件、删除文件、重命名文件和权限变更。使用 git diff 和 git log 等命令进行对比。
与 Git 的集成
支持创建注解标签(git tag -a)、推送标签到远程,采用基于分支的版本管理,并遵循约定式提交消息格式。
适用场景
- 对技能行为做出破坏性变更时
- 添加新的重要功能时
- 部署到生产环境前
- 经过重要测试/验证后
- 完成里程碑时
- 跟踪技能随时间的变化、创建稳定版本、记录提示词的演进、从有问题的变更中恢复、归档技能版本
最佳实践
版本号递增指南:MAJOR 用于不兼容的 API 变更、完全重写、破坏性工作流变更;MINOR 用于新增功能、新工作流步骤、向后兼容的增强;PATCH 用于缺陷修复、文档改进、小幅调整。变更日志遵循 Keep a Changelog 格式,按 Added/Changed/Fixed/Removed 分类。
安全考虑
- 文件完整性:版本归档使用 SHA256 校验和,回滚前验证文件完整性,检测版本历史中的篡改
- 权限:在版本中保留文件权限,回滚时恢复正确权限
- 备份安全:破坏性操作前始终创建备份,备份带时间戳存储
限制
关于该技能的收费、价格、平台兼容范围等具体信息,暂未提供。