Agent skill
tui
Guide for Splitrail's terminal UI and file watching. Use when modifying the TUI, stats display, or real-time update logic.
Install this agent skill to your Project
npx add-skill https://github.com/Piebald-AI/splitrail/tree/main/.claude/skills/tui
SKILL.md
Real-Time Monitoring & TUI
Splitrail provides a terminal UI with live updates when analyzer data files change.
Source Files
src/tui.rs- TUI entry point and renderingsrc/tui/logic.rs- TUI state management and input handlingsrc/watcher.rs- File watching implementation
Components
FileWatcher (src/watcher.rs)
Watches analyzer data directories for changes using the notify crate. Triggers incremental re-parsing on file changes and updates TUI via channels.
RealtimeStatsManager
Coordinates real-time updates: background file watching, auto-upload to Splitrail Cloud (if configured), and stats updates to TUI via tokio::sync::watch.
TUI (src/tui.rs, src/tui/logic.rs)
Terminal interface using ratatui:
- Daily stats view with date navigation
- Session view with lazy message loading
- Real-time stats refresh
Key Patterns
- Channel-based updates - Stats flow through
tokio::sync::watchchannels - Lazy message loading - Messages loaded on-demand for session view to reduce memory
Adding Watch Support to an Analyzer
Implement get_watch_directories() in your analyzer to return root directories for file watching. See src/analyzer.rs for the trait definition.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
new-analyzer
Guide for adding a new AI coding agent analyzer to Splitrail. Use when implementing support for a new tool like Copilot, Cline, or similar.
mcp
Guide for working with Splitrail's MCP server. Use when adding tools, resources, or modifying the MCP interface.
pricing
Guide for updating model pricing in Splitrail. Use when adding new AI model costs or updating existing pricing data.
types
Reference for Splitrail's core data types. Use when working with ConversationMessage, Stats, DailyStats, or other type definitions.
performance
Performance optimization guidelines for Splitrail. Use when optimizing parsing, reducing memory usage, or improving throughput.
patch-creation
Create and register new patches for tweakcc. Use when adding new customizations to Claude Code.
Didn't find tool you were looking for?