From scratch
Sets up and manages .claude/.scratch workspace for temporary drafts, experiments, and gitignored files with organization, best practices, and promotion workflows.
How this skill is triggered — by the user, by Claude, or both
Slash command
/scratch:scratch-workspaceThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill covers proper use of the `.claude/.scratch/` directory for temporary, exploratory, and draft work.
This skill covers proper use of the .claude/.scratch/ directory for temporary, exploratory, and draft work.
The scratch workspace provides a gitignored location for:
Before creating scratch files:
Ensure directory exists
mkdir -p .claude/.scratch
Verify gitignore
Check .gitignore contains:
.claude/.scratch
If missing, add it:
echo '.claude/.scratch' >> .gitignore
Organize scratch files by purpose:
.claude/
├── .scratch/
│ ├── drafts/ # Work-in-progress implementations
│ │ └── feature-x.ts
│ ├── experiments/ # Exploratory code
│ │ └── perf-test.js
│ ├── notes/ # Planning and notes
│ │ └── architecture.md
│ └── temp/ # Truly temporary files
└── settings.json # Claude settings (NOT scratch)
.claude/.scratch/# Create scratch area
mkdir -p .claude/.scratch/experiments
# Work on experiment
# ... create files in .claude/.scratch/experiments/
When scratch work is ready:
Periodically clean scratch:
# Review what's in scratch
ls -la .claude/.scratch/
# Remove old experiments
rm -rf .claude/.scratch/experiments/old-test/
The .claude/.scratch directory is gitignored, so:
git status won't show scratch filesgit add . won't stage scratch filesMost IDEs will show .claude/.scratch in the file tree. You can:
.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
# Verify gitignore entry
grep -r ".claude/.scratch" .gitignore
# If missing, add it
echo '.claude/.scratch' >> .gitignore
mkdir -p .claude/.scratch
# Remove from tracking but keep locally
git rm -r --cached .claude/.scratch
git commit -m "chore: remove scratch files from tracking"
npx claudepluginhub thebushidocollective/han --plugin scratchDefines conventions for .scratch/ directory holding disposable smoke tests, API probes, integration checks, and markdown notes during task execution. Use project test runners; never commit.
Creates, lists, and cleans up Git worktrees for parallel Claude Code sessions on separate branches, enabling conflict-free multi-feature development.
Creates and manages multi-repo workspaces for AI coding assistants (Claude Code, Codex) by unifying configs from sibling git repos and supporting worktree-based feature branches.