关于 update-cog
用于从官方上游仓库更新 COG 框架文件的技能,会先检查版本和本地差异,并保护个人内容目录不受修改。
主要功能
- 01检查本地与上游版本
- 02比较框架文件差异
- 03识别本地修改并征求选择
- 04仅替换获准的框架文件
- 05提供脚本更新选项
适用场景
- 01查看 COG 是否有新版本
- 02获取上游新增的技能或功能
- 03更新文档、配置和脚本
- 04保留个人笔记并审查框架改动
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ huytieu/ cog-second-brain --skill update-cog安装后在 Claude Code 中输入/update-cog确认已加载。
详细介绍
COG 更新技能
用途
帮助用户从官方上游仓库更新其 COG 框架文件(技能、文档、脚本),同时避免影响其个人内容(脑力随记、个人资料、笔记)。
何时调用
- 用户要求“更新 COG”“检查更新”或“获取最新 COG 版本”
- 用户提到想要上游的新技能或功能
- 用户询问其 COG 版本
流程
1. 检查当前版本
读取知识库根目录中的 COG-VERSION。如果该文件不存在,请告知用户,他们使用的版本可能早于版本跟踪功能。
2. 确保存在上游远程仓库
# Add the upstream remote if not already present
git remote get-url cog-upstream 2>/dev/null || \
git remote add cog-upstream https://github.com/huytieu/COG-second-brain.git
# Fetch latest
git fetch cog-upstream main --quiet
3. 比较版本
# Local version
cat COG-VERSION
# Upstream version
git show cog-upstream/main:COG-VERSION
如果版本一致,告诉用户他们使用的已是最新版本。
4. 显示更改内容
逐个比较每个框架文件的本地版本与上游版本:
git diff HEAD..cog-upstream/main -- <file>
框架文件(可安全更新,不会包含用户内容):
- 核心文档:
README.md、SETUP.md、AGENTS.md、GEMINI.md、CHANGELOG.md、CONTRIBUTING.md - 技能:
.claude/skills/*/SKILL.md - Powers:
.kiro/powers/*/POWER.md - Gemini:
.gemini/commands/*.toml、.gemini/skills/*.md - 配置:
.claude-plugin/plugin.json、marketplace-entry.json、.gitignore - 脚本:
cog-update.sh - 版本:
COG-VERSION
5. 检测自定义修改
更新之前,检查用户是否自定义了任何框架文件:
# Show how the working tree differs from current upstream HEAD.
# NOTE: this cannot tell a local customization apart from an upstream
# change you have not pulled yet — both show up as a diff. Treat any
# output as "needs a look", not as proof the user edited the file.
git diff cog-upstream/main -- <file>
如果文件存在差异,请提醒用户并提供以下选项:
- 保留本地版本:跳过此文件
- 使用上游版本:覆盖为新版本
- 备份并更新:先将当前文件保存为
<file>.backup-YYYYMMDD,然后更新
6. 应用更新
对于用户批准的文件:
# Surgical file replacement — no merge, no rebase, zero conflict risk
git checkout cog-upstream/main -- <file>
7. 验证并总结
更新后:
- 显示新的版本号
- 列出所有已更新的文件
- 列出用户选择跳过的文件
- 建议提交此次更新:
git add -A && git commit -m "Update COG framework to v<new-version>"
替代方案:Shell 脚本
对于偏好非 AI 更新方式的用户,介绍更新脚本:
./cog-update.sh # Interactive
./cog-update.sh --check # Just check for updates
./cog-update.sh --dry-run # Preview changes
./cog-update.sh --force # Update everything
重要说明
- 绝不会触碰内容文件夹:
00-inbox/、01-daily/、02-personal/、03-professional/、04-projects/、05-knowledge/、06-templates/包含用户数据,始终会被忽略 .gitignore的设计目的是将内容文件夹排除在上游跟踪范围之外(仅跟踪.gitkeep文件)- 更新脚本会更新自身——
cog-update.sh位于框架文件列表中 - 不可能发生合并冲突——此流程使用
git checkout精确替换文件,不使用git merge或git rebase
评论
支持 Markdown