名称: scratch-workspace 用户可调用: false 描述: 在创建临时文件、草稿、实验或任何不应提交到版本控制的内容时使用。确保正确放置在 .claude/.scratch 目录中,并配置 gitignore。 允许的工具:
- 读取
- 写入
- 编辑
- Bash
- Glob
临时工作空间管理
此技能涵盖正确使用 .claude/.scratch/ 目录进行临时、探索性和草稿工作。
目的
临时工作空间提供一个被 gitignore 的位置,用于:
- 草稿实现
- 实验代码
- 临时测试文件
- 规划文档
- 任何不应提交的工作进行中内容
设置检查清单
在创建临时文件之前:
-
确保目录存在
mkdir -p .claude/.scratch -
验证 gitignore
检查
.gitignore是否包含:.claude/.scratch如果缺失,添加它:
echo '.claude/.scratch' >> .gitignore
目录结构
按目的组织临时文件:
.claude/
├── .scratch/
│ ├── drafts/ # 工作进行中实现
│ │ └── feature-x.ts
│ ├── experiments/ # 探索性代码
│ │ └── perf-test.js
│ ├── notes/ # 规划和笔记
│ │ └── architecture.md
│ └── temp/ # 真正临时文件
└── settings.json # Claude 设置(非临时)
最佳实践
做
- 创建子目录以组织
- 使用描述性文件名
- 工作完成后清理
- 将最终代码移动到适当的项目位置
不做
- 在临时文件中放置敏感数据(仍在磁盘上)
- 使用临时文件存放应提交的文件
- 无限期保留过时临时文件
- 将临时文件放在
.claude/.scratch/之外
工作流
开始探索性工作
# 创建临时区域
mkdir -p .claude/.scratch/experiments
# 进行实验
# ... 在 .claude/.scratch/experiments/ 中创建文件
提升为真实代码
当临时工作准备就绪时:
- 审查并优化代码
- 移动到合适的项目位置
- 删除临时版本
- 提交提升的代码
清理
定期清理临时文件:
# 查看临时文件中的内容
ls -la .claude/.scratch/
# 删除旧实验
rm -rf .claude/.scratch/experiments/old-test/
与其他工具的集成
与 Git
.claude/.scratch 目录被 gitignore,因此:
git status不会显示临时文件git add .不会暂存临时文件- 临时文件不会出现在提交中
与 IDE
大多数 IDE 会在文件树中显示 .claude/.scratch。您可以:
- 添加到 IDE 的排除模式
- 保持可见以便轻松访问
- 使用 IDE 的“标记为排除”功能
常见模式
草稿实现
.claude/.scratch/drafts/
└── new-feature/
├── index.ts
├── types.ts
└── test.ts
性能实验
.claude/.scratch/experiments/
└── perf-comparison/
├── approach-a.ts
├── approach-b.ts
└── benchmark.ts
架构笔记
.claude/.scratch/notes/
└── refactor-plan.md
故障排除
临时文件出现在 git status 中
# 验证 gitignore 条目
grep -r ".claude/.scratch" .gitignore
# 如果缺失,添加它
echo '.claude/.scratch' >> .gitignore
目录不存在
mkdir -p .claude/.scratch
意外提交了临时文件
# 从跟踪中移除但本地保留
git rm -r --cached .claude/.scratch
git commit -m "chore: 从跟踪中移除临时文件"