Invoked at the start of every new research project to create a consistent directory structure.
/newproject my-project-name
my-project-name/
├── CLAUDE.md # Research rules & estimation philosophy (permanent)
├── README.md # This file — project-specific notes
├── code/
│ ├── R/ # R scripts
│ ├── python/ # Python scripts
│ └── stata/ # Stata do-files
├── data/
│ ├── raw/ # Original source data (never modify these)
│ └── clean/ # Cleaned and merged datasets
├── output/
│ ├── tables/ # Generated tables (LaTeX, CSV)
│ └── figures/ # Generated figures (PDF, PNG)
├── documents/ # Outside papers and PDFs (split with /split-pdf)
├── decks/ # Beamer presentations (rhetoric of decks philosophy)
├── notes/ # Scratch notes, ideas, miscellaneous
└── progress_logs/ # Session logs for continuity across Claude conversations
Every project has both a CLAUDE.md and a README.md. They serve different roles:
-
CLAUDE.mdis copied from a permanent template at~/mixtapetools/claude/CLAUDE.md. It contains research rules that apply across all sessions: estimation philosophy ("design before results"), coding conventions, collaborator information, and key methodological decisions. It is the institutional memory of the project — the file that keeps Claude aligned across conversations. -
README.mdis auto-generated by this command and then edited as the project evolves. It is project-specific: what the research question is, who's involved, current status, and how files are organized. It's the file a human reads to understand the project.
The progress_logs/ directory solves a real problem: Claude Code sessions don't persist. If a session crashes, times out, or you start fresh, the progress log tells the next session exactly where you left off. Logs are dated (YYYY-MM-DD_description.md) and maintained regularly.
-
documents/holds outside PDFs — papers you're reading, referee reports, data documentation. These are candidates for the/split-pdfskill, which splits large PDFs into safe 4-page chunks for reading. -
decks/holds Beamer presentations built following the rhetoric of decks philosophy (~/mixtapetools/presentations/rhetoric_of_decks.md). Titles are assertions, one idea per slide, beauty is function.
data/raw/is read-only by convention. Original source data goes here and is never modified.data/clean/holds everything that's been transformed, merged, or constructed. Scripts incode/take raw data and produce clean data.
This command lives at ~/mixtapetools/.claude/commands/newproject.md and is also available as a skill at ~/mixtapetools/.claude/skills/newproject/SKILL.md. Both are identical in behavior.
To make it available in any project, ensure ~/mixtapetools is in your Claude Code skill search path, or symlink the .claude directory.