← LeaderboardThe Skill Leaderboard

geo-update

Pull the latest GEO-SEO skill updates from the upstream repository. Compares installed files against the latest release, shows what changed, and updates all skills, agents, scripts, and schema templates in place.

Published by zubair-trabzada ↗zubair-trabzada/geo-seo-claude

Try your first task

geo-update

Start a fresh conversation.

Use geo-update to compare my installed GEO-SEO toolkit with the latest upstream release and show the diff summary; apply the update only after my explicit confirmation, without modifying Claude settings files or deleting local files.

    User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗

    SKILL.md

    name: geo-updatedescription: Pull the latest GEO-SEO skill updates from the upstream repository. Compares installed files against the latest release, shows what changed, and updates all skills, agents, scripts, and schema templates in place.allowed-tools:   - Bash  - Read  - Write

    GEO-SEO Update Skill

    Purpose

    Updates the locally installed GEO-SEO skills, agents, scripts, and schema templates to the latest version from the upstream repository. Shows a summary of what changed before and after the update.


    Update Workflow

    Step 1: Determine Installed Location

    The GEO-SEO toolkit installs to these locations under ~/.claude/:

    ComponentInstall Path
    Main skill~/.claude/skills/geo/
    Sub-skills~/.claude/skills/geo-*/
    Agents~/.claude/agents/geo-*.md
    Scripts~/.claude/skills/geo/scripts/
    Schema templates~/.claude/skills/geo/schema/
    Hooks~/.claude/skills/geo/hooks/

    Verify the installation exists by checking for ~/.claude/skills/geo/SKILL.md. If it does not exist, inform the user that GEO-SEO is not installed and suggest running the installer instead.

    Step 2: Clone Latest from Upstream

    TEMP_DIR=$(mktemp -d)
    git clone --depth 1 https://github.com/zubair-trabzada/geo-seo-claude.git "$TEMP_DIR/repo"
    

    If the clone fails, report the error and stop. Do not modify any installed files.

    Step 3: Compare Installed vs Latest

    Before copying files, generate a diff summary so the user knows what will change:

    1. For each component directory, compare the installed files against the cloned files using diff --recursive --brief.
    2. Categorise changes as:
      • New files — exist in upstream but not locally
      • Modified files — exist in both but differ
      • Removed files — exist locally but not in upstream (these are NOT deleted automatically)
    3. Present the summary to the user.

    Step 4: Apply Updates

    Copy files from the cloned repo over the installed locations:

    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
    

    Step 5: Update Python Dependencies

    If requirements.txt exists in the upstream repo and differs from the installed version:

    python3 -m pip install -r "$SOURCE_DIR/requirements.txt" --quiet
    

    Report any failures but do not treat them as fatal.

    Step 6: Clean Up

    rm -rf "$TEMP_DIR"
    

    Step 7: Report Results

    Present a summary:

    GEO-SEO Update Complete
    =======================
    New files:      [count]
    Modified files: [count]
    Unchanged:      [count]
    Removed upstream (kept locally): [count]
    
    Dependencies: [updated / unchanged / failed]
    

    If there were removed files upstream, list them and suggest the user review whether to delete them manually.


    Important Notes

    • Never delete locally installed files that no longer exist upstream. The user may have customised them. List them and let the user decide.
    • Never modify ~/.claude/settings.json or ~/.claude/settings.local.json — these are user configuration files, not part of the GEO-SEO toolkit.
    • If already up to date (no diff), report that and skip the copy step.
    • Restart notice: Remind the user that skill changes take effect in new Claude Code sessions. They should restart their session to use the updated skills.