Sidewatch

Swift Agent Session — AI skill for Claude Code

AI community

A tiny, dependency-free reader for terminal AI coding-agent session transcripts — maps an agent's on-disk session onto one agent-agnostic model (activity timeline, token/cost telemetry, edited-files/t.

How to install Swift Agent Session

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Sidewatch/swift-agent-session and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Swift Agent Session does

A tiny, dependency-free reader for terminal AI coding-agent session transcripts — maps an agent's on-disk session onto one agent-agnostic model (activity timeline, token/cost telemetry, edited-files/to-dos roll-up) so review surfaces stay identical across agents. Read-only, no network, no telemetry.

Alternatives in AI

  • Osaurus — Own your AI. The native macOS harness for AI agents -- any model, persistent memory, autonomous execution, cry 5.1k ★
  • Claude Usage Tracker — Native macOS menu bar app for tracking Claude AI usage limits in real-time 2.2k ★
  • Swift Agent Skills — A curated directory of open-source AI agent skills for Swift and Apple platform development 1.5k ★

README

Swift Agent Session

A tiny, dependency-free reader for terminal AI coding-agent session transcripts. It maps an agent's on-disk session onto one agent-agnostic model — an activity timeline, token/cost telemetry, and an edited-files/to-dos roll-up — so review surfaces stay identical across agents. Read-only: it never talks to a model, keeps no account, and sends no telemetry.

Features

  • 🧭 Agent-agnostic modelTimelineEvent, AgentUsage, AgentSummary
  • 🔌 Adapter protocol — implement AgentAdapter once per agent
  • 📐 Turn boundariesTurnBoundary splits the flat timeline into agent turns (one user prompt to just before the next), with a content-derived stable id so a checkpoint can be pinned to a turn
  • 🤖 Claude Code adapterClaudeCodeAdapter parses ~/.claude/projects/…/*.jsonl transcripts. The only adapter shipped. Codex, Gemini CLI and OpenCode adapters existed until 11 Sep 2026 and were removed: their fixtures were written by hand from each tool's published schema and never run against a real session, and an adapter nobody can run reports "no session" forever without telling anyone. Recover them from git history, and only restore one with fixtures captured from a REAL run.
  • 🕘 Activity timeline — prompts, assistant prose, tool calls, and file edits, with local-clock HH:MM timestamps
  • 💰 Telemetry — context fill % (AgentUsage.contextPercent), output tokens, and estimated USD cost, deduplicated per API response
  • Plan vs actual — the files edited (Edit / Write / MultiEdit / NotebookEdit). summary.todos is currently always empty: it parses Claude Code's TodoWrite tool, which was renamed to TaskCreate/TaskUpdate; across 63 real transcripts TodoWrite appears zero times. Fixable, and a good example of why anything keyed on another tool's vocabulary needs a test that fails when that vocabulary moves.
  • 🔎 Auto-detectionAgents.active(for:) picks the agent that owns a project
  • 🧪 **Fu