Skip to content

feat: add ML impact analysis skill - #142

Open
23f2001033 wants to merge 1 commit into
datahub-project:mainfrom
23f2001033:feat/datahub-ml-impact-skill
Open

feat: add ML impact analysis skill#142
23f2001033 wants to merge 1 commit into
datahub-project:mainfrom
23f2001033:feat/datahub-ml-impact-skill

Conversation

@23f2001033

Copy link
Copy Markdown

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 MLFeature whose 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 in references/graphql.md use searchAcrossLineage with the degree filter set accordingly, and the skill says why.

Contents

File Purpose
SKILL.md The skill, with triggers and the traversal procedure
references/graphql.md ML lineage GraphQL queries and the entity-model notes behind them
templates/impact-report.md Output shape for an impact report

Notes

  • Frontmatter follows the existing skills (user-invocable, min-cli-version, allowed-tools: Bash(datahub *)).
  • prettier --check and markdownlint-cli2 both pass locally against the repo's own configs.
  • No changes outside skills/datahub-ml-impact/; marketplace.json lists 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.

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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant