GEO-SEO 技能更新器
一条命令把本地安装的 GEO-SEO 技能、代理、脚本和 Schema 模板同步到上游最新版本,更新前后都有变更摘要。
该更新技能写入 ~/.claude 下的技能、agents、脚本与 hooks 目录,并可能 pip 安装上游 requirements.txt。正面证据:更新前生成 diff 摘要、明确从不删除本地文件、明确禁止修改 settings./settings.local.、克隆失败即停止。扣分项:复制覆盖与 pip install 均无强制用户确认步骤(Step 3 只要求'呈现摘要',Step 4 直接执行覆盖),pip 安装未经用户审查的依赖文件,hooks/scripts 会被 chmod +x 并原样执行,缺乏回滚机制(无备份),隔离性依赖 mktemp 但覆盖目标无沙箱。
工作流自洽:检查安装存在性、克隆失败即中止、无 diff 时跳过、上游删除的文件不自动删除并提示用户。扣分项:静态审查无法执行验证;Step 4 假设 ~/.claude/skills/geo 及 scripts/schema 子目录存在而未 mkdir(首次部分安装会失败);pip 失败'不视为致命'但后果未说明;错误反馈质量依赖模型遵循而非结构化保证。
触发语义清晰('拉取 GEO-SEO 技能更新'),适用场景明确,边界(未安装时提示改用安装器、自定义文件不删除)有声明。扣分项:上游是 GitHub raw/clone,依赖 GitHub 可达性,对主网络环境用户存在断连风险且未声明;未覆盖 Windows 环境差异。
结构清晰,含目的、分步流程、重要注意事项与输出模板,frontmatter 规范。扣分项:无版本号或变更日志,无法判断当前更新目标版本;未披露更新冲突或损坏更新的处理路径;维护责任与更新频次仅隐含于上游仓库。
核心任务(对比并更新已安装技能)流程完整、直接产出可用的更新摘要。扣分项:静态审查无法验证更新路径在真实仓库结构(16 个 SKILL.md、agents/、hooks/ 布局)上完整成立;Step 4 的路径映射与 README 架构图存在不完全一致之处(如 hooks 位置),输出可能需要人工修补。
仓库含 LICENSE、requirements.txt、CI 工作流与针对 fetch_page.py 的测试套件,但均不覆盖本更新技能的关键路径;diff/更新流程无任何可复现证据。扣分项:本技能本身无测试、无示例运行记录,静态审查下上限受限。
- 更新会直接覆盖已安装文件且无备份/回滚,建议运行前手动备份 ~/.claude/skills/geo* 目录,或在 Step 3 diff 后自行确认再复制。
- 脚本会执行上游 pip install 并对 hooks/scripts 赋予执行权限,更新前应审查上游 requirements.txt 与 hooks 内容的变更。
- 更新依赖 GitHub 直连,在中国大陆网络环境可能失败;建议使用镜像或手动下载 zip。
- 本评估为静态源码审查,未实际执行更新流程,diff 与复制路径在真实安装结构上未经复现验证。
这个 Skill 能做什么,适合哪些场景?
geo-update 是 zubair-trabzada/geo-seo-claude 仓库自带的自更新技能。它会检查 ~/.claude/ 下是否已安装 GEO-SEO 工具包,从上游仓库浅克隆最新代码,用 diff 对比本地与上游差异,然后把新文件和改动文件复制到位,同时绝不删除本地独有的文件。它还会同步 requirements.txt 中的 Python 依赖,并在结束时输出新增、修改、未变更、上游已移除(本地保留)的数量汇总。整个过程以 SKILL.md 中的确定性 Bash 步骤驱动,行为可预期、可审计。
具体流程:1) 检查 ~/.claude/skills/geo/SKILL.md 是否存在,不存在则提示先运行安装器;2) 用 mktemp 建临时目录并 git clone --depth 1 上游仓库;3) 对主技能、子技能、agents/geo-*.md、scripts、schema 模板、hooks 各目录执行 diff --recursive --brief,归类为新增、修改、上游已移除三类;4) 将上游文件 cp 覆盖到对应安装位置,脚本和 hooks 加 chmod +x;5) 若 requirements.txt 有变化则 pip install -r;6) 删除临时目录;7) 输出更新汇总。硬性约束:不删除本地多余文件、不触碰 ~/.claude/settings. 和 settings.local.。
- 已通过 install.sh 安装了 GEO-SEO 工具包的 Claude Code 用户,想在不重新跑安装器的情况下获取最新版本
- 把工具包用于客户项目的 GEO 顾问,希望确保审计逻辑和 Schema 模板始终是上游最新版
- 对工具包做过本地自定义的用户,想先看到差异摘要再决定是否更新、是否手动合并
- 维护多台机器安装的管理员,需要在每台机器上把本地副本同步到同一版本
- 依赖 pip 包的脚本使用者,想让 requirements.txt 随上游一起升级
这个 Skill 有哪些优点和局限?
- 更新前生成完整的 diff 摘要,新增/修改/移除分类清晰,决策有依据
- 绝不删除本地文件、绝不触碰 settings.,对自定义安装和用户配置安全
- 依赖安装失败不视为致命错误,主流程照常完成
- 步骤全部是可读的 Bash 命令,行为可审计、可手动复现
- 结束时给出新增/修改/未变/保留的量化汇总
- 没有回滚机制——文件复制覆盖后若出问题,只能靠 git 重新克隆恢复
- 不做版本号或提交哈希比较,无法精确跳到某个版本,只能同步到上游 main 最新
- 仓库未提供测试套件,更新流程本身无自动化验证
- 仅服务于 geo-seo-claude 这一个工具包的安装布局,不能用于更新其他技能
- 克隆失败、pip 失败等场景的恢复指引较简略
如何安装这个 Skill?
该技能属于 geo-seo-claude 效能包,随整个仓库一起安装:macOS/Linux 运行 curl -fsSL https://raw.githubusercontent.com/zubair-trabzada/geo-seo-claude/main/install.sh | bash;Windows 需在 Git Bash 中运行对应的 install-win.sh。安装后位于 ~/.claude/skills/ 下的技能集合中(仓库内路径为 skills/geo-update/SKILL.md)。前置要求:Claude Code CLI、Git、Python 3.8+(Debian/Ubuntu 需 python3-venv)。单独手动安装这一个子技能的步骤在源材料中未说明。
如何使用这个 Skill?
在 Claude Code 中,当本地已安装 GEO-SEO 工具包时,触发该技能并请求更新即可,例如输入"更新我的 GEO-SEO 技能到最新版"或直接引用 geo-update。技能会克隆上游、展示差异摘要、执行复制并汇报结果。注意:更新后需重启 Claude Code 会话新版本才生效;上游已删除的本地文件不会被自动移除,需自行决定是否手动删除。
这个 Skill 与同类方案有什么区别?
相对于重新运行 install.sh:安装器面向全新安装并处理虚拟环境,而 geo-update 面向已安装副本,会先做差异对比且不删除本地自定义文件。仓库中未提及其他第三方更新工具。