$npx -y skills add datahub-project/datahub-skills --skill using-datahubThis skill provides routing guidance for all DataHub interaction skills. It is injected at session start and helps map user intent to the correct skill. Do not invoke this skill directly — it is loaded automatically.
| 1 | # Using DataHub Skills |
| 2 | |
| 3 | You have access to 5 DataHub catalog interaction skills. Use this guide to route the user's request to the correct skill. |
| 4 | |
| 5 | --- |
| 6 | |
| 7 | ## Skill Routing Table |
| 8 | |
| 9 | | User Intent | Skill | Command | |
| 10 | | -------------------------------------------------------------------------------- | ----------- | ------------------ | |
| 11 | | **Find or discover entities** (search, browse, filter, list) | **Search** | `/datahub-search` | |
| 12 | | **Answer a question** about the catalog ("who owns X?", "how many X?") | **Search** | `/datahub-search` | |
| 13 | | **Update metadata** (descriptions, tags, glossary terms, ownership, deprecation) | **Enrich** | `/datahub-enrich` | |
| 14 | | **Explore lineage** (upstream, downstream, impact, root cause, dependencies) | **Lineage** | `/datahub-lineage` | |
| 15 | | **Data quality** (assertions, incidents, health checks) | **Quality** | `/datahub-quality` | |
| 16 | | **Notifications** (subscribe to assertion failures, incidents) | **Quality** | `/datahub-quality` | |
| 17 | | **Install CLI, authenticate, verify connection** | **Setup** | `/datahub-setup` | |
| 18 | | **Configure default scopes and profiles** | **Setup** | `/datahub-setup` | |
| 19 | |
| 20 | --- |
| 21 | |
| 22 | ## Disambiguation Rules |
| 23 | |
| 24 | When the intent is ambiguous, use these rules: |
| 25 | |
| 26 | ### "Tag" requests |
| 27 | |
| 28 | - **All tag operations** (PII, sensitive, important, reviewed, team-x) → **Enrich** (general metadata) |
| 29 | |
| 30 | ### "Domain" requests |
| 31 | |
| 32 | - **Filter search to a domain** → **Search** (scoped search) |
| 33 | - **Configure default domain** → **Setup** (profile configuration) |
| 34 | |
| 35 | ### "Quality" or "health" requests |
| 36 | |
| 37 | - **Failing assertions, active incidents, health status** → **Quality** |
| 38 | - **Create assertions, run quality checks, raise incidents** → **Quality** |
| 39 | - **Subscribe to assertion failures or incidents** → **Quality** |
| 40 | - **Metadata quality/documentation/ownership coverage** → Use **Search** to gather the data and synthesize the answer |
| 41 | |
| 42 | ### Lineage vs. Search |
| 43 | |
| 44 | - **"What feeds into X" / "what depends on X" / "impact of changing X"** → **Lineage** |
| 45 | - **"What dashboards use table X"** → **Lineage** (relationship traversal) |
| 46 | - **"Who owns X" / "what is X"** → **Search** (metadata lookup) |
| 47 | |
| 48 | ### Setup vs. other skills |
| 49 | |
| 50 | - **"Set up" / "install" / "authenticate" / "verify connection"** → **Setup** |
| 51 | - **"Configure defaults" / "set default platform" / "create profile"** → **Setup** |
| 52 | - **"Check if DataHub is working"** → **Setup** (connectivity verification) |
| 53 | |
| 54 | --- |
| 55 | |
| 56 | ## CLI Attribution |
| 57 | |
| 58 | When running `datahub` CLI commands, pass `-C skill=<name>` on the root command so usage can be attributed: |
| 59 | |
| 60 | ```bash |
| 61 | datahub -C skill=datahub-search search "revenue" |
| 62 | datahub -C skill=datahub-enrich graphql --query '...' |
| 63 | datahub -C skill=datahub-lineage lineage --urn "..." |
| 64 | ``` |
| 65 | |
| 66 | Use the skill name from the YAML frontmatter. If `-C` is not recognized, omit it — the command works the same without it. |
| 67 | |
| 68 | --- |
| 69 | |
| 70 | ## Critical Rules |
| 71 | |
| 72 | 1. **Never guess the skill.** If the intent is genuinely ambiguous, ask the user to clarify. |
| 73 | 2. **One skill per request** unless the user explicitly asks for multiple operations. |
| 74 | 3. **Lineage is for lineage only** — not for general "what is this entity?" questions (that's Search). |
| 75 | 4. **Search handles ad-hoc questions.** "Who owns X?" and "what columns does X have?" are Search questions, not Lineage. |
| 76 | 5. **Enrich handles all metadata writes** — descriptions, tags, glossary terms, ownership, deprecation. |
| 77 | 6. **Quality handles data quality** — assertions, incidents, health checks, subscriptions. |
| 78 | 7. **Setup handles environment and configuration** — CLI install, auth, connectivity, default scopes. |