원클릭으로
ultracode-trace
Code tracing, debugging, stacktrace analysis, "why not called", flow analysis, state dependencies
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Code tracing, debugging, stacktrace analysis, "why not called", flow analysis, state dependencies
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | UltraCode Trace |
| version | 1.1.0 |
| description | Code tracing, debugging, stacktrace analysis, "why not called", flow analysis, state dependencies |
| triggers | ["debugging","why not called","flow analysis","trace","state dependencies","stacktrace","error trace","crash","backtrace"] |
Auto-activated for: Debugging, "why not called", flow analysis, state dependencies, stacktrace diagnosis
Static analysis of code execution flow without running the code.
| Question | Tool | Returns |
|---|---|---|
| "Parse this stacktrace / crash log" | analyze_stacktrace | Error category, crash location, call chain, fixes |
| "How does code get from A to B?" | trace_flow | Paths, states, conditions, Mermaid |
| "Why isn't this method called?" | trace_backwards | Callers, blocking conditions, diagnosis |
| "How does data affect state?" | trace_data_flow | Sources, transformations, behavior matrix |
| "What changes with different values?" | analyze_state_impact | Scenarios, conflicts, ripple effects |
| "What conditions affect this scenario?" | find_decision_points | Decision points with classification |
Parse and diagnose stacktraces from 8 languages. Auto-detects language, resolves frames to code graph entities, classifies errors, runs backwards trace and impact analysis.
analyze_stacktrace({
stacktrace: `TypeError: Cannot read property 'name' of undefined
at processUser (src/users.ts:42:15)
at handleRequest (src/server.ts:100:5)`,
format: "text"
})
Supported: JS/TS (V8/Node), Python traceback, Java/Kotlin (Caused by chains), C#/.NET, Go goroutine panics, Rust panic/RUST_BACKTRACE, C/C++ (GDB/ASAN/macOS), Zig error traces.
Returns:
| Param | Type | Default | Description |
|---|---|---|---|
stacktrace | string | required | Full stacktrace text |
language | enum | auto | javascript / python / java / csharp / go / rust / c/c++ / zig |
depth | number | 10 | Max backwards trace depth |
includeImpactAnalysis | boolean | true | Run impact analysis on crash entity |
includeBackwardsTrace | boolean | true | Run backwards trace from crash point |
format | enum | "text" | text / json / mermaid |
highlightRecentChanges | boolean | false | Annotate crash/call chain entities with recently-changed status + entity history for crash point |
recentCommitsCount | number | 10 | Number of recent commits to consider |
| Category | Examples |
|---|---|
null_reference | TypeError, NullPointerException, nil pointer dereference |
type_error | ClassCastException, type assertion failed |
index_out_of_bounds | IndexError, slice bounds out of range |
io_error | ENOENT, FileNotFoundError |
network_error | ECONNREFUSED, fetch failed |
memory_error | OutOfMemoryError, SIGSEGV, stack overflow |
concurrency_error | deadlock, ConcurrentModificationException |
timeout_error | ETIMEDOUT, deadline exceeded |
import_error | ModuleNotFoundError, cannot find module |
permission_error | EPERM, access denied |
Find all execution paths between two points:
trace_flow({
from: "handleLogin",
to: "redirectToHome",
trackStates: true,
trackConditions: true,
maxDepth: 15,
format: "mermaid"
})
Returns:
Understand why a method isn't being called:
trace_backwards({
target: "FinishTask",
question: "why_not_called",
depth: 15,
includeStates: true
})
Question types:
why_not_called — find blocking conditionswhat_affects — all dependenciesdependencies — full dependency graphReturns:
Trace how data affects target state:
trace_data_flow({
entryPoint: "AppInit",
targetState: "startPage",
dataSources: ["config", "api:fetchUser"],
trackTransformations: true,
highlightRecentChanges: true // annotate steps with recently-changed entities
})
Returns:
recentChangeSummary — recently modified entities in the flow (with highlightRecentChanges)Understand how state affects different scenarios:
analyze_state_impact({
state: "user.isAuthenticated",
scenarios: [
{ value: true, label: "logged in" },
{ value: false, label: "logged out" }
],
highlightRecentChanges: true // annotate usages with recently-changed status
})
Returns:
recentChangeSummary — recently modified entities (with highlightRecentChanges)Find all places where code makes decisions:
find_decision_points({
scenario: "checkout flow",
includeGuards: true,
groupBy: "impact",
highlightRecentChanges: true // annotate with recently-changed status
})
Decision types: validation, api_response, state_mutation, guard, loop, error_handling, feature_flag
Impact levels: critical, high, medium, low
// Step 1: Parse the stacktrace
analyze_stacktrace({
stacktrace: `NullPointerException: ...
at com.app.UserService.getProfile(UserService.java:42)
at com.app.Controller.handle(Controller.java:15)`,
format: "text"
})
// -> Category: null_reference, Severity: high
// -> Crash: UserService.getProfile at line 42
// -> Fix: Add null check before accessing property
// Step 2: Trace backwards from crash point
trace_backwards({
target: "UserService.getProfile",
question: "what_affects"
})
// -> Callers: Controller.handle, ScheduledJob.run
// -> Blocking: user == null when called from ScheduledJob
trace_backwards({
target: "sendNotification",
question: "why_not_called"
})
// -> Finds: "user.preferences.notifications === false" blocks
analyze_state_impact({
state: "user.preferences.notifications",
scenarios: [
{ value: true, label: "enabled" },
{ value: false, label: "disabled" }
]
})
trace_data_flow({
entryPoint: "loadDashboard",
targetState: "dashboardData"
})
// -> Shows: API -> parse -> validate -> setState
// -> Matrix: if API error -> fallback state
=== Stacktrace Diagnosis ===
HIGH: TypeError: Cannot read property 'name' of undefined
Category: null_reference
Frames: 5 total, 3 resolved
--- Crash Point ---
processUser (src/users.ts:42)
--- Suggested Fixes ---
[high] Add null/undefined check before accessing property
flowchart TD
F0["processUser:42"]:::crash
F1["handleRequest:100"]:::resolved
F1 --> F0
classDef crash fill:#ff4444,color:#fff
classDef resolved fill:#4488ff,color:#fff
All 6 tracing tools support highlightRecentChanges=true to cross-reference results with Prolly Tree commit history:
recentChangeSummary added to output with recently modified/added entitiesrecentlyChanged: true annotated on individual steps/callers/decision pointsanalyze_stacktrace additionally retrieves crashPointHistory — last 3 commits for the crash entity| Tool | Key Params |
|---|---|
analyze_stacktrace | stacktrace (required), language, format, depth, highlightRecentChanges |
trace_flow | from + to (required), format, maxDepth, trackStates, highlightRecentChanges |
trace_backwards | target + question (required), depth, includeStates, highlightRecentChanges |
trace_data_flow | entryPoint + targetState (required), dataSources, highlightRecentChanges |
analyze_state_impact | state + scenarios (required), scope, highlightRecentChanges |
find_decision_points | scenario (required), groupBy, includeGuards, highlightRecentChanges |
ultracode — Code analysis, semantic search, refactoring, code modification, securityultracode-autodoc — Working with .autodoc/ directory