Project Setup Skill
When to Use This Skill
Activate this skill when:
- •User asks to "set up a new project"
- •User asks to "create a CLAUDE.md"
- •User asks to "initialize Claude Code" for a project
- •User asks to "scaffold" a project
- •User wants to add Claude Code support to existing code
Do NOT use for:
- •General coding questions
- •Editing existing CLAUDE.md (see optimize-claude-md skill)
- •Running or testing projects
Prerequisites
- •Write access to target directory
- •For existing projects: ability to read config files (package.json, pyproject.toml, etc.)
Instructions
Step 1: Determine Project Type
Analyze the target directory:
bash
# Check for Node.js/TypeScript ls package.json 2>/dev/null && echo "Node.js project" # Check for Python ls pyproject.toml requirements.txt setup.py 2>/dev/null && echo "Python project" # Check for Go ls go.mod 2>/dev/null && echo "Go project" # Check for Rust ls Cargo.toml 2>/dev/null && echo "Rust project"
If no config files exist, ask the user what type of project they want to create.
Step 2: Gather Project Information
For new projects, ask:
- •Project name
- •Project description
- •Primary language/framework
- •Any special requirements
For existing projects, extract from:
- •README.md (description)
- •Package config (dependencies, scripts)
- •Existing folder structure
Step 3: Generate CLAUDE.md
Use the appropriate template:
- •React/TypeScript →
/templates/claude-md/react-typescript.md - •Python API →
/templates/claude-md/python-api.md - •Full Stack →
/templates/claude-md/fullstack.md - •Other →
/templates/claude-md/minimal.md
Fill in all {{PLACEHOLDER}} values with actual project information.
Step 4: Create Slash Commands
Set up .claude/commands/ with useful commands:
Essential commands:
- •
review.md- Code review - •
test-and-commit.md- Quality check and commit
Copy from /templates/commands/ and customize.
Step 5: Verify Setup
- •Ensure CLAUDE.md is valid markdown
- •Check that referenced commands/paths exist
- •Test that any scripts are executable
Step 6: Provide Next Steps
Tell the user:
- •How to use the generated configuration
- •How to customize further
- •Recommended MCP servers for their stack
Examples
Example 1: New React Project
User says: "Set up a new React TypeScript project called my-app"
Actions:
- •Create
my-app/directory - •Run
npm create vite@latest . -- --template react-ts - •Generate CLAUDE.md from react-typescript template
- •Create
.claude/commands/with review.md and test-and-commit.md
Result:
code
my-app/ ├── CLAUDE.md ├── .claude/ │ └── commands/ │ ├── review.md │ └── test-and-commit.md ├── src/ ├── package.json └── ...
Example 2: Existing Python Project
User says: "Add Claude Code support to my Django project"
Actions:
- •Read existing pyproject.toml and requirements.txt
- •Analyze project structure
- •Generate CLAUDE.md tailored to Django
- •Add relevant slash commands
Verification
After setup is complete:
- •Read CLAUDE.md - Ensure it's coherent and accurate
- •Check commands - Verify slash commands are recognized
- •Test a command - Try
/project:reviewor similar - •Run verification - Execute any verification commands listed
Reference Files
- •Templates:
/templates/claude-md/ - •Command templates:
/templates/commands/ - •Best practices:
/docs/best-practices.md