Research Project Template
Automatically create new research projects with the standard two-folder architecture.
When to Use
Use this skill when the user:
- Wants to create a new research project
- Asks to set up a new paper/analysis
- Mentions starting a new research project
- Needs a project structure for academic research
Architecture
The template creates two folders:
Git Repository (
ProjectName/):Code/- Analysis scripts (Julia, Python, R)Figures/- Final figures for publicationTables/- Final tables for publicationPaper/- LaTeX documentsSlides/- Presentations- Symlinks to shared folders
Shared Folder (
ProjectName-Share/):Notes/- Research notes, working journalsData/- Raw and processed datasetsOutput/- Intermediate results
This separation allows Git to track code while Dropbox handles large data files.
Workflow
Step 1: Get Project Details
Ask the user for:
- Project name (e.g.,
IntermediaryDemand) - Location for the project (defaults to config or current directory)
Step 2: Check Configuration
Read config from shared config loader to get:
template_path: Path to ResearchProjectTemplatedefault_share_location: Where to create projects
from _config_loader import load_config
config = load_config('project-setup')
template_path = config.get('template_path')
share_location = config.get('default_share_location', '.')
Step 3: Run Creation Script
Execute the project creation script:
cd /path/to/target/location
bash <skill-dir>/scripts/create_project.sh "ProjectName"
Replace <skill-dir> with the directory that contains this SKILL.md.
The script will:
- Create
ProjectName-Share/with Notes, Data, Output directories - Create
ProjectName/with Code, Figures, Tables, Paper, Slides - Set up Python environment with uv
- Create symlinks between the two folders
- Initialize git repository
- Copy the template's guidance/config files, including
.claude/and theAGENTS.mdcompatibility link when present
Step 4: Post-Creation
Inform the user:
- Project structure created successfully
- How to share with collaborators (Dropbox for Share folder, Git for code)
- Next steps: start coding in
Code/directory
Configuration
The plugin reads from .claude/agent-contract.yaml or ~/.config/agent-contract/config.yaml:
project-setup:
template_path: "/path/to/ResearchProjectTemplate"
default_share_location: "~/Dropbox/package_dev"
Example
User: "I want to create a new research project called RiskPremia"
Workflow:
- Check config for template_path and default_share_location
- Run:
bash create_project.sh RiskPremia - Report success with project structure
Notes
- The script requires macOS (uses
sed -i ''syntax) - Requires
uvfor Python environment management (installed via Homebrew) - Creates initial git commit automatically
- Copies the template's assistant guidance/config files into the new project