mcpField
U
update-cog

update-cog

github.com/huytieu生产力1.3k189 次安装6 天前更新
代码仓库

关于 update-cog

用于从官方上游仓库更新 COG 框架文件的技能,会先检查版本和本地差异,并保护个人内容目录不受修改。

主要功能

  1. 01检查本地与上游版本
  2. 02比较框架文件差异
  3. 03识别本地修改并征求选择
  4. 04仅替换获准的框架文件
  5. 05提供脚本更新选项

适用场景

  1. 01查看 COG 是否有新版本
  2. 02获取上游新增的技能或功能
  3. 03更新文档、配置和脚本
  4. 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