dbt-skillz
Turn your dbt project into an AI agent skill
Compatible with Claude Code, Workshop, Cursor, and any agent that reads Markdown
Your dbt project contains everything an AI needs to work with your data — table structures, column types, transformations, lineage. But that knowledge is scattered across YAML files and SQL that agents can't efficiently parse.
dbt-skillz compiles your dbt project into an agent skill — structured Markdown that AI agents can ingest as context. Now when you ask Claude to write a query or Cursor to debug a transformation, it actually understands your data architecture.
Works with:
- Claude Code — Drop the skill in
.claude/or attach to conversations - Workshop — Add as a project skill for data-aware AI assistance
- Cursor — Include in your codebase context
- Any Markdown-aware agent — Universal compatibility
Quick Start
pip install dbt-skillz
dbt-skillz compile --project-dir ./analytics --output ./docs
Point your agent at the generated SKILL.md and it now understands your entire dbt project.
What You Get
docs/
├── SKILL.md # Agent-ready overview (the main skill file)
└── ref/
├── sources.md # Source tables (databases, schemas, tables)
├── staging.md # Staging models (cleaned & typed)
├── intermediate.md # Intermediate models (business logic)
├── marts.md # Mart tables (analytics-ready)
├── macros.md # dbt macro reference
└── lineage.md # Mermaid dependency graph
The SKILL.md file is the entry point your agent reads. It contains:
- Project architecture overview
- Model inventory by layer
- Navigation links to detailed references
- Mermaid lineage diagram
Why Agent Skills Matter
When you give an AI context about your data, it stops guessing and starts knowing:
| Without dbt-skillz | With dbt-skillz |
|---|---|
| "Write a query for user revenue" | "Write a query using revenue_report mart table, joining on user_id" |
| "Debug this failing model" | "The error is in int_daily_usage which depends on stg_firestore__daily_usage" |
| "What tables are available?" | "Your marts include revenue_report, usage_report, cohort_retention..." |
Use Cases
Claude Code / Cursor Integration
# Generate skill into your project
dbt-skillz compile --project-dir ./analytics --output ./.claude/skills/data-analytics
# Or attach SKILL.md directly in conversations
Claude now knows your table names, column types, and transformation logic before writing a single line of code.
Workshop Integration
Add the generated skill to your Workshop project. When you ask "build a dashboard for monthly revenue", Workshop references your actual revenue_report table with correct column names.
Team Onboarding
New data engineer joining? Point them to SKILL.md for architecture overview and ref/lineage.md to understand dependencies. Same files the AI uses — humans can read them too.
Installation
# pip
pip install dbt-skillz
# uv
uv tool install dbt-skillz
# pipx
pipx install dbt-skillz
CLI Reference
dbt-skillz compile [OPTIONS]
Options:
--project-dir PATH Path to dbt project root [default: current directory]
--output PATH Output directory for generated skill [required]
--extras-dir PATH Additional markdown to include (e.g., workflow docs)
--include-sql Include SQL snippets in model documentation
--skill-name TEXT Override auto-detected project name
--max-skill-lines N Limit SKILL.md size (default: 800)
--help Show this message and exit
Examples
# Basic usage
dbt-skillz compile --project-dir ./analytics --output ./docs
# Generate for Claude Code
dbt-skillz compile --project-dir ./analytics --output ./.claude/skills/analytics
# Include SQL transformations
dbt-skillz compile --project-dir ./analytics --output ./docs --include-sql
# Add custom documentation (workflow guides, conventions, etc.)
dbt-skillz compile --project-dir ./analytics --extras-dir ./skill_extras --output ./docs
Example Output
$ dbt-skillz compile --project-dir ./analytics --output ./docs
Parsing dbt project at ./analytics ...
Found 42 models, 5 sources, 8 macros
staging: 12 models
intermediate: 15 models
marts: 15 models
Generating agent skill to ./docs ...
SKILL.md (318 lines)
ref/sources.md (95 lines)
ref/staging.md (242 lines)
ref/intermediate.md (156 lines)
ref/marts.md (487 lines)
ref/macros.md (84 lines)
ref/lineage.md (203 lines)
Done. Point your agent at SKILL.md to get started.
Contributing
See CONTRIBUTING.md for development setup and guidelines.
License
Apache License 2.0 — See LICENSE for details.
Metadata
Release files for dbt-skillz 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dbt_skillz-0.2.0.tar.gz | 24.6 kB | With provenance | Details for dbt_skillz-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dbt_skillz-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for dbt_skillz-0.2.0-py3-none-any.whl |
Total release size: 47.9 kB
Release files / dbt_skillz-0.2.0.tar.gz
| Download URL | dbt_skillz-0.2.0.tar.gz |
|---|---|
| Size | 24.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d14ceb52f92d0294e4ec543d2d859447ab6bc58bc818d598cc21dfb9195237f
|
|
BLAKE2b-256 checksum How to use checksums |
7f9b0a85147ae5cb395e64e37a269f7452c39a9a5aa7c259d593ffe007a77987
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 5, 2026.
Transparency logRelease files / dbt_skillz-0.2.0-py3-none-any.whl
| Download URL | dbt_skillz-0.2.0-py3-none-any.whl |
|---|---|
| Size | 23.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
266389db9a027aead57269bc3da48342f1442d3c1a26745f8383f471cad07276
|
|
BLAKE2b-256 checksum How to use checksums |
199006f2ed2eec2030c3cf70d4b846282d95f6b53725132fd4e20df9cbf3d3f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 5, 2026.
Transparency logSecurity for dbt-skillz 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for dbt_skillz-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 5, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.