Agent skill
project-setup
Set up new Claude Code projects with CLAUDE.md, slash commands, and proper structure
Install this agent skill to your Project
npx add-skill https://github.com/fltman/project-scaffolder/tree/main/skills/project-setup
SKILL.md
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:
# 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 reviewtest-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:
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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
migrate-to-shoehorn
Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
obsidian-vault
Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.
scaffold-exercises
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
git-guardrails-claude-code
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
handoff
Compact the current conversation into a handoff document for another agent to pick up.
Didn't find tool you were looking for?