trace_data_flowlisted
Install: claude install-skill feralbureau/luminy
# trace_data_flow
Data flows through systems in predictable patterns. Once you know how to read a codebase's architecture, you can follow any piece of data from its origin to its destination. This skill gives you a systematic method for doing that.
## Why Data Tracing Matters
Many bugs aren't caused by a single broken function — they're caused by data being wrong by the time it reaches a function. To fix them, you need to know where the data becomes wrong, not just where the error surfaces.
Data tracing is also the fastest way to understand an unfamiliar codebase: follow one request or one piece of data, and you'll understand the architecture.
## The Three Questions
For any piece of data, ask:
1. **Where does it originate?** (user input, database, external API, config file, hardcoded value, computed from other data)
2. **How is it transformed?** (what functions/methods touch it, what validations apply, what conversions happen)
3. **Where does it land?** (database, external service, response body, log, cache, memory)
## Tracing a Web Request (Django / typical MVC)
Follow this path for an incoming HTTP request:
```
HTTP Request
↓
URL Router (urls.py) → matches URL pattern → selects View
↓
View / Controller (views.py)
→ parses request body / query params
→ validates input (serializer, form, Pydantic model)
→ calls Use Case or Service
↓
Use Case / Service (services/, use_cases/)
→ applies business logic
→ calls Repository
↓
Repository (repositor