update-cog について
公式の上流リポジトリからCOGのフレームワークファイルを更新するスキルです。バージョンとローカルとの差分を確認し、個人データのフォルダーを変更せずに進めます。
主な機能
- 01ローカルと上流のバージョン確認
- 02フレームワークファイルの差分比較
- 03ローカル差分を確認用に提示
- 04承認済みファイルのみ置換
- 05スクリプトによる更新 विकल्प
活用シーン
- 01COGの新バージョン確認
- 02上流のスキルや機能の取得
- 03ドキュメント、設定、スクリプトの更新
- 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で対象ファイルのみを置き換えます
コメント
Markdown 対応