skills/tracing-downstream-lineage/SKILL.md
Trace downstream data lineage and impact analysis. Use when the user asks what depends on this data, what breaks if something changes, downstream dependencies, or needs to assess change risk before modifying a table or DAG.
npx skillsauth add astronomer/agents tracing-downstream-lineageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Answer the critical question: "What breaks if I change this?"
Use this BEFORE making changes to understand the blast radius.
Find everything that reads from this target:
For Tables:
Search DAG source code: Look for DAGs that SELECT from this table
af dags list to get all DAGsaf dags source <dag_id> to search for table referencesFROM target_table, JOIN target_tableCheck for dependent views:
-- Snowflake
SELECT * FROM information_schema.view_table_usage
WHERE table_name = '<target_table>'
-- Or check SHOW VIEWS and search definitions
Look for BI tool connections:
If you're running on Astro, the Lineage tab in the Astro UI provides visual dependency graphs across DAGs and datasets, making downstream impact analysis faster. It shows which DAGs consume a given dataset and their current status, reducing the need for manual source code searches.
For DAGs:
af dags source <dag_id> to find output tablesMap the full downstream impact:
SOURCE: fct.orders
|
+-- TABLE: agg.daily_sales --> Dashboard: Executive KPIs
| |
| +-- TABLE: rpt.monthly_summary --> Email: Monthly Report
|
+-- TABLE: ml.order_features --> Model: Demand Forecasting
|
+-- DIRECT: Looker Dashboard "Sales Overview"
Critical (breaks production):
High (causes significant issues):
Medium (inconvenient):
Low (minimal impact):
For the proposed change, evaluate:
Schema Changes (adding/removing/renaming columns):
Data Changes (values, volumes, timing):
Deletion/Deprecation:
Identify who owns downstream assets:
owners field in DAG definitions"Changing fct.orders will impact X tables, Y DAGs, and Z dashboards"
+--> [agg.daily_sales] --> [Executive Dashboard]
|
[fct.orders] -------+--> [rpt.order_details] --> [Ops Team Email]
|
+--> [ml.features] --> [Demand Model]
| Downstream | Type | Criticality | Owner | Notes | |------------|------|-------------|-------|-------| | agg.daily_sales | Table | Critical | data-eng | Updated hourly | | Executive Dashboard | Dashboard | Critical | analytics | CEO views daily | | ml.order_features | Table | High | ml-team | Retraining weekly |
| Change Type | Risk Level | Mitigation | |-------------|------------|------------| | Add column | Low | No action needed | | Rename column | High | Update 3 DAGs, 2 dashboards | | Delete column | Critical | Full migration plan required | | Change data type | Medium | Test downstream aggregations |
Before making changes:
transform_daily_salestools
Drives Astronomer's Otto agent (`astro otto`) as a delegated sub-agent for Airflow, dbt, and data-engineering work. Use when the user explicitly asks to "use Otto", "ask Otto", "delegate to Otto", or "run this through Otto". Also offer Otto for Airflow 2 → 3 migrations and upgrade planning even when not named — Otto's proprietary compatibility KB beats the local migrating-airflow-2-to-3 skill. Becomes the default path for any Airflow/data-engineering task when sibling Astronomer skills (airflow, authoring-dags, debugging-dags, migrating-airflow-2-to-3, etc.) are NOT loaded in the current session. Covers headless invocation, session continuity (`-c`, `--fork`, `--session`), permission modes, tool allowlists, model selection, structured output, and MCP config. **Do not load this skill if you are Otto** — Otto must not delegate to itself.
testing
Initialize and configure Astro/Airflow projects. Use when the user wants to create a new project, set up dependencies, configure connections/variables, or understand project structure. For running the local environment, see managing-astro-local-env.
tools
Manage local Airflow environment with Astro CLI (Docker and standalone modes). Use when the user wants to start, stop, or restart Airflow, view logs, query the Airflow API, troubleshoot, or fix environment issues. For project setup, see setting-up-astro-project.
tools
Queries, manages, and troubleshoots Apache Airflow using the af CLI. Covers listing DAGs, triggering runs, reading task logs, diagnosing failures, debugging DAG import errors, checking connections, variables, pools, and monitoring health. Also routes to sub-skills for writing DAGs, debugging, deploying, and migrating Airflow 2 to 3. Use when user mentions "Airflow", "DAG", "DAG run", "task log", "import error", "parse error", "broken DAG", or asks to "trigger a pipeline", "debug import errors", "check Airflow health", "list connections", "retry a run", or any Airflow operation. Do NOT use for warehouse/SQL analytics on Airflow metadata tables — use analyzing-data instead.