본문으로 건너뛰기
cccskills
무료GitHub에 공개

dbt-fusion-engine

Analytics engineering with dbt — models, tests, and modular SQL pipelines — use when building or maintaining dbt projects.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md4.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Overview

dbt (data build tool) brings software-engineering discipline to SQL-based data pipelines: versioned models, automated tests, documentation, and modular transformations inside the warehouse. This skill covers project structure, model layering, testing strategy, and the operational habits of a healthy dbt project.

When to use

  • Structuring a new dbt project (staging, intermediate, marts layers)
  • Writing models with refs, sources, seeds, and snapshots
  • Adding data tests (unique, not_null, relationships, custom singular tests)
  • Debugging slow runs, model failures, or test failures in CI
  • Setting up dbt docs, exposures, and deployment (dbt Cloud / self-hosted runs)

Core concepts

Layer your models. Staging (stg_): thin, one-per-source, renames and type casts only. Intermediate (int_): joins and business logic building blocks. Marts: wide, denormalized tables shaped for consumers (one per business domain or dashboard). Layers keep changes local — a source schema change touches staging, not every downstream model.

ref() and source() are the dependency graph. Always reference other models with {{ ref('model_name') }} and raw tables with {{ source(...) }} — never hardcode schema names. This builds the DAG, enables dbt run -s model+ selection, and keeps environments (dev/prod schemas) working.

Tests are contracts. Schema tests (unique, not_null, accepted_values, relationships) on every mart primary key and FK are the minimum. Custom singular tests encode business rules ("no order ships before it's paid"). Treat a failing test like a failing unit test: block the deploy.

Materializations are a cost/latency trade-off. Views (fresh, slow queries), tables (fast queries, full rebuild cost), incremental (append/merge new rows — essential for large event tables), ephemeral (CTEs for reuse without objects). Choose per model; revisit as data grows.

Snapshots for slowly changing dimensions. dbt snapshot implements type-2 SCD (valid_from/valid_to history) for dimensions like customer status — use it instead of hand-rolled history logic.

Practical workflow

  1. Scaffold with conventions: models/staging/<source>/, models/marts/<domain>/, consistent prefixes, one .yml per directory documenting models and columns.
  2. Write the model SQL using ref/source; keep each model doing one job; push filters early and avoid SELECT * from sources.
  3. Add tests in the same PR as the model — primary keys get unique + not_null; FKs get relationships; business rules get singular tests.
  4. Run narrowly, then broadly: dbt run -s my_model+ (model and children), dbt test -s my_model+, then full dbt build before merging.
  5. Generate and review docs (dbt docs generate && dbt docs serve) — column descriptions are how the next person trusts your mart.
  6. Deploy with CI: run dbt build on pull requests against a staging schema (Slim CI / state comparison with --select state:modified+); schedule production runs with alerting on failure.

Macro hygiene: put repeated logic in macros with clear names and docstrings; avoid Jinja cleverness that the next maintainer can't read — SQL first, Jinja second.

Common pitfalls

  • Business logic in staging models — staging should be a 1:1 mirror of the source; logic belongs in intermediate/marts where it's discoverable.
  • Untested incremental models — a bad incremental predicate silently drops rows forever. Test with unique on the key and reconcile row counts against a full refresh periodically.
  • ref() cycles or source() pointing at another model — breaks the DAG and environment isolation; sources are raw inputs only.
  • Hardcoded database/schema names in SQL — breaks multi-environment runs; always go through ref, source, and target.
  • Ignoring test failures in CI ("we'll fix the data later") — trains the team to ignore tests; either fix the data or fix the test, immediately.
  • One giant mart model doing everything — slow, untestable, and terrifying to change. Split into staged, named steps following the layering convention.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Master 1Password: vaults, Watchtower, passkeys, SSH agent, CLI, and family/team administration. Use when getting full value from 1Password personally or administering it for others.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills282026년 10월 10일 업데이트

Create 3D visuals with modeling, texturing, lighting, rendering, and optimization for web and product.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills282026년 10월 10일 업데이트

Create 3D web experiences: scene setup, models, materials, lighting, animation, scroll-driven scenes, and performance budgets. Use when adding 3D to websites beyond basic demos.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills282026년 10월 10일 업데이트

Writing abstracts that get papers read — structured content, the 5-sentence core, and journal-specific constraints.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills282026년 10월 10일 업데이트

Learn effectively from courses and academies: choosing programs, studying actively, and converting courses into skills. Use when investing time/money in structured learning.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills282026년 10월 10일 업데이트

Audit designs for accessibility with WCAG checklists covering color, type, focus, motion, and content.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

aicodedecode/awesome-muse-skills282026년 10월 10일 업데이트

aicodedecode의 스킬 모두 보기

이 스킬의 문제 신고