Key Types

SkillCommunication

Reference for Splitrail's core data types. Use when working with ConversationMessage, Stats, DailyStats, or other type definitions.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Key Types skill

What this skill tells your AI

The instructions your AI receives, as published by piebald-ai/splitrail in .claude/skills/types/SKILL.md and read by ahel’s review.

Read src/types.rs for full definitions.

Core Types

  • ConversationMessage - Normalized message format across all analyzers. Contains application source, timestamp, hashes for deduplication, model info, token/cost stats, and role.

  • Stats - Comprehensive usage metrics for a single message including token counts, costs, file operations, todo tracking, and composition stats by file type.

  • DailyStats - Pre-aggregated stats per date with message counts, conversation counts, model breakdown, and embedded Stats.

  • Application - Enum identifying which AI coding tool a message came from.

  • MessageRole - User or Assistant.

Hashing Strategy

  • local_hash: Deduplication within a single analyzer
  • global_hash: Deduplication on upload to Splitrail Cloud

Aggregation

Use crate::utils::aggregate_by_date() to group messages into daily stats. See src/utils.rs.

Signals

GitHub stars
220
Forks
25
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
types
Source
github.com/piebald-ai/splitrail