feat: add ML impact analysis skill - #142
Open
23f2001033 wants to merge 1 commit into
Open
Conversation
Adds datahub-ml-impact, a skill for answering 'what ML breaks if I change this column?' against DataHub's ML lineage. The existing skills cover connectors, search, enrichment, lineage and quality, but none reason about ML assets specifically. Generic lineage answers 'what reads this table'; this skill answers 'this column is a named input to churn_predictor_v3', by matching the changed column against MLFeature names along the dataset -> MLFeature -> MLModel path. A model sits two hops from the table that feeds it, so a one-hop impact query finds features and misses every model - the reference queries handle that explicitly. Includes the GraphQL reference for ML lineage traversal and a report template.
23f2001033
pushed a commit
to 23f2001033/lineageguard
that referenced
this pull request
Aug 10, 2026
Demo video: https://youtu.be/l6lS1U7KkN0 OSS PR: datahub-project/datahub-skills#142 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this adds
datahub-ml-impact— a skill for answering "what ML breaks if I change this column?"Why
The registry currently has twelve skills covering connector development, search, enrichment, lineage, quality and setup. None of them reason about ML assets specifically.
That gap matters because ML impact is not the same question as table impact. Generic lineage answers "what reads this table." This skill answers "this column is a named input to
churn_predictor_v3" — a materially stronger claim, and the one someone actually needs before they rename a column.The signal that makes it possible is DataHub-specific: an
MLFeaturewhose name matches the changed column is direct evidence the column is a named model input, not merely a column in a table something happens to read.The trap it encodes
DataHub models ML lineage as
dataset -> MLFeature -> MLModel, so a model sits two hops from the table that feeds it. A one-hop impact query returns features and misses every model — which looks like "no models affected" rather than an incomplete traversal. The reference queries inreferences/graphql.mdusesearchAcrossLineagewith the degree filter set accordingly, and the skill says why.Contents
SKILL.mdreferences/graphql.mdtemplates/impact-report.mdNotes
user-invocable,min-cli-version,allowed-tools: Bash(datahub *)).prettier --checkandmarkdownlint-cli2both pass locally against the repo's own configs.skills/datahub-ml-impact/;marketplace.jsonlists the plugin rather than individual skills, so nothing to register.This came out of building an ML lineage guard agent on DataHub for the Agent Hackathon — the impact-tracing primitive turned out to be reusable independently of that project, so contributing it back seemed more useful than leaving it in one repo.