lineage-tracelisted
Install: claude install-skill adnanmokhtar/refract
# Skill: lineage-trace
## Premise
Nobody changes a warehouse model on purpose without knowing its consumers; they do it because finding the consumers is tedious. This skill makes the enumeration cheap and complete, and it is explicit about where its own vision ends — a lineage report that silently omits the BI layer is more dangerous than no report, because it converts an unknown into a false confidence.
Every node in the output is a real path or a real object identifier. "Some dashboards use this" is not a result.
## Halt conditions
- **The dependency graph is incomplete because models reference each other by hardcoded table name** rather than through the framework's reference function. Report the hardcoded references as findings and mark the trace `PARTIAL` — do not present a partial graph as complete.
- **The BI/consumption layer is unreachable** (no API access, no exported model definitions). Report `PARTIAL — consumption layer not traced` and name what access would settle it. Never imply zero dashboards because none were visible.
- **Reverse-ETL / export destinations unknown.** Same rule: name the gap.
## When to run
- Before renaming, deleting, or changing the meaning of any model or column.
- Before a backfill, to enumerate who must be notified and what must be refreshed after cutover.
- When a defect is found, to size its blast radius: how many live surfaces are serving the wrong number right now.
- When hunting cost: models with no downstream consumer that sti