Use when creating one-off scripts, debug tools, analysis reports, or temporary documentation - ensures work is saved to persistent .scratch areas with proper documentation, organization, and executable patterns
View on GitHubplugins/dev-tools/skills/working-in-scratch-areas/SKILL.md
February 3, 2026
Select agents to install to:
npx add-skill https://github.com/technicalpickles/pickled-claude-plugins/blob/main/plugins/dev-tools/skills/working-in-scratch-areas/SKILL.md -a claude-code --skill working-in-scratch-areasInstallation paths:
.claude/skills/working-in-scratch-areas/# Working in Scratch Areas ## Overview Helps Claude save one-off scripts and documents to persistent scratch areas instead of littering repositories with temporary files or using `/tmp`. **Core principles:** - Temporary work deserves permanent storage - Scripts and documents should be documented, organized, and preserved - Never use `/tmp` or project `tmp/` directories for these files - Files belong in `.scratch/` subdirectories with context **Announce at start:** "I'm using the working-in-scratch-areas skill." ## When to Use Use this skill when creating: - One-off debug scripts - Analysis or investigation tools - Temporary documentation or reports - Quick test scripts - Data extraction utilities - Monitoring or diagnostic tools Don't use for: - Production code that belongs in the main codebase - Configuration files that should be committed - Tests that belong in the test suite - Documentation that should be in docs/ **NEVER use `/tmp` or project `tmp/` directories.** Always use `.scratch/` for temporary work. ## Setup Workflow ### Check for Existing Scratch Area First, check if a scratch area already exists: ```bash test -L .scratch && echo "Scratch area exists" || echo "No scratch area" ``` If the symlink exists, verify gitignore is configured (see below), then you're ready to use it. ### Setting Up New Scratch Area When no scratch area exists: 1. **Detect:** "I notice this repository doesn't have a scratch area set up." 2. **Check CLAUDE.md:** Check if scratch areas location is configured in `~/.claude/CLAUDE.md` 3. **If not configured:** Ask user where they want scratch areas with AskUserQuestion tool 4. **Run setup script** with the chosen location 5. **Optionally save** the location to CLAUDE.md for future use **Setup Steps:** ```bash # 1. Get repo root git rev-parse --show-toplevel # Output: /Users/josh/workspace/some-repo # 2. Check if configured in CLAUDE.md grep -i "scratch areas:" ~/.claude/CLAUDE.md # 3a. If configured, run setup (