From universe
Traces feature, request, or data flows through codebase from entry points (API routes, UI handlers, jobs) to storage, documenting layers, transformations, side effects, and dependencies via graphs or grep.
npx claudepluginhub mbwsims/claude-universe --plugin universeThis skill is limited to using the following tools:
Follow a feature from entry point through every layer of the codebase. Produces a visual
Traces execution paths, maps dependencies, follows data flows, and explores unfamiliar code systematically from entry points to build incremental understanding.
Traces code execution paths, data flows, and call graphs via /sourceatlas:flow queries. Reveals boundaries, entry points, cycles for understanding features and implementations.
Traces actual code paths in complex codebases across files, maps architecture, data flows, integrations, and patterns with strict evidence standards. Use for deep 'how does X work' analysis or system investigations.
Share bugs, ideas, or general feedback.
Follow a feature from entry point through every layer of the codebase. Produces a visual flow showing exactly how data moves: route → handler → service → database, with every transformation, validation, and side effect along the way.
Understanding data flow is a prerequisite for safe changes. You cannot safely modify code you don't understand.
If lenskit_graph is available, call it FIRST to get the full project dependency graph.
Use this data throughout the trace to:
For the files at the center of the flow, call lenskit_analyze to add coupling and risk
context so you can flag especially fragile handoff points.
This step takes seconds and saves minutes of manual grep work.
If lenskit_graph is unavailable, build the import chain manually: for each file in
the trace, use Grep to find import.*from statements and follow them forward. This is
slower but produces the same trace. Skip the hub/cycle annotations.
Find where the feature begins:
POST /api/users)If the user specified a feature name (e.g., "checkout"), find the entry point by grepping for related routes, components, or handlers.
For event-driven / pub-sub systems: The entry point may not be an HTTP route. Look for:
emit('eventName', ...), publish('topic', ...)on('eventName', ...), subscribe('topic', ...)consume('queue', handler), @Listener('topic')Starting from the entry point, follow the execution path. At each step, document:
Read each file in the chain. Follow imports, function calls, and async operations. Don't guess — read the actual code.
As you trace, identify which architectural layer each step belongs to:
| Layer | Examples | Role |
|---|---|---|
| Entry | Route handler, controller, API gateway | Receives external input |
| Validation | Schema validation, auth checks, input parsing | Ensures input is safe and valid |
| Business Logic | Services, use cases, domain models | Core logic and decisions |
| Data Access | Repositories, ORM calls, query builders | Reads/writes persistent state |
| External | API clients, email services, queue publishers | Communicates with external systems |
| Response | Serializers, formatters, view models | Shapes output for the caller |
For framework-specific layer identification, see references/layer-patterns.md.
While tracing, flag:
Report format:
## Trace — {feature name}
### Flow Summary
{One-line description of the complete flow}
### Data Flow
Entry: {entry point}
↓ {what data}
Validation: {validation step}
↓ {validated data}
Logic: {business logic}
↓ {processed data}
Storage: {database/API call}
↓ {result}
Response: {what goes back to caller}
### Branches (if applicable)
- Add one bullet per meaningful branch: **{condition}** -> {where it goes}
- **Default path**: {which branch is the happy path}
### Detailed Steps
**Step 1: {file}:{function}** — {layer}
Input: {what comes in}
Does: {what happens}
Output: {what goes out}
Side effects: {any}
**Step 2: {file}:{function}** — {layer}
...
### Observations
{Missing validation, error handling gaps, test coverage, etc.}
The flow diagram should be scannable in 10 seconds. The detailed steps provide depth when needed.
/map — Understand overall architecture before tracing/impact — Check blast radius of modules in the trace/explain — Deep understanding of a layer you traced throughreferences/layer-patterns.md — Common architectural layer patterns and how to
identify them in different frameworks