帮助开发者安全创建独立的 Git worktree 并智能选择目录
该技能是开源的 prompt-only 文档型技能,不要求密钥,也未声明向远程服务发送数据,整体风险较低。需留意的是其说明会引导本地执行 git、包管理器与测试命令,并可能修改 .gitignore、创建 worktree 及提交变更。
材料明确标注无需密钥或环境变量,README 也未要求输入 token、API key 或账号凭证,未见明显凭证收集、存储或滥用路径。
未声明任何远程端点,技能本身为 prompt-only 文档。虽然文档中的 npm/pip/go 等安装命令在实际执行时可能访问常规软件源,但材料未显示将用户数据外发到第三方或不明主机。
README 明确指导执行本地 shell/git 命令,如 ls、grep、git worktree add、npm install、cargo build、pytest 等;若被采纳,会在本机触发进程、安装依赖并运行测试,但这是文档引导的常规本地开发操作,未见越权或隐藏执行迹象。
文档会读取仓库与本地文件(如 .gitignore、CLAUDE.md),并可能写入 .gitignore、创建 worktree 目录、切换目录及提交变更;访问范围主要限于当前项目及用户主目录下的 ~/.clank-worktrees,未见申请与功能无关的过度数据权限。
来源为 GitHub 开源仓库,具备可审计性,这是正面因素;但仓库 star 为 0、维护状态未知、许可证未声明,社区验证与持续维护信号较弱,因此供应链信任度需保守看待。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "Using Git Worktrees" 技能: 1. 下载 https://raw.githubusercontent.com/obra/clank/main/skills/collaboration/using-git-worktrees/SKILL.md 2. 保存为 ~/.claude/skills/using-git-worktrees/SKILL.md 3. 装好后重载技能,告诉我可以用了
请为当前仓库创建一个新的 git worktree,用于开发 feature/login,目录名要清晰,并先检查是否存在同名分支或目录冲突。
返回安全检查结果,并创建指向新分支的独立 worktree 目录。
基于 main 创建一个 hotfix/payment-fix 的临时 git worktree,放到合适的目录下,并验证当前仓库状态是否适合创建。
生成适合热修复的独立工作目录,并确认创建过程安全无冲突。
请根据分支名称建议一个规范的 git worktree 目录路径,用于 feature/report-export,并说明为什么这样命名更易管理。
给出清晰的目录命名方案,并说明其在多分支开发中的管理优势。
Git worktrees create isolated workspaces sharing the same repository, allowing work on multiple branches simultaneously without switching.
Core principle: Systematic directory selection + safety verification = reliable isolation.
Announce at start: "I'm using the Using Git Worktrees skill to set up an isolated workspace."
Follow this priority order:
# Check in priority order
ls -d .worktrees 2>/dev/null # Preferred (hidden)
ls -d worktrees 2>/dev/null # Alternative
If found: Use that directory. If both exist, .worktrees wins.
grep -i "worktree.*director" CLAUDE.md 2>/dev/null
If preference specified: Use it without asking.
If no directory exists and no CLAUDE.md preference:
No worktree directory found. Where should I create worktrees?
1. .worktrees/ (project-local, hidden)
2. ~/.clank-worktrees/<project-name>/ (global location)
Which would you prefer?
MUST verify .gitignore before creating worktree:
# Check if directory pattern in .gitignore
grep -q "^\.worktrees/$" .gitignore || grep -q "^worktrees/$" .gitignore
If NOT in .gitignore:
Per Jesse's rule "Fix broken things immediately":
Why critical: Prevents accidentally committing worktree contents to repository.
No .gitignore verification needed - outside project entirely.
project=$(basename "$(git rev-parse --show-toplevel)")
# Determine full path
case $LOCATION in
.worktrees|worktrees)
path="$LOCATION/$BRANCH_NAME"
;;
~/.clank-worktrees/*)
path="~/.clank-worktrees/$project/$BRANCH_NAME"
;;
esac
# Create worktree with new branch
git worktree add "$path" -b "$BRANCH_NAME"
cd "$path"
Auto-detect and run appropriate setup:
# Node.js
if [ -f package.json ]; then npm install; fi
# Rust
if [ -f Cargo.toml ]; then cargo build; fi
# Python
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
if [ -f pyproject.toml ]; then poetry install; fi
# Go
if [ -f go.mod ]; then go mod download; fi
Run tests to ensure worktree starts clean:
# Examples - use project-appropriate command
npm test
cargo test
pytest
go test ./...
If tests fail: Report failures, ask whether to proceed or investigate.
If tests pass: Report ready.
Worktree ready at <full-path>
Tests passing (<N> tests, 0 failures)
Ready to implement <feature-name>
| Situation | Action |
|---|---|
.worktrees/ exists | Use it (verify .gitignore) |
worktrees/ exists | Use it (verify .gitignore) |
| Both exist | Use .worktrees/ |
| Neither exists | Check CLAUDE.md → Ask user |
| Directory not in .gitignore | Add it immediately + commit |
| Tests fail during baseline | Report failures + ask |
| No package.json/Cargo.toml | Skip dependency install |
Skipping .gitignore verification
Assuming directory location
Proceeding with failing tests
Hardcoding setup commands
…
先用伪代码梳理方案与迭代思路,再高效转成可执行代码。
帮助用户检索过往 Claude Code 对话,快速找回事实、决策与上下文线索。
帮助用户用接口封装实现细节,从业务层面设计与理解系统
帮助开发者保持类接口抽象一致,避免混杂序列化、持久化等无关职责。
为工程师生成分步实施计划,帮助在陌生代码库中快速落地任务。
帮助你在实施前先比较2到3种方案,选出更优设计与执行路径。
帮助你使用 Git worktree 创建相互隔离的并行工作区。
为新功能开发创建隔离工作区,避免影响当前代码并便于并行实现。
自动创建和管理 Git worktree,并协助装依赖与发起 PR。
帮助开发者并行管理 Git 工作树,同时处理多个分支而无需频繁切换或暂存改动。
自动解决 Git 合并冲突,让代理只处理复杂冲突片段。
帮助你创建、切换并检查代码分支,确保实现前遵循正确分支策略。