关于 geo-update
geo-update 是用于从上游仓库更新本地 GEO-SEO 工具包的技能。它会在应用更新前比较文件并汇总变化,同时保留上游已不再包含的本地文件。
主要功能
- 01检查本地 GEO-SEO 安装
- 02获取最新上游文件
- 03汇总新增和变更文件
- 04保留上游已删除的本地文件
- 05按需更新 Python 依赖
- 06报告更新结果
适用场景
- 01更新已安装的 GEO-SEO 工具包
- 02复制更新前审查文件变化
- 03找出上游已不包含的本地文件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zubair-trabzada/ geo-seo-claude --skill geo-update安装后在 Claude Code 中输入/geo-update确认已加载。
详细介绍
GEO-SEO 更新技能
用途
将本地安装的 GEO-SEO 技能、Agent、脚本和架构模板更新到上游仓库的最新版本。更新前后都会显示变更摘要。
更新工作流
步骤 1:确定安装位置
GEO-SEO 工具包会安装到 ~/.claude/ 下的以下位置:
| 组件 | 安装路径 |
|---|---|
| 主技能 | ~/.claude/skills/geo/ |
| 子技能 | ~/.claude/skills/geo-*/ |
| Agent | ~/.claude/agents/geo-*.md |
| 脚本 | ~/.claude/skills/geo/scripts/ |
| 架构模板 | ~/.claude/skills/geo/schema/ |
| Hooks | ~/.claude/skills/geo/hooks/ |
检查 ~/.claude/skills/geo/SKILL.md 是否存在,以确认已安装。如果该文件不存在,请告知用户尚未安装 GEO-SEO,并建议运行安装程序。
步骤 2:从上游克隆最新版本
TEMP_DIR=$(mktemp -d)
git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git "$TEMP_DIR/repo"
如果克隆失败,请报告错误并停止。不要修改任何已安装的文件。
步骤 3:比较已安装版本与最新版本
复制文件前,生成差异摘要,让用户了解将发生哪些变化:
- 对每个组件目录,使用
diff --recursive --brief比较已安装文件与克隆文件。 - 将变更分类为:
- 新增文件 — 存在于上游,但本地不存在
- 已修改文件 — 两处都存在,但内容不同
- 已删除文件 — 本地存在,但上游不存在(不会自动删除这些文件)
- 向用户展示摘要。
步骤 4:应用更新
将克隆仓库中的文件复制到已安装的位置:
CLAUDE_DIR="${HOME}/.claude"
SOURCE_DIR="$TEMP_DIR/repo"
# Main skill
cp -r "$SOURCE_DIR/geo/"* "$CLAUDE_DIR/skills/geo/"
# Sub-skills
for skill_dir in "$SOURCE_DIR/skills"/*/; do
skill_name=$(basename "$skill_dir")
mkdir -p "$CLAUDE_DIR/skills/${skill_name}"
cp -r "$skill_dir"* "$CLAUDE_DIR/skills/${skill_name}/"
done
# Agents
for agent_file in "$SOURCE_DIR/agents/"*.md; do
cp "$agent_file" "$CLAUDE_DIR/agents/"
done
# Scripts
if [ -d "$SOURCE_DIR/scripts" ]; then
cp -r "$SOURCE_DIR/scripts/"* "$CLAUDE_DIR/skills/geo/scripts/"
chmod +x "$CLAUDE_DIR/skills/geo/scripts/"*.py 2>/dev/null || true
fi
# Schema templates
if [ -d "$SOURCE_DIR/schema" ]; then
cp -r "$SOURCE_DIR/schema/"* "$CLAUDE_DIR/skills/geo/schema/"
fi
# Hooks
if [ -d "$SOURCE_DIR/hooks" ] && [ "$(ls -A "$SOURCE_DIR/hooks" 2>/dev/null)" ]; then
mkdir -p "$CLAUDE_DIR/skills/geo/hooks"
cp -r "$SOURCE_DIR/hooks/"* "$CLAUDE_DIR/skills/geo/hooks/"
chmod +x "$CLAUDE_DIR/skills/geo/hooks/"* 2>/dev/null || true
fi
步骤 5:更新 Python 依赖项
如果上游仓库中存在 requirements.txt,且与已安装的版本不同:
python3 -m pip install -r "$SOURCE_DIR/requirements.txt" --quiet
报告任何失败,但不要将其视为致命错误。
步骤 6:清理
rm -rf "$TEMP_DIR"
步骤 7:报告结果
提供摘要:
GEO-SEO Update Complete
=======================
New files: [count]
Modified files: [count]
Unchanged: [count]
Removed upstream (kept locally): [count]
Dependencies: [updated / unchanged / failed]
如果上游有已删除的文件,请列出这些文件,并建议用户检查是否要手动删除。
重要说明
- 绝不要删除本地已安装、但上游已不存在的文件。 用户可能自定义过这些文件。请列出它们,由用户决定如何处理。
- 绝不要修改
~/.claude/settings.json或~/.claude/settings.local.json——这些是用户配置文件,不属于 GEO-SEO 工具包。 - 如果已是最新版本(没有差异),请告知用户并跳过复制步骤。
- 重启提示: 提醒用户,技能变更会在新的 Claude Code 会话中生效。用户应重启会话以使用更新后的技能。
评论
支持 Markdown