mcpField
U
using-datahub

using-datahub

github.com/datahub-projectData & databases45214 installsUpdated 4w ago
Repository

About using-datahub

A routing guide for five DataHub catalog skills, intended for agents handling catalog requests. It maps user intent to Search, Enrich, Lineage, Quality, or Setup and provides rules for ambiguous requests and CLI attribution.

Key features

  1. 01Routes requests to five DataHub skills
  2. 02Disambiguates catalog operations by intent
  3. 03Distinguishes lineage from metadata lookup
  4. 04Provides DataHub CLI attribution guidance
  5. 05Defines rules for multi-skill requests

Use cases

  1. 01Choose a skill for an ambiguous catalog request
  2. 02Route metadata edits to the correct workflow
  3. 03Distinguish dependency questions from entity lookups

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/datahub-project/datahub-skills --skill using-datahub

After installing, type/using-datahubin Claude Code to confirm it loaded.

Details

From the project README

Using DataHub Skills

You have access to 5 DataHub catalog interaction skills. Use this guide to route the user's request to the correct skill.


Skill Routing Table

User IntentSkillCommand
Find or discover entities (search, browse, filter, list)Search/datahub-search
Answer a question about the catalog ("who owns X?", "how many X?")Search/datahub-search
Update metadata (descriptions, tags, glossary terms, ownership, deprecation)Enrich/datahub-enrich
Explore lineage (upstream, downstream, impact, root cause, dependencies)Lineage/datahub-lineage
Data quality (assertions, incidents, health checks)Quality/datahub-quality
Notifications (subscribe to assertion failures, incidents)Quality/datahub-quality
Install CLI, authenticate, verify connectionSetup/datahub-setup
Configure default scopes and profilesSetup/datahub-setup

Disambiguation Rules

When the intent is ambiguous, use these rules:

"Tag" requests
  • All tag operations (PII, sensitive, important, reviewed, team-x) → Enrich (general metadata)
"Domain" requests
  • Filter search to a domain → Search (scoped search)
  • Configure default domain → Setup (profile configuration)
"Quality" or "health" requests
  • Failing assertions, active incidents, health status → Quality
  • Create assertions, run quality checks, raise incidents → Quality
  • Subscribe to assertion failures or incidents → Quality
  • Metadata quality/documentation/ownership coverage → Use Search to gather the data and synthesize the answer
Lineage vs. Search
  • "What feeds into X" / "what depends on X" / "impact of changing X" → Lineage
  • "What dashboards use table X" → Lineage (relationship traversal)
  • "Who owns X" / "what is X" → Search (metadata lookup)
Setup vs. other skills
  • "Set up" / "install" / "authenticate" / "verify connection" → Setup
  • "Configure defaults" / "set default platform" / "create profile" → Setup
  • "Check if DataHub is working" → Setup (connectivity verification)

CLI Attribution

When running datahub CLI commands, pass -C skill=<name> on the root command so usage can be attributed:

datahub -C skill=datahub-search search "revenue"
datahub -C skill=datahub-enrich graphql --query '...'
datahub -C skill=datahub-lineage lineage --urn "..."

Use the skill name from the YAML frontmatter. If -C is not recognized, omit it — the command works the same without it.


Critical Rules

  1. Never guess the skill. If the intent is genuinely ambiguous, ask the user to clarify.
  2. One skill per request unless the user explicitly asks for multiple operations.
  3. Lineage is for lineage only — not for general "what is this entity?" questions (that's Search).
  4. Search handles ad-hoc questions. "Who owns X?" and "what columns does X have?" are Search questions, not Lineage.
  5. Enrich handles all metadata writes — descriptions, tags, glossary terms, ownership, deprecation.
  6. Quality handles data quality — assertions, incidents, health checks, subscriptions.
  7. Setup handles environment and configuration — CLI install, auth, connectivity, default scopes.

Comments

Markdown supported