mcpField
U
update-cog

update-cog

github.com/huytieu生産性1.3k189 回インストール6 日前に更新
リポジトリ

update-cog について

公式の上流リポジトリからCOGのフレームワークファイルを更新するスキルです。バージョンとローカルとの差分を確認し、個人データのフォルダーを変更せずに進めます。

主な機能

  1. 01ローカルと上流のバージョン確認
  2. 02フレームワークファイルの差分比較
  3. 03ローカル差分を確認用に提示
  4. 04承認済みファイルのみ置換
  5. 05スクリプトによる更新 विकल्प

活用シーン

  1. 01COGの新バージョン確認
  2. 02上流のスキルや機能の取得
  3. 03ドキュメント、設定、スクリプトの更新
  4. 04個人メモを保護して変更を確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/huytieu/cog-second-brain --skill update-cog

インストール後、Claude Code で/update-cogを入力して読み込まれたか確認します。

詳細

COG 更新スキル

目的

個人のコンテンツ(ブレインダンプ、プロフィール、メモ)に影響を与えることなく、公式のアップストリームリポジトリからCOGフレームワークのファイル(スキル、ドキュメント、スクリプト)を更新できるよう支援します。

呼び出すタイミング

  • ユーザーが「COGを更新して」「更新を確認して」「最新のCOGバージョンを取得して」と依頼した場合
  • ユーザーがアップストリームから新しいスキルや機能を追加したいと言った場合
  • ユーザーが自分のCOGバージョンについて尋ねた場合

処理の流れ

1. 現在のバージョンを確認する

VaultのルートからCOG-VERSIONを読み取ります。存在しない場合は、バージョン管理が導入される前の古いバージョンを使用している可能性があることをユーザーに伝えます。

2. アップストリームリモートを確認する
# Add the upstream remote if not already present
git remote get-url cog-upstream 2>/dev/null || \
  git remote add cog-upstream https://github.com/huytieu/COG-second-brain.git

# Fetch latest
git fetch cog-upstream main --quiet
3. バージョンを比較する
# Local version
cat COG-VERSION

# Upstream version
git show cog-upstream/main:COG-VERSION

バージョンが一致する場合は、最新の状態であることをユーザーに伝えます。

4. 変更内容を表示する

各フレームワークファイルについて、ローカルとアップストリームを比較します。

git diff HEAD..cog-upstream/main -- <file>

フレームワークファイル(安全に更新可能。ユーザーのコンテンツは含まれません):

  • コアドキュメント:README.md、SETUP.md、AGENTS.md、GEMINI.md、CHANGELOG.md、CONTRIBUTING.md
  • スキル:.claude/skills/*/SKILL.md
  • パワー:.kiro/powers/*/POWER.md
  • Gemini:.gemini/commands/*.toml、.gemini/skills/*.md
  • 設定:.claude-plugin/plugin.json、marketplace-entry.json、.gitignore
  • スクリプト:cog-update.sh
  • バージョン:COG-VERSION
5. カスタマイズを検出する

更新する前に、ユーザーがフレームワークファイルをカスタマイズしているか確認します。

# Show how the working tree differs from current upstream HEAD.
# NOTE: this cannot tell a local customization apart from an upstream
# change you have not pulled yet — both show up as a diff. Treat any
# output as "needs a look", not as proof the user edited the file.
git diff cog-upstream/main -- <file>

ファイルに差異がある場合はユーザーに警告し、次の選択肢を提示します。

  • 現在のものを保持:このファイルをスキップします
  • アップストリーム版を使用:新しいバージョンで上書きします
  • バックアップして更新:現在のファイルを<file>.backup-YYYYMMDDとして保存してから更新します
6. 更新を適用する

ユーザーが承認したファイルを更新します。

# Surgical file replacement — no merge, no rebase, zero conflict risk
git checkout cog-upstream/main -- <file>
7. 検証して要約する

更新後、次の内容を提示します。

  • 新しいバージョン番号
  • 更新したすべてのファイルの一覧
  • ユーザーがスキップしたファイルの一覧
  • 更新をコミットするよう提案します。
    git add -A && git commit -m "Update COG framework to v<new-version>"
    

代替方法:シェルスクリプト

AIを使わずに更新したいユーザーには、更新スクリプトについて案内します。

./cog-update.sh           # Interactive
./cog-update.sh --check   # Just check for updates
./cog-update.sh --dry-run # Preview changes
./cog-update.sh --force   # Update everything

重要な注意事項

  • コンテンツフォルダーには一切触れません:00-inbox/、01-daily/、02-personal/、03-professional/、04-projects/、05-knowledge/、06-templates/にはユーザーデータが含まれており、常に無視されます
  • .gitignoreは、コンテンツフォルダーがアップストリームの追跡対象から除外されるよう設計されています(追跡されるのは.gitkeepファイルのみです)
  • 更新スクリプト自体も更新されます:cog-update.shはフレームワークファイルの一覧に含まれています
  • マージコンフリクトは発生しません:git mergeやgit rebaseではなく、git checkoutで対象ファイルのみを置き換えます

コメント