Agent skill

dbt-expert

dbt best practices for models, tests, documentation, and project organization.

Stars 0
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/timequity/vibe-coder/tree/main/skills/data/dbt-expert

SKILL.md

dbt Expert

Project Structure

dbt_project/
├── models/
│   ├── staging/        # 1:1 with sources
│   │   └── stg_*.sql
│   ├── intermediate/   # Business logic
│   │   └── int_*.sql
│   └── marts/          # Final tables
│       ├── dim_*.sql
│       └── fct_*.sql
├── tests/
├── macros/
├── seeds/
└── dbt_project.yml

Model Patterns

Staging

sql
-- models/staging/stg_orders.sql
with source as (
    select * from {{ source('raw', 'orders') }}
),

renamed as (
    select
        id as order_id,
        customer_id,
        cast(amount as decimal(10,2)) as order_amount,
        created_at::timestamp as ordered_at
    from source
)

select * from renamed

Intermediate

sql
-- models/intermediate/int_orders_by_customer.sql
select
    customer_id,
    count(*) as order_count,
    sum(order_amount) as total_amount,
    min(ordered_at) as first_order_at
from {{ ref('stg_orders') }}
group by 1

Mart

sql
-- models/marts/dim_customer.sql
select
    c.customer_id,
    c.name,
    c.email,
    o.order_count,
    o.total_amount,
    o.first_order_at
from {{ ref('stg_customers') }} c
left join {{ ref('int_orders_by_customer') }} o using (customer_id)

Testing

yaml
# schema.yml
models:
  - name: stg_orders
    columns:
      - name: order_id
        tests:
          - unique
          - not_null
      - name: order_amount
        tests:
          - not_null
          - dbt_utils.accepted_range:
              min_value: 0

Documentation

yaml
models:
  - name: dim_customer
    description: "Customer dimension with order metrics"
    columns:
      - name: customer_id
        description: "Primary key"
      - name: total_amount
        description: "Lifetime order value"

Expand your agent's capabilities with these related and highly-rated skills.

timequity/vibe-coder

mvp-help

Help and documentation for Idea to MVP plugin. Use when: user asks about building MVPs, vibe coding, or available commands. Triggers: "help", "what can you do", "mvp help", "how to build".

0 0
Explore
timequity/vibe-coder

verification-gate

Hidden quality gate that runs before showing "Done!" to user - ensures all tests pass, build succeeds, and requirements met before claiming completion

0 0
Explore
timequity/vibe-coder

brainstorming

Refine ideas into detailed designs through Socratic dialogue. Use when: user has rough idea, needs to clarify requirements, explore approaches. Triggers: "brainstorm", "discuss idea", "I'm thinking about", "what if", "help me think through", "explore options", "/brainstorm".

0 0
Explore
timequity/vibe-coder

subagent-creator

Guide for creating effective subagents (custom agents). Use when users want to create a new subagent that can be dispatched via Task tool for autonomous work. Covers frontmatter fields (name, description, tools, model, permissionMode, skills), prompt design, and when to use subagents vs skills.

0 0
Explore
timequity/vibe-coder

backend-rust

Modern Rust backend with Axum, SQLx, tokio + CI/CD automation. Use when: building Rust APIs, high-performance services, or needing build/test/lint/audit automation. Triggers: "axum", "rust backend", "rust api", "sqlx", "tokio", "cargo build", "cargo test", "clippy", "rustfmt", "cargo-audit", "cross-compile", "rust ci", "release build", "rust security", "shuttle", "actix".

0 0
Explore
timequity/vibe-coder

test-driven-development

Write failing test first, then minimal code to pass. Red-Green-Refactor cycle. Use when: implementing features, fixing bugs, refactoring code. Triggers: "implement", "add feature", "fix bug", "tdd", "test first", "write tests", "test-driven".

0 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results