Dbt Model Index logo

Dbt Model Index

Organization
warpdotdev
dbt-model-index

Provide a lookup index of dbt models (BigQuery tables) to guide query writing against a data warehouse. Use when you need to query, analyze, or look up data in a dbt-powered data warehouse, or when resolving a vague data question into the right BigQuery tables to query.

Overview

Publisherwarpdotdev
Repositoryoz-skills
Skill namedbt-model-index
Stars
824
Forks
68
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by warpdotdev on GitHub. Read the source before you install it.

Installation

Install the Dbt Model Index AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/warpdotdev/oz-skills/tree/main/.agents/skills/dbt-model-index
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/warpdotdev/oz-skills.git /tmp/oz-skills
mkdir -p .claude/skills
cp -r /tmp/oz-skills/.agents/skills/dbt-model-index .claude/skills/dbt-model-index
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Dbt Model Index in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Dbt Model Index on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Dbt Model Index is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

dbt Model Index

When to Use

  • Before writing any BigQuery SQL against production data
  • When the task has not already explicitly stated which models/tables to query
  • When resolving a vague or ambiguous data question into the right BigQuery tables

How to Set Up This Skill

This skill is a curated index of your dbt models. Each entry describes a model (a BigQuery table), what it contains, and what types of questions it is best suited to answer.

To customize this index for your project:

  • Organize models into logical domain sections (e.g., Users, Activity, Revenue, Events)
  • For each model, include: the table name, a 1–2 sentence description of its grain and content, and "Useful for:" bullets covering common query patterns
  • Note key join keys, standard filters, and partition fields where relevant

[Domain: e.g., Users & Identity]

your_model_name

Brief description of what this model contains. One row per [entity]. Include what makes this model's grain unique and the most important fields.

Useful for:

  • [Type of question this model answers, e.g., user counts, cohort sizes]
  • [Another use case, e.g., filtering to a specific user segment]
  • [Common join pattern, e.g., joining to other tables as the canonical user dimension]

another_model_name

Description of this model and its grain.

Useful for: [Brief use case description]


[Domain: e.g., Activity & Engagement]

your_activity_model

Description of the activity signal (e.g., what counts as "active"), the grain, and the time dimension.

Useful for:

  • [Use case 1, e.g., daily/weekly active user metrics]
  • [Use case 2, e.g., retention analysis]

your_engagement_model

Description.

Useful for:

  • [Use case 1]
  • [Use case 2]

[Domain: e.g., Revenue & Subscriptions]

your_revenue_model

Description of the revenue grain (e.g., one row per customer per day, or one row per subscription event).

Useful for:

  • [Use case 1, e.g., MRR/ARR reporting]
  • [Use case 2, e.g., churn analysis]

your_subscription_model

Description.

Useful for:

  • [Use case 1]
  • [Use case 2]

[Domain: e.g., Events & Telemetry]

your_events_model

Description of the event source, enrichment applied, and key fields available.

Useful for:

  • [Use case 1, e.g., raw event-level analysis]
  • [Use case 2, e.g., building domain-specific funnels]

Important Notes

  • Standard filters: Document any filters that should always be applied in user-facing queries (e.g., excluding test accounts, soft-deleted records, internal users, or flagged/fraudulent users). Example: where not is_internal_user
  • Production data: Specify your default project/dataset path. Example: your-gcp-project.prod.<model_name>
  • Cost control: For large partitioned tables, always filter on the partition field and constrain the date range to avoid full-table scans
  • Model grain: Always note the grain (one row per what?) for each model to avoid accidental fan-outs in joins
  • Plan/tier types: If your product has subscription tiers or plan types, document the valid values here so queries filter correctly
  • Sensitive datasets: If any models live in a separate dataset, call that out explicitly so queries use the right fully-qualified table reference

Frequently asked questions

What does the Dbt Model Index AI skill do?

Provide a lookup index of dbt models (BigQuery tables) to guide query writing against a data warehouse. Use when you need to query, analyze, or look up data in a dbt-powered data warehouse, or when resolving a vague data question into the right BigQuery tables to query.

Why use Dbt Model Index on TypingMind?

Because you install it once and use it with any model. Dbt Model Index is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Dbt Model Index in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/warpdotdev/oz-skills/tree/main/.agents/skills/dbt-model-index. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Dbt Model Index?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Dbt Model Index?

As many as you like. As long as a model supports skills, you can use Dbt Model Index with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Dbt Model Index AI skill free?

Yes. It is published on GitHub by warpdotdev under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇