--- name: project-safety description: "Install or reconcile research-project safety rules and protected folder boundaries for data, code, outputs, and paper sources. Use when a project lacks guardrails or is being migrated into the governed structure. Not for auditing the full research scaffold; use $audit-project-research." argument-hint: "[project-path]" --- # Project Safety Skill **CRITICAL RULE: Never delete data or code files. Never.** Use legacy/ folder for originals. Copy, don't move. > Establish safety rules and structures before Claude makes changes to research projects. ## Purpose Based on Scott Cunningham's workflow: prevent accidental data loss by establishing rules and using legacy folders before Claude reorganizes or modifies project files. ## When to Use - Starting a new research project folder - Before asking Claude to reorganize files - When Claude will be running code or modifying data - Setting up a project for collaborative work --- ## Safety Rules Template Add this to any project's CLAUDE.md file: ```markdown ## Safety Rules 1. **Never delete data files** — No .csv, .dta, .xlsx, .parquet, or any data format 2. **Never delete code files** — No .py, .R, .do, .tex, .md or scripts 3. **Use legacy/ folder** — If reorganizing, move originals to legacy/ first 4. **Copy from legacy, don't move** — Always preserve the original ### If you need to reorganize: 1. Create a legacy/ folder if it doesn't exist 2. Move ALL original files into legacy/ 3. Copy (not move) needed files into new structure 4. Never modify anything in legacy/ ``` --- ## Directory Structure After safety setup: ``` project/ ├── CLAUDE.md ← Safety rules + project context ├── README.md ← Project documentation ├── legacy/ ← PROTECTED: original files │ └── [all originals] ├── code/ │ ├── R/ │ ├── python/ │ └── stata/ ├── data/ │ ├── raw/ ← Copied from legacy, never modified │ └── processed/ ├── output/ │ ├── figures/ │ └── tables/ ├── docs/ │ └── manuscript/ └── log/ ← Progress logs ``` --- ## Dry Run Pattern Before Claude executes potentially destructive operations, ask for a preview: > "Tell me what commands you would run to reorganize this folder, but don't execute them yet." > "Show me what files would be affected by this change before you make it." > "Walk me through your plan for cleaning this data before you run any code." **When to use dry runs:** - File operations (move, delete, rename) - Git operations (reset, clean, force push) - Database operations - Batch processing - Any operation affecting multiple files **After reviewing:** - If correct: "Go ahead" - If wrong: "Wait — don't do X, instead Y" --- ## Workflow 1. **Create CLAUDE.md** with safety rules 2. **Create legacy/ folder** 3. **Move all originals to legacy/** 4. **Copy needed files** into new structure 5. **Verify** legacy/ contains everything 6. **Proceed** with project work --- ## Prompt Template ``` I'm starting work on [PROJECT]. Before we do anything: 1. Create a CLAUDE.md with safety rules (never delete data/code, use legacy folder) 2. Create a legacy/ folder 3. Move all existing files into legacy/ 4. Show me the proposed new directory structure before creating it Do a dry run first — tell me what you would do before doing it. ``` --- ## Why This Matters - Claude operates at speed — mistakes happen fast - You can't always verify what Claude will do before it does it - Version control (git, Dropbox) helps but prevention is better - The legacy/ folder is your safety net - Dry runs give you a chance to catch mistakes --- ## Example Use "Set up my new Carbon Markets project with proper safety rules. Create the CLAUDE.md, legacy folder, and recommended directory structure. Show me your plan before executing."