How Your AI Uses the Tools
You don’t call these tools directly — your AI calls them automatically based on your questions. When you ask “why is my app slow?”, the AI might:- Call
limelight_get_session_overviewto get the big picture - Call
limelight_find_issuesto scan for detected anti-patterns - Call
limelight_get_render_profileto check for expensive re-renders - Call
limelight_query_networkto find slow requests - Call
limelight_investigate_erroron anything problematic
Debugging Workflows
”Something is broken”
Best for: errors, crashes, unexpected behavior.”Something is slow”
Best for: performance issues, render jank, slow API calls.”Something is wrong with data”
Best for: stale data, wrong values, state bugs.”What’s happening right now?”
Best for: understanding runtime state, verifying behavior.”Run a health check”
Best for: proactive scanning, code review, before shipping.Tool Reference
Overview Tools
limelight_get_session_overview
The starting point. Returns a high-level snapshot: event counts, error summary, suspicious items, top-rendered components, and session metadata. Your AI almost always calls this first.
| Parameter | Type | Default | Description |
|---|---|---|---|
last_n_seconds | number | — | Only include events from the last N seconds |
limelight_find_issues
Proactive scanner. Scans all captured events for performance issues, bugs, and anti-patterns. Runs the correlation engine and Debug IR pipeline on anything that looks problematic.
| Parameter | Type | Default | Description |
|---|---|---|---|
verbose | boolean | false | Include causal summaries and event IDs |
limit | number | 5 | Max issues to return |
deduplicate | boolean | true | Group similar issues (e.g., 20 components with same unstable props become 1 entry) |
Investigation Tools
limelight_investigate_error
The most powerful tool. Runs the full Debug IR pipeline on an error — produces a causal chain, state deltas, violations, excluded causes, and suggested fixes.
| Parameter | Type | Default | Description |
|---|---|---|---|
error_id | string | — | Specific event ID to investigate |
error_pattern | string | — | Substring to match against error messages, URLs, and stack traces |
scope | "most_recent" | "all" | "most_recent" | Investigate one error or all matches |
verbose | boolean | false | Full detail including raw state deltas and extended causal chains |
error_id, error_pattern, or neither (investigates the most recent error).
limelight_investigate_component
Component deep-dive. Full analysis of a React component — render history, prop changes driving re-renders, and correlated state/network activity.
| Parameter | Type | Default | Description |
|---|---|---|---|
component_name | string | — | Component to investigate (partial matches supported) |
verbose | boolean | false | Full analysis with causal chain, state deltas, excluded causes |
limelight_correlate_event
Trace cause and effect. Given any event ID, finds everything related to it using the correlation engine. Returns a timeline (before/concurrent/after) and a correlation graph with typed edges and confidence scores.
| Parameter | Type | Default | Description |
|---|---|---|---|
event_id | string | — | Event to correlate (required) |
verbose | boolean | false | Full graph with all nodes and edges |
Query Tools
limelight_query_network
Network request search. Filter by URL, method, status code, speed, and time range.
| Parameter | Type | Default | Description |
|---|---|---|---|
url_pattern | string | — | URL substring match |
method | string | — | HTTP method (GET, POST, etc.) |
status_range | { min, max } | — | Status code range (e.g., { min: 400, max: 599 } for all errors) |
min_duration_ms | number | — | Only show requests slower than this (ms) |
last_n_seconds | number | — | Time window |
limit | number | 10 | Max results |
include_bodies | boolean | false | Include request/response bodies |
limelight_query_logs
Console log search. Filter by level and message content.
| Parameter | Type | Default | Description |
|---|---|---|---|
level | "error" | "warn" | "log" | "info" | "debug" | — | Log level filter |
message_pattern | string | — | Case-insensitive substring search |
limit | number | 10 | Max results |
last_n_seconds | number | — | Time window |
include_stack_traces | boolean | auto | Include stack traces (defaults to true for errors) |
limelight_get_timeline
Chronological event view. See everything that happened in a time window — requests, logs, renders, state changes — as timestamped one-line summaries.
| Parameter | Type | Default | Description |
|---|---|---|---|
last_n_seconds | number | 10 | Time window |
event_types | array | all | Filter: ["request", "log", "render", "stateUpdate"] |
min_severity | "info" | "warning" | "error" | — | Minimum severity filter |
offset | number | 0 | Skip N events for pagination |
limelight_get_event
Single event inspection. Retrieve the complete details of any event by ID — full bodies, headers, stack traces, state diffs, or render details depending on event type. Use this after finding event IDs from other tools.
| Parameter | Type | Description |
|---|---|---|
event_id | string | The event ID to retrieve (required) |
Profiling Tools
limelight_get_render_profile
Component performance profiling. Shows which components are rendering, how often, how expensively, and why. Sort by render count, total cost, or velocity.
| Parameter | Type | Default | Description |
|---|---|---|---|
component_name | string | — | Filter to one component (substring match) |
suspicious_only | boolean | false | Only show flagged components |
sort_by | "render_count" | "render_cost" | "velocity" | "render_cost" | Sort order |
limit | number | 10 | Max results |
verbose | boolean | false | Full profile with cause breakdown and prop changes |
limelight_get_state_snapshot
State store inspection. View current Zustand or Redux store contents and recent change history.
| Parameter | Type | Default | Description |
|---|---|---|---|
store_id | string | — | Specific store (e.g., “authStore”) |
path | string | — | Dot-notation path (e.g., “user.preferences.theme”) |
include_history | boolean | false | Include recent state changes |
history_limit | number | 10 | Max history entries |
verbose | boolean | false | Full state values instead of type descriptions |
What Your AI Sees vs. What You See
When your AI calls a Limelight tool, it receives structured JSON — not screenshots or formatted HTML. This is intentional. Structured data lets the AI:- Cross-reference events across tools (event IDs are consistent)
- Build up a mental model of your app’s runtime behavior
- Correlate what it sees in the runtime with what it knows from your source code
- Suggest precise fixes rather than generic advice