Initialize a new data engineering project with the complete folder structure, dbt configuration, Python virtual environment, and CLAUDE.md for agentic development. Use when starting a new analytics/BI project, creating a data pipeline repository, or scaffolding a dbt + Power BI project from scratch. Sets up everything needed for personal agents and skills to start implementing pipelines.
Initialize a complete data engineering project with the standard folder structure, environment setup, and agentic development configuration.
This skill creates a fully configured project structure for dbt + SQL Server + Power BI development workflows. It sets up:
Run the initialization script interactively:
python "${CLAUDE_PLUGIN_ROOT}/skills/dbt-project-initializer/scripts/initialize_project.py" --target "C:\path\to\new\project"
The script will prompt for:
Provide all parameters via command line:
python "${CLAUDE_PLUGIN_ROOT}/skills/dbt-project-initializer/scripts/initialize_project.py" \
--target "C:\path\to\new\project" \
--name "sales_analytics" \
--database "SalesDB" \
--schema "raw" \
--description "Sales performance analytics pipeline"
| Parameter | Required | Default | Description |
|---|---|---|---|
--target | Yes | - | Target directory for the new project |
--name | No | Prompted | Project name (lowercase, underscores) |
--database | Yes | — | SQL Server database name |
--schema | No | "raw" | Schema for source data loaded via sql-executor |
--dbt-schema | No | "dbo" | dbt default schema prefix (see Schema Convention below) |
--description | No | Prompted | Project description |
--skip-venv | No | False | Skip virtual environment creation |
--skip-deps | No | False | Skip dependency installation |
--force, -f | No | False | Force initialization even if target directory is not empty |
The project uses two schema parameters:
--schema (default: raw): Where sql-executor loads source CSV data
raw schema (e.g., raw.carbon_intensity)--dbt-schema (default: dbo): dbt's default schema prefix
dbo_stagingdbo_intermediatedbo_analyticsFinal Schema Structure:
raw # Source data (sql-executor)
dbo_staging # Staging views (stg_*)
dbo_intermediate # Intermediate models (int_*)
dbo_analytics # Marts - facts and dimensions (fct_*, dim_*)
ProjectName/
├── 0 - Architecture Setup/
│ ├── setup_environment.ps1 # Python environment setup
│ ├── project-config.yml # Project configuration
│ └── README.md # Setup documentation
├── 1 - Documentation/ # Project docs (empty)
├── 2 - Source Files/ # CSV source data (empty)
├── 3 - Data Pipeline/
│ ├── dbt_project.yml # dbt project config
│ ├── packages.yml # dbt packages (dbt_utils)
│ ├── profiles.yml.example # Profile template
│ ├── models/
│ │ ├── staging/ # stg_* models
│ │ ├── intermediate/ # int_* models
│ │ └── marts/ # dim_* and fct_* models
│ ├── tests/ # Custom tests
│ ├── macros/ # Custom macros
│ ├── seeds/ # Seed data
│ └── snapshots/ # SCD snapshots
├── 4 - Semantic Layer/ # Power BI TMDL (empty)
├── 5 - Report Building/ # Power BI reports (empty)
├── 6 - Agentic Resources/
│ └── reference/ # Copied from skill templates
│ ├── sql-style-guide.md
│ ├── testing-patterns.md
│ ├── tmdl-best-practices-guide.md
│ └── examples/
├── 7 - Data Exports/ # Query results (empty)
├── .venv/ # Python virtual environment
├── .gitignore # Git ignore file
└── CLAUDE.md # Project-specific agent config
The skill automatically creates a Python 3.12 virtual environment and installs:
dbt Dependencies:
Data Processing:
After initialization, complete these steps:
Configure dbt profile:
cd "3 - Data Pipeline"
cp profiles.yml.example profiles.yml
# Edit profiles.yml with your connection details
dbt debug
Install dbt packages:
dbt deps
Load source data:
/sql-executor skill to load into databaseStart development:
The generated CLAUDE.md configures the project for these agents:
| Agent | Purpose |
|---|---|
| dbt-staging-builder | Create stg_* models from sources |
| dbt-dimension-builder | Create dim_* tables |
| dbt-fact-builder | Create fct_* tables with incremental |
| dbt-test-writer | Add comprehensive dbt tests |
| dbt-pipeline-validator | End-to-end validation |
| business-analyst | Requirements gathering |
Template files are located in the skill's templates/ directory:
CLAUDE.md.template - Project CLAUDE.md templatedbt_project.yml.template - dbt project templatesetup_environment.ps1 - Environment setup scriptgitignore.template - .gitignore templateEdit these to customize default configurations.
The skill copies reference materials from Agents/reference/ in this repository. To add new reference materials:
Agents/reference/# Install Python 3.12
winget install Python.Python.3.12
# Verify installation
py -3.12 --version
# Force recreate
.\0 - Architecture Setup\setup_environment.ps1 -Force
# Skip venv, just update packages
.\0 - Architecture Setup\setup_environment.ps1 -SkipVenvCreation
cd "3 - Data Pipeline"
dbt debug
# Check ODBC driver
python -c "import pyodbc; print(pyodbc.drivers())"