关于 working-in-parallel
这项技能指导在同一仓库中使用 Git worktree 隔离并行 Agent 任务,并涵盖准备、项目设置检查和清理流程。
主要功能
- 01隔离并行工作区
- 02限定使用 `.letta/worktrees/`
- 03执行命令前检查项目设置
- 04提供 worktree 管理命令
- 05检查提交钩子
适用场景
- 01另一 Agent 执行长任务时处理快速修复
- 02并行开发不同功能以避免文件冲突
- 03在同一仓库中同时推进多项工作
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ letta-ai/ letta-code --skill working-in-parallel安装后在 Claude Code 中输入/working-in-parallel确认已加载。
详细介绍
并行工作
当另一个 Agent 在同一目录中工作时,使用 git worktrees 并行工作。
Git worktrees 可将多个分支检出到不同目录中。每个工作树都有各自隔离的文件,同时共享相同的 Git 历史记录和远程连接。一个工作树中的更改不会影响其他工作树,因此并行工作的 Agent 不会互相干扰。
了解更多:Git worktree 文档
重要:工作树位置
所有工作树都必须创建在仓库根目录下的 .letta/worktrees/ 中。 这样可以让工作树井然有序、被 Git 忽略,并且不会放在用户的项目目录中。
创建第一个工作树之前,请确保 .letta/worktrees 已添加到仓库的 .gitignore 中:
# Add to .gitignore if not already present
grep -q '.letta/worktrees' .gitignore 2>/dev/null || echo '.letta/worktrees' >> .gitignore
重要:先检查项目设置
在新工作树中运行任何命令之前,请先检查项目的设置说明:
- 阅读 README——通常包含安装和构建命令
- 检查
claude.md或AGENT.md——查看是否有面向 Agent 的指南 - 查看你的
project记忆块——其中包含已了解的项目偏好
不要假设项目使用的是 npm、bun 还是 pnpm——先检查项目!
快速开始
# Ensure .letta/worktrees is gitignored
grep -q '.letta/worktrees' .gitignore 2>/dev/null || echo '.letta/worktrees' >> .gitignore
# Create worktree with new branch (from repo root)
git worktree add -b fix/my-feature .letta/worktrees/my-feature main
# Work in the worktree
cd .letta/worktrees/my-feature
# CHECK PROJECT SETUP FIRST - then install dependencies
# Read README.md or check project memory block for correct command
bun install # Example - verify this is correct for YOUR project!
# Make changes, commit, push, PR
git add <files>
git commit -m "fix: description"
git push -u origin fix/my-feature
gh pr create --title "Fix: description" --body "## Summary..."
# Clean up when done (from repo root)
git worktree remove .letta/worktrees/my-feature
关键命令
git worktree add -b <branch> .letta/worktrees/<name> main # Create with new branch
git worktree add .letta/worktrees/<name> <existing-branch> # Use existing branch
git worktree list # Show all worktrees
git worktree remove .letta/worktrees/<name> # Remove worktree
适用场景
- 另一个 Agent 正在当前目录中工作
- 一个会话中有长时间运行的任务,需要在另一个会话中快速修复
- 用户希望在 Agent 处理单独功能的同时继续开发
工作树中的提交前钩子
工作树共享 .git,但根据项目设置,提交前钩子可能需要初始化。创建工作树并安装依赖后,请确认钩子已启用,再进行提交。如有需要,请查阅项目文档或运行项目的钩子设置命令。
提示
- 始终使用
.letta/worktrees/——绝不要在此目录之外创建工作树 - 安装前先查看项目设置文档——README、claude.md、项目记忆块
- 清晰命名工作树:
.letta/worktrees/feature-auth、.letta/worktrees/bugfix-123 - 使用项目的包管理器安装依赖(先检查!)
- 删除工作树之前先推送更改
替代方案:克隆仓库
有些用户更喜欢多次克隆仓库(gh repo clone owner/repo project-01),这样思路更简单。此方法会占用更多磁盘空间,但能提供完全隔离。如果用户对工作树表示困惑或明确更喜欢克隆,请改用这种方式。
评论
支持 Markdown