Generated banner for Datalineage Summary
Generated logo for Datalineage Summary

Datalineage Summary

GoogleOfficialPublished by Google

  • Skill
  • Content generator
  • Data and AI
  • Apache-2.0
  • No issues found

From the author

Summarizes data lineage graphs on Google Cloud to help users debug data quality issues and understand data provenance for BigQuery and Cloud Storage. Use when summarizing upstream and downstream data flows, and presenting complex lineage data as an intuitive Markdown report. Don't use for generic BigQuery queries, editing lineage relationships, or downstream deprecation. Don't use for downstream blast-radius impact analysis (use datalineage-bigquery-asset-impact-analysis skill instead).
— the description by Google

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

This skill provides a structured approach to investigating and summarizing data lineage for BigQuery tables and Cloud Storage assets. It utilizes the Data Lineage MCP server to traverse upstream and downstream relationships, abstracting complex graph data into a clear, plain-English narrative. The skill is designed to help users understand how data flows into and out of a specific focal asset, supporting both table-level and column-level lineage analysis.

What it does

  • Fetches upstream and downstream lineage graphs for specified Google Cloud assets.
  • Supports column-level lineage analysis by filtering for specific fields.
  • Generates a structured Markdown report detailing the data flow.
  • Aggregates large numbers of assets into counts while explicitly naming smaller sets.
  • Provides transparency into the search parameters used for the lineage traversal.
  • Integrates with the Data Lineage MCP server for graph discovery.

When to use it

  • When you need to debug data quality issues by tracing data provenance.
  • When you need to understand the upstream sources contributing to a specific table.
  • When you need to identify the downstream consumers of a data asset.
  • When you need to present complex lineage information in a readable format for stakeholders.

Advantages

  • Simplifies complex graph data into an accessible, narrative format.
  • Provides consistent reporting structure for lineage investigations.
  • Enables both table-level and granular column-level provenance tracking.
  • Maintains transparency regarding the scope and depth of the lineage search.

Usage examples

“Summarize the lineage for bigquery:my-project.analytics.sales_report.”
The agent will fetch the upstream and downstream lineage for the sales_report table and generate a Markdown report detailing the data flow and source systems.
“What is the lineage for the efficiency_score column in bigquery:my-project.data.metrics?”
The agent will perform a column-level lineage search for the specified field and provide a summary of how that specific column is populated and consumed.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/google/datalineage-summary/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip datalineage-summary.zip -d .agents/skills

Documentation by Google

Data Lineage Summary

This skill guides the agent in investigating and summarizing the Data Lineage graph for a specific focal asset (Table-Level Lineage) or specific fields (Column-Level Lineage). It provides an intuitive left-to-right walkthrough of how data enters and leaves the asset, abstracting away complex node and link details into plain English.

Attribution

MUST READ: Before executing any gcloud, REST API, or MCP command, you MUST read Usage Attribution. For commands executed directly in the terminal (never in generated scripts, Terraform, or user code), prefix gcloud with CLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:datalineage-summary)" and append agent-skills/1.0 (skill:datalineage-summary) to User-Agent headers.

Prerequisites

This skill relies on the data lineage (Knowledge Catalog) MCP Server on Google Cloud for graph traversal. Ensure you can run search_lineage queries in both upstream and downstream directions. For detailed connection configurations and tool schemas, refer to MCP Usage.

Workflow Logic

1. Get Lineage

Fetch the lineage graph in both directions from the focal point (both upstream and downstream) by making two separate calls to the MCP tool: one with "direction": "UPSTREAM" and another with "direction": "DOWNSTREAM".

  • Location Strategy: You MUST use the read_url tool to fetch the comprehensive list of locations dynamically from the provided Knowledge Catalog Locations link. To ensure cross-regional lineage is not missed, always verify the current list of Google Cloud regions using this link before populating the locations array. You MUST populate the locations array with all supported physical regions fetched from this link. You may optionally additionally determine the asset's specific active region (using bq show or gcloud storage ls).

  • Search Parameters: Use maxDepth = 10, maxResults = 5000 and maxProcessPerLink = 10 as robust defaults when calling search_lineage. For example, a DOWNSTREAM call should be formatted like this (expanding the locations array as needed):

    {
      "parent": "projects/project_id/locations/us",
      "locations": [
        "us",
        "us-central1",
        "us-east1",
        "us-west1",
        "europe-west1",
        "asia-northeast1"
      ],
      "rootCriteria": {
        "entities": {
          "entities": [
            {
              "fullyQualifiedName": "bigquery:project.dataset.table"
            }
          ]
        }
      },
      "direction": "DOWNSTREAM",
      "limits": {
        "maxDepth": 10,
        "maxResults": 5000,
        "maxProcessPerLink": 10
      }
    }

    Ensure you make a similar call with "direction": "UPSTREAM" to fetch the upstream lineage.

  • Column-Level Lineage (CLL): The search_lineage tool can find all Column-Level Lineage (CLL) by configuring the field array. If Table-Level Lineage (TLL) is requested, configure the call to get CLL links along with the TLL links by exploiting the "*" wildcard. For example:

    "rootCriteria": {
      "entities": {
        "entities": [
          {
            "fullyQualifiedName": "bigquery:project.dataset.table",
            "field": [
              "*"
            ]
          }
        ]
      }
    }

    If evaluating a specific column, replace "*" with the specific column name (e.g., "efficiency_score").

2. Summarize

Generate the summary using the prompt guidelines below.

  • Persona: Act as an expert Data Lineage Analyst generating a concise, easy-to-understand left-to-right walkthrough of the data flow.

  • Structure & Flow: Start immediately with the summary text, structured as follows:

    • Overall Flow Type: State the inferred workflow type and data domain (e.g., "This appears to be a Feature Engineering workflow...").

    • Systems Overview: List the primary systems involved up front. If the request is for Column-Level Lineage, you MUST explicitly declare that the scope of the analysis is limited to the specified field up front.

    • Upstream Lineage: Use the exact bold header **Upstream Lineage:**. Narrative must detail how data arrives at the focal asset, mentioning key source systems, projects, and processing tasks (e.g., Spark on Dataproc).

    • Downstream Lineage: Use the exact bold header **Downstream Lineage:**. Detail where data goes from the focal asset to final consumer systems.

    • Analysis Metadata: Display the parameters used for the API call to provide transparency on the boundaries of the summary. The output must contain:

      • Locations Searched: {list_of_locations_queried}

      • Parent Location: {parent_path}

      • Depth Limit: {maxDepth}

      • Process per Link Limit: {maxProcessPerLink}

      • Tip for User: A prompt suggesting they can ask to rerun with expanded locations (if not all were used) or depth.

  • Granularity Constraints:

    • Prioritize flows between Systems, Projects, and Datasets over individual files/tables.

    • You MUST explicitly list specific asset names (e.g., source tables, intermediate views, consumer tables) if there are fewer than 5. Do not just summarize counts if there are fewer than 5; name them explicitly. Otherwise, if 5 or more, aggregate them by count (e.g., "5 Cloud Storage buckets").

    • Only mention counts for ultimate sources, final consumers, and total assets.

    • Do not repeat project names redundantly for every dataset if only one project is involved.

  • Tone: Avoid jargon and generic phrases like "There are distinct factual points." Be direct and clear. The final output is Markdown.

3. Return the Summary

Return the final summarized output back to the user.

External Documentation

Files

references/attribution.md

Usage Attribution

MUST READ: Before executing any gcloud, REST API, or MCP command with this skill, follow these usage attribution instructions. Tag every command you execute directly in the terminal so usage can be attributed. The tag identifies only the skill and its version; it carries no user data.

  • gcloud CLI Commands: Prefix every gcloud invocation, whatever the subcommand, with the metrics environment variable. Set it inline on each command because shell state may not persist between commands:

    CLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:datalineage-summary)" \
    gcloud <command> [flags]

    Do not use gcloud config set for this: it would persist beyond the current task and mislabel unrelated usage.

  • Direct HTTP, REST, and MCP Requests: On direct HTTP calls to Google Cloud APIs (for example with curl) or HTTP requests to a remote MCP server, include agent-skills/1.0 (skill:datalineage-summary) in the User-Agent header. If a User-Agent header is already specified, append this string to the end of it rather than overwriting existing User-Agent data — the collection pipeline parses the agent-skills/<version> and skill:<name> tokens, so any rewording breaks attribution:

    User-Agent: <existing_user_agent> agent-skills/1.0 (skill:datalineage-summary)
  • Constraint for Generated Code: The tracking prefix is strictly for commands you execute directly in the terminal. Do NOT include this tracking prefix in generated scripts, Terraform templates, or code provided to the user for their own repositories.

  • User Opt-Out: If the user asks to disable or remove tracking or attribution tags, omit the CLOUDSDK_METRICS_REQUEST_ATTRIBUTION variable and custom User-Agent suffix from all commands.

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs an MCP server, Needs Node.js

Security

No issues found by our static scan· No issues found

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Published by
Google
Publisher
Google (Official)
Source
google/skills · skills/cloud/datalineage-summary · commit 2194d3b
Licence
Apache License 2.0 (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Google or Google.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download datalineage-summary.zip