mcpField
G
geo-update

geo-update

github.com/zubair-trabzadaエージェントワークフロー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 のスキル、エージェント、スクリプト、スキーマテンプレートを、上流リポジトリの最新バージョンに更新します。更新前後の変更点の概要を表示します。


更新ワークフロー

ステップ 1:インストール先を確認する

GEO-SEO ツールキットは、~/.claude/ 以下の次の場所にインストールされます。

コンポーネントインストール先
メインスキル~/.claude/skills/geo/
サブスキル~/.claude/skills/geo-*/
エージェント~/.claude/agents/geo-*.md
スクリプト~/.claude/skills/geo/scripts/
スキーマテンプレート~/.claude/skills/geo/schema/
フック~/.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 セッションで反映されることをユーザーに伝えてください。更新されたスキルを使うには、セッションを再起動する必要があります。

コメント