Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Analyze and design control flows and data structures. Produces compact ASCII tree diagrams showing triggers, call chains, payload shapes, state mutations, and re-render effects. Use when user asks to diagram, trace, visualize, or design a flow or data structure.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-02 | ✗→✓ | ▲ Improved | 11% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -25% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -39% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -8% | 0% |
Read the relevant source code and produce ASCII tree diagrams inside txt blocks.
Example:
txtUser taps "Archive" │ ├─ handleActionPress(action: SessionActionItem) │ └─ onClose() → setActionsAnchor(null) │ ├─ sessionKill(sessionId: string) │ ├─ POST /api/sessions/:id/kill │ └─ → { success: boolean, message?: string } │ └─ deleteSession(sessionId) ├─ mutates: sessions, sessionMessages, gitStatus, fileCache ├─ rebuilds: sessionListViewData └─ re-renders: SessionsListWrapper (data ref changed)
For data structures, show the shape and what depends on it:
txtSessionRowData (flat primitives, cheap deep-equal) ├─ id, name, subtitle, avatarId ← identity + display ├─ state: SessionState ← collapsed from presence + agentState + thinking ├─ hasDraft: boolean ← collapsed from draft string ├─ activeAt?: number ← only inactive sessions (avoids heartbeat diffs) ├─ machineId, path, homeDir ← grouping in ActiveSessionsGroup └─ completedTodosCount, totalTodosCount │ consumed by: ├─ SessionItem → renders purely from props, no store hooks ├─ ActiveSessionsGroup → groups by machineId + path └─ useDeepEqual → 12 primitive comparisons vs full Session tree
txt for alignmenttxt blocksOther measured skills in the registry, with their headline benchmark lift.