Trace a behavior, event, or request path through the Stave codebase. Use when the request asks "where does this happen", "execution path", "call flow", "흐름 추적", "어디서 처리돼", or needs the exact producer -> bridge -> consumer chain.
68
83%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Trace forward and backward across boundaries.
| Boundary | Files to confirm |
|---|---|
| Renderer → preload | src/types/window-api.d.ts, electron/preload.ts |
| Preload → main IPC | electron/main/ipc/*.ts, strict Zod schemas in electron/main/ipc/schemas.ts |
| IPC → provider runtime | electron/providers/claude-sdk-runtime.ts, electron/providers/codex-sdk-runtime.ts, electron/providers/adapter.factory.ts |
| Provider emit → normalize | src/lib/providers/provider.types.ts (TS union) + src/lib/providers/schemas.ts (Zod union, strictly validated at parseNormalizedEvent) |
| Normalized event → UI state | src/lib/session/provider-event-replay.ts, src/store/app.store.ts consumers, src/components/session/chat-panel-message-parts.tsx |
| Terminal IPC | electron/main/ipc/terminal.ts, electron/host-service/terminal-runtime.ts, src/components/layout/useTerminalSessionManager.ts |
docs/architecture/conversation-flow.md.src/lib/session/provider-event-replay.ts and the chat panel components.electron/host-service/, remember that async runtime functions (e.g. attachSession) must be awaited before being passed to respond() — JSON.stringify(Promise) silently becomes {}.Return:
parseNormalizedEvente275ad5
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.