Dbt Databricks PR Ready
databricks/dbt-databricks
A skill your agent uses for an open dbt-databricks pull request, including your own PR or a fork PR, to assess merge readiness and optionally repair selected gaps on the PR head branch.
Build out the transformation layers (staging/, intermediate/) of a data product and run dbt against them, following project-wide conventions adapted from dbt's best practices (v1.12).
$ npx skills add hashgraph-online/awesome-codex-plugins --skill dataproduct-dbt -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins dataproduct-dbt --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt .claude/skills/dataproduct-dbt && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "dataproduct-dbt" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt into .claude/skills/dataproduct-dbt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dataproduct-dbt", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbtType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill dataproduct-dbt -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins dataproduct-dbt --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt .agents/skills/dataproduct-dbt && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dataproduct-dbt" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt into .agents/skills/dataproduct-dbt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dataproduct-dbt", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill dataproduct-dbt -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins dataproduct-dbt --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt .cursor/skills/dataproduct-dbt && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dataproduct-dbt" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt into .cursor/skills/dataproduct-dbt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dataproduct-dbt", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/hashgraph-online/awesome-codex-plugins.git --path plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill dataproduct-dbt -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins dataproduct-dbt --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt .gemini/skills/dataproduct-dbt && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dataproduct-dbt" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt into .gemini/skills/dataproduct-dbt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dataproduct-dbt", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install hashgraph-online/awesome-codex-plugins dataproduct-dbtInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add hashgraph-online/awesome-codex-plugins --skill dataproduct-dbt -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt .github/skills/dataproduct-dbt && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dataproduct-dbt" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt into .github/skills/dataproduct-dbt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dataproduct-dbt", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill dataproduct-dbt -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins dataproduct-dbt --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt .opencode/skills/dataproduct-dbt && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dataproduct-dbt" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt into .opencode/skills/dataproduct-dbt/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dataproduct-dbt", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
dataproduct-dbtBuild out the transformation layers (staging/, intermediate/) of a data product and run dbt against them, following project-wide conventions adapted from dbt's best practices (v1.12).
Dataproduct Dbt is an agent skill from hashgraph-online/awesome-codex-plugins. Build out the transformation layers (staging/, intermediate/) of a data product and run dbt against them, following project-wide conventions adapted from dbt's best practices (v1.12). Trigger when the user asks to "add a staging model", "build out the staging layer", "create an intermediate model", "refactor this output port into staging + intermediate", "make this model incremental", or "run dbt for this data product".
Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Data & Analytics, covering Data pipelines and ETL. It works with dbt and SQL. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 78497e5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
dbtuvFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
docs.getdbt.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Dataproduct Dbt loads about 4.3k tokens when it runs. Until then it costs about 111 tokens; SKILL.md has 2,083 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from hashgraph-online/awesome-codex-plugins at commit 78497e5, republished under its Apache-2.0 licence (© hashgraph-online). 2,083 words, ~4,283 tokens.
.claude/skills/dataproduct-dbt/SKILL.md (or your agent's skills folder).dataproduct-implement generates the ends of the pipeline: input-port sources (from access agreements) and output-port models (from the data contract). This skill fills in the middle, the staging/ and intermediate/ layers, and runs dbt against the result. The conventions below are adapted from dbt's structure and materialization best practices, and are meant to be edited by the organization adopting this plugin.
dataproduct-bootstrap first.dataproduct-implement first./review or /simplify, not this skill.These rules are the contract between this skill and the rest of the plugin. Organizations forking the plugin should treat this section as the place to encode their own style.
| Layer | Purpose | Materialization | References | Naming |
|---|---|---|---|---|
models/input_ports/<op-id>.source.yaml | External raw data, one file per active access agreement | n/a (source) | n/a | source name = <provider-dp-id>_<provider-op-id> |
models/staging/stg_<provider-dp-id>__<table>.sql | One staging model per source table: rename, cast, light cleanup, dedup | view | {{ source(...) }} only | double underscore separates source from entity |
models/intermediate/int_<purpose>.sql | Joins, aggregations, pivots, surrogate keys, single-purpose | view (or ephemeral if used once) | {{ ref(stg_*) }} and {{ ref(int_*) }} only | verb-based filename describing what it does |
models/output_ports/v1/<table>.sql | Published, contract-governed tables | table (or incremental past the threshold below) | {{ ref(int_*) }} or {{ ref(stg_*) }} | table name from the ODCS contract's models: key |
Deviations from upstream dbt conventions, called out so the lineage stays visible:
input_ports/ and output_ports/v1/ instead of dbt's sources / marts, to match the data-product lifecycle terminology.fct_ / dim_. The contract dictates the published name, and consumers see that name directly.staging/ and intermediate/ flat for single-data-product repos. Use subfolders by output port (e.g. staging/<output-port-id>/) only if a data product has more than two or three output ports.Every staging model uses this three-CTE skeleton so the structure is uniform and a reader knows where to find the rename block.
-- Staging model for source <provider-dp-id>_<provider-op-id>.<table>
with
source as (
select * from {{ source('<provider-dp-id>_<provider-op-id>', '<table>') }}
),
renamed as (
select
cast(<raw_col> as <warehouse_type>) as <canonical_name>,
...
from source
),
final as (
select * from renamed
)
select * from finalAllowed transformations in renamed: column renames, casts, simple case rewrites, unit conversions (e.g. cents to dollars), trim/lower. Disallowed: joins, aggregations, any cross-source logic. Those belong in intermediate/.
int_foo_and_bar, split it.ref(), never source(). A source() call in intermediate/ means a staging model is missing.view unless the model is referenced once and is cheap, in which case ephemeral keeps it out of the warehouse.Tests are declared in the _models.yml next to the file.
| Layer | Default tests |
|---|---|
input_ports/ (sources) | freshness: block when the upstream contract publishes an SLA; otherwise none |
staging/ | not_null + unique on the natural key, accepted_values on enum columns |
intermediate/ | relationships on every join key, not_null on any column the next layer depends on |
output_ports/v1/ | Derived from the ODCS contract by dataproduct-implement |
Custom singular tests live in tests/<purpose>.sql and assert cross-model invariants the schema-tests cannot express.
dbt's tiered rule applies: start with view, promote to table when query latency hurts, promote to incremental when the build window hurts.
dbt_project.yml): staging → view, intermediate → view, output_ports → table.incremental when one of these is true:When switching to incremental, configure all three keys; defaults vary by warehouse:
{{ config(
materialized='incremental',
unique_key='<natural_key>',
on_schema_change='append_new_columns',
incremental_strategy='merge' # databricks/snowflake/bigquery; use 'delete+insert' on postgres
) }}Inside the model body, gate new-row logic with {% if is_incremental() %} where updated_at > (select max(updated_at) from {{ this }}) {% endif %}.
Each layer lands in its own warehouse schema so consumers see only the published output, not the scaffolding.
| Layer | Schema | Example |
|---|---|---|
input_ports/ | n/a (sources read from upstream schemas; not materialized here) | — |
staging/ | internal_<data-product-id> | internal_dp_acme_customer_activity |
intermediate/ | internal_<data-product-id> (same as staging) | internal_dp_acme_customer_activity |
output_ports/v<N>/<table>.sql | op_<output-port-id>_v<N> | op_customer_activity_v1 |
Why this split:
op_<output-port-id>_v<N> only.To wire this up in dbt, the project needs two pieces:
Override generate_schema_name so +schema: is taken literally instead of being suffixed onto the target's default schema. Place this in macros/get_custom_schema.sql:
{% macro generate_schema_name(custom_schema_name, node) -%}
{%- if custom_schema_name is none -%}
{{ target.schema }}
{%- else -%}
{{ custom_schema_name | trim }}
{%- endif -%}
{%- endmacro %}Per-model schema for output ports (one schema per port, so a directory-level rule does not work when v<N>/ contains more than one port):
-- top of models/output_ports/v1/<table>.sql
{{ config(schema='op_<output_port_id>_v1') }}Directory-level schema for internal models in dbt_project.yml:
models:
<data_product_id>:
staging:
+schema: internal_<data_product_id>
intermediate:
+schema: internal_<data_product_id>With these in place, dbt run creates exactly op_<op-id>_v1, op_<op-id>_v2, and internal_<dp-id> in the warehouse, no extra prefixes.
description: in _models.yml. Single sentence: what it represents, not how it is built.description:. Obvious ones (customer_id, created_at) can skip it.datacontract-edit.
${PLUGIN_ROOT}below refers to the root of this plugin (the directory that containsskills/). On Claude Code it is set automatically as${CLAUDE_PLUGIN_ROOT}; use that. On any other agent it is unset; resolve it as../..relative to thisSKILL.mdfile's directory.
Before running Step 0, print this plan to the user verbatim:
Running dataproduct-dbt. I'll:
- Pre-checks: confirm this is a dbt project with
input_ports/,staging/,intermediate/,output_ports/v1/.- Identify which operation you want (build staging, add intermediate, refactor an output port, run dbt, switch to incremental).
- Apply the operation following the conventions in this skill (which you can edit to match your org's style).
- Verify with
dbt parseand, when you ask,dbt build --select <scope>.- Summarize what changed and what's open.
Then proceed.
uv run --quiet dbt --version succeeds from the project root. If it fails, run uv sync and retry; if still missing, stop and tell the user to add the dbt adapter for their warehouse to pyproject.toml's [dependency-groups].dev (e.g. dbt-snowflake, dbt-databricks) and re-run uv sync. Use uv run dbt … for every dbt CLI invocation in this skill.dbt_project.yml exists at the working directory root. If not, route to dataproduct-bootstrap.input_ports/, staging/, intermediate/, output_ports/v1/). If any are missing, route to dataproduct-bootstrap or entropy-data-sync (whichever the user prefers) and stop.Match the user's ask to one of the operations below. If two fit, ask which one. The operations are deliberately small so the skill stays focused; run it again for the next operation.
| If the user says... | Operation |
|---|---|
| "build out staging", "create staging models for input ports" | A |
| "add an intermediate model for X", "join staging models" | B |
| "refactor this output port into staging + intermediate", "this output port has direct source refs" | C |
| "run dbt", "test the models", "compile only", "build the models" | D |
| "make this output port incremental", "switch X to incremental" | E |
| "add tests / descriptions to staging or intermediate" | F |
For each models/input_ports/<provider-op-id>.source.yaml (skip files the user did not select if they narrowed the scope):
sources[0].name (the <dp-id>_<op-id> reference) and each tables[].name (from the provider's contract).models/staging/stg_<provider-dp-id>__<table>.sql using the staging CTE pattern above. Apply column renames only when the raw name violates the project's snake_case convention or the project's column-name policy; otherwise pass them through with explicit casts.models/staging/_models.yml:models:
- name: stg_<provider-dp-id>__<table>
description: Cleaned, renamed, and type-cast columns from <provider-dp-id>.<table>.
columns:
- name: <natural_key>
tests: [not_null, unique]-- TODO: comment in the model and surface it in the final report.int_<verb>_<entity>.sql (e.g. int_payments_pivoted_to_orders.sql).models/intermediate/<filename>.sql. Use only {{ ref(...) }} references to staging or other intermediate models._models.yml entry with a description and tests on join keys (relationships, not_null).dbt parse to verify. Do not run the model in the warehouse without the user asking.When models/output_ports/v1/<table>.sql contains {{ source(...) }} calls or pile-up joins:
source() call. Generate a staging model for each (operation A).ref(int_*) and apply the contract-driven casts and column order.dbt parse. If the rewrite changes column counts or order, surface a diff and ask before saving.Pick the right command based on the user's ask. Always scope with --select unless the user explicitly asks for the full project.
| User intent | Command |
|---|---|
| Compile only (no warehouse roundtrip) | dbt parse |
| Materialize a model and its upstream | dbt run --select +<model> |
| Run tests for a model and its upstream | dbt test --select +<model> |
| Materialize + test in DAG order | dbt build --select +<model> |
| Rebuild an incremental model from scratch | dbt build --full-refresh --select <model> |
Confirm before any dbt run, dbt test, or dbt build on the whole project. Those touch the warehouse and can be expensive.
{{ config(...) }} block at the top of the model (see the Materializations section above).{% if is_incremental() %} where <ts> > (select max(<ts>) from {{ this }}) {% endif %} filter on the deepest CTE that reads from the source.dbt build --full-refresh --select <model> once with the user's confirmation to seed the table.dbt build --select <model> only inserts new rows (check target/run/.../<model>.sql for the merge / delete+insert shape)._models.yml.description: lines from the user's input or from the contract (for output ports, the contract is the source of truth — do not paraphrase it).dbt parse to verify YAML.After any operation that wrote SQL or YAML:
dbt parse to catch syntax errors and dangling refs.dbt build --select <scope> to materialize and test the affected models.dbt run separately from dbt test — dbt build orders them correctly and stops on failures.End with this two-part recap. Use the shared Status enum: created, updated, already present, deferred, skipped.
Part 1 — outcome table. One row per operation applied.
| Artifact | Status | Details |
|---|---|---|
| Operation | … | A / B / C / D / E / F (one row per operation run) |
| Staging models | … | <N> files at models/staging/stg_<...>.sql |
| Intermediate models | … | <N> files at models/intermediate/int_<...>.sql |
| Output-port refactor | … | <table>.sql rewritten to ref staging/intermediate / not applicable |
_models.yml entries | … | counts per layer |
dbt parse | … | "passed" / "failed: <reason>" / "skipped" |
dbt build --select <scope> | … | "passed" / "failed: <reason>" / "not run (user did not authorize)" |
Part 2 — next steps. Bullet list, include only what applies:
-- TODO: left in a generated model, list the model and the open question.dbt build but it was skipped (e.g. missing warehouse creds), the exact env vars they need to set.If there is nothing in Part 2, write a single line: No further action required.
case involving multiple columns shows up there, push it to intermediate/.source() outside staging. Intermediate and output ports use ref() exclusively. If you find a source() call elsewhere, surface it and propose operation C.datacontract-edit.already present.© hashgraph-online, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt of hashgraph-online/awesome-codex-plugins.
Open the folder on GitHubat commit 78497e5
Dataproduct Dbt next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Dataproduct Dbt this skillhashgraph-online/awesome-codex-plugins | 1.2k | — | ~4.3k | Automated safety check: Pass | Apache-2.0 | |
| Dbt Databricks PR Readydatabricks/dbt-databricks | 380 | — | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Senior Data Engineerbenchflow-ai/skillsbench | 1.8k | — | ~5.9k | Automated safety check: Pass | MIT | |
| dbt Model BuilderAltimateAI/data-engineering-skills | 128 | — | ~890 | Automated safety check: Pass | MIT | |
| dbt Error DebuggingAltimateAI/data-engineering-skills | 128 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Analytics Engineerborghei/Claude-Skills | 881 | — | ~3.4k | Automated safety check: Pass | MIT |
databricks/dbt-databricks
A skill your agent uses for an open dbt-databricks pull request, including your own PR or a fork PR, to assess merge readiness and optionally repair selected gaps on the PR head branch.
benchflow-ai/skillsbench
World-class data engineering skill for building scalable data pipelines, ETL/ELT systems, real-time streaming, and data infrastructure.
AltimateAI/data-engineering-skills
Creates or modifies dbt models in line with a project's own conventions, then runs dbt build and dbt show to check the output instead of stopping at compile.
AltimateAI/data-engineering-skills
Walks through fixing dbt compilation, database and test errors: read the full error, check upstream models, apply a fix, then verify with dbt build and a data preview.
borghei/Claude-Skills
Analytics engineering across data modeling, dbt, transformation, and semantic layers.
alirezarezvani/claude-skills
Data engineering skill for building scalable data pipelines, ETL/ELT systems, and data infrastructure.
hashgraph-online/awesome-codex-plugins
Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.
hashgraph-online/awesome-codex-plugins
Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).
hashgraph-online/awesome-codex-plugins
A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…
hashgraph-online/awesome-codex-plugins
Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…
hashgraph-online/awesome-codex-plugins
Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.
hashgraph-online/awesome-codex-plugins
Analyze nonfiction manuscripts for reader engagement signals, including heading-level word counts, slow starts, long slogs, weak takeaway titles, value pacing, beta-reader comment dropoff, and…
Categories
Build out the transformation layers (staging/, intermediate/) of a data product and run dbt against them, following project-wide conventions adapted from dbt's best practices (v1.12). Dataproduct Dbt is an agent skill from hashgraph-online/awesome-codex-plugins.12).
Dataproduct Dbt fits situations like: the user asks to add a staging model; build out the staging layer; create an intermediate model; refactor this output port into staging + intermediate.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill dataproduct-dbt -a claude-code`. Or copy the skill folder (plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt in hashgraph-online/awesome-codex-plugins) into .claude/skills/dataproduct-dbt in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill dataproduct-dbt -a codex`. Or copy the skill folder (plugins/entropy-data/dataproduct-builder-dbt/skills/dataproduct-dbt in hashgraph-online/awesome-codex-plugins) into .agents/skills/dataproduct-dbt in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hashgraph-online/awesome-codex-plugins --skill dataproduct-dbt -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dataproduct-dbt, .gemini/skills/dataproduct-dbt, .github/skills/dataproduct-dbt and .opencode/skills/dataproduct-dbt in your project.
Going by SKILL.md and its folder, Dataproduct Dbt needs the command-line tools its instructions call (dbt and uv).
SKILL.md names 1 domain. As links in the text: docs.getdbt.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Dataproduct Dbt is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Dataproduct Dbt: Dbt Databricks PR Ready (databricks/dbt-databricks, 380 stars), Senior Data Engineer (benchflow-ai/skillsbench, 1.8k stars), dbt Model Builder (AltimateAI/data-engineering-skills, 128 stars) and dbt Error Debugging (AltimateAI/data-engineering-skills, 128 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,242 GitHub stars. The repository holds 686 skills in this directory. The repository was last updated on October 8, 2026.
Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.