Branch Worktree Guardian - Git 分支和 Worktree 管理工具. Use for: (1) 新開發需求時建立隔離分支, (2) 使用 worktree 機制避免分支衝突, (3) 驗證當前工作分支正確性, (4) 預防在錯誤分支上開發
Git 分支和 Worktree 管理工具,用於預防在錯誤分支上開發的問題。
在多 AI Agent 同時開發或複雜的分支管理場景中,容易發生以下問題:
# 標準流程
1. 確認 main 分支為最新
2. 創建 feature 分支
3. 創建 worktree 到獨立目錄
4. 切換到 worktree 目錄開發
保護分支列表:
mainmasterdeveloprelease/*在這些分支上嘗試編輯時,Hook 會詢問是否繼續或建立新分支。
格式:{project-name}-{branch-short-name}
範例:
book_overview_app-5w1h-skillbook_overview_app-branch-worktreebook_overview_app-ui-unification# 1. 確保 main 是最新的
git checkout main
git pull origin main
# 2. 創建 feature 分支
git checkout -b feat/your-feature-name
# 3. 創建 worktree(在專案同級目錄)
git worktree add ../project-name-feature-name feat/your-feature-name
# 4. 切換到 worktree 目錄
cd ../project-name-feature-name
# 5. 確認分支正確
git branch --show-current
git worktree list
# 移除 worktree(保留分支)
git worktree remove /path/to/worktree
# 移除 worktree 並刪除分支(謹慎使用)
git worktree remove /path/to/worktree
git branch -d branch-name
# 使用 SKILL 腳本
python .claude/skills/branch-worktree-guardian/scripts/verify_branch.py
# 手動檢查
git branch --show-current
git worktree list | grep $(pwd)
創建新的 feature 分支和對應的 worktree。
# 基本用法
python .claude/skills/branch-worktree-guardian/scripts/create_feature_worktree.py \
--branch feat/new-feature \
--worktree ../project-new-feature
# 從特定基礎分支創建
python .claude/skills/branch-worktree-guardian/scripts/create_feature_worktree.py \
--branch feat/new-feature \
--worktree ../project-new-feature \
--base develop
驗證當前分支是否適合編輯。
# 檢查當前目錄
python .claude/skills/branch-worktree-guardian/scripts/verify_branch.py
# 檢查指定目錄
python .claude/skills/branch-worktree-guardian/scripts/verify_branch.py --path /path/to/project
在 Edit 或 Write 工具執行前自動檢查:
Session 啟動時提醒:
常見的分支管理和 worktree 操作場景包括:
詳見:常見情境處理 (common-scenarios.md)
Hook 整合和分支保護規則的配置說明:
重要:本 skill 透過
uv tool install安裝為獨立 CLI,source(本目錄)與 installed(~/.local/share/uv/tools/<package>/)是兩份獨立 Python package。修改 source 後若未 reinstall,CLI 仍使用 stale installed 版本,新增的函式會 AttributeError 或被 hasattr 包裝靜默吞掉(W11-037 根因)。
修復指令:
cd .claude/skills/<本 skill 目錄> && uv tool install . --force --reinstall
自動偵測:每次 SessionStart 由 uv-tool-staleness-check-hook 比對 source vs installed SHA256,偵測 stale 時提示修復指令。對應 ticket-skill 本身另有 ticket-reinstall-hook 自動 reinstall。
版本紀錄在同目錄的 CHANGELOG.md。