mcpField
G
geo-update

geo-update

github.com/zubair-trabzadaAgent 工作流11.3k602 次安装3 周前更新
代码仓库

关于 geo-update

geo-update 是用于从上游仓库更新本地 GEO-SEO 工具包的技能。它会在应用更新前比较文件并汇总变化,同时保留上游已不再包含的本地文件。

主要功能

  1. 01检查本地 GEO-SEO 安装
  2. 02获取最新上游文件
  3. 03汇总新增和变更文件
  4. 04保留上游已删除的本地文件
  5. 05按需更新 Python 依赖
  6. 06报告更新结果

适用场景

  1. 01更新已安装的 GEO-SEO 工具包
  2. 02复制更新前审查文件变化
  3. 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:比较已安装版本与最新版本

复制文件前,生成差异摘要,让用户了解将发生哪些变化:

  1. 对每个组件目录,使用 diff --recursive --brief 比较已安装文件与克隆文件。
  2. 将变更分类为:
    • 新增文件 — 存在于上游,但本地不存在
    • 已修改文件 — 两处都存在,但内容不同
    • 已删除文件 — 本地存在,但上游不存在(不会自动删除这些文件)
  3. 向用户展示摘要。
步骤 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