Project Initialization Skill
Core Principle
Every project starts with a clear architectural foundation. The initial structure determines the trajectory of all future work. Get the foundation right, and everything built on it will be sound.
Initialization Protocol
Phase 0: Research
Before creating any files — research is mandatory:
- •Research current best practices for this project type using Tier 1 and Tier 2 sources
- •Find canonical project structures and tooling choices in authoritative repositories
- •Identify what toolchain is current and well-supported
- •Verify all choices against official documentation and community consensus
Phase 1: Foundation Design
Define the architectural foundation:
- •What problem does this project solve at its core?
- •What is the right level of complexity for the initial structure?
- •What conventions will this project follow?
- •What are the non-negotiable quality requirements?
Phase 2: Create Structure
Structure emerges from research, not from static templates. Based on Phase 0 findings, create the project structure that matches current best practices for the specific language, framework, and project type.
Every project includes at minimum:
- •README.md — what this project does, how to use it, how to develop
- •CLAUDE.md — project context, architecture, commands, conventions
- •.gitignore — appropriate patterns for the project type
- •Test infrastructure — include test setup from the start. Apply the TDD skill's setup guidance for the chosen language/framework.
- •Language-specific config — package.json, pyproject.toml, Cargo.toml, etc.
Phase 3: Initialize
- •Create the project directory
- •Initialize git
- •Create all files with meaningful content (not boilerplate)
- •Language-specific initialization
- •Initial commit
Phase 4: Verify
- •README explains what and why
- •CLAUDE.md provides useful context
- •.gitignore covers common patterns
- •Git is initialized with clean history
- •Dependencies are declared
- •Basic structure exists
- •Can run/build without errors