Context-lean tooling for the autonomous coding era

High-signal developer tools built for AI coding agents.

Skim Tools

Stop burning token limits on 3,000-line test suites. Give your agents outline of your code. 4 languages supported.

Coding Transcript

View coding session transcript, that of your own or shared by others. Renders locally to guarantee privacy.

TOOL SUITE 01

Skim Tools

Language-specific, AST-resilient code navigators. Two surgical primitives (glance and block) that break the infinite agent reading loop.

The Agent Context Tax (Default behavior)
  • ✕Context Exhaustion: Dumping 1,000–5,000 line files burns token limits and causes attention drift.
  • ✕The Test Bloat Trap: Test files and mocks make up 50–75% of codebases, flooding prompts with noise.
  • ✕Grep Truncation: Arbitrary line windows cut off signatures, docstrings, or closing braces.
  • ✕Infinite Read Loop: File A references File B references File C — draining tool allowances.
The skim-* Two-Command Mental Model
1. glance (Survey high level)

Map types, functions, methods, and interfaces without bodies. Filters out test noise automatically.

skim-<lang> glance -s <path>
2. block (Surgical zoom)

Extract exact AST-bounded declaration blocks with comments and gutters. Never misses a closing brace.

skim-<lang> block <file> <target>

AST-Resilient Extraction Engine

Unlike regex or grep line windows, skim commands parse syntactic trees. You get complete class/method bodies, comments, and parameter signatures every single time.

Zero Guesswork Parsing

Supported Ecosystems & Installation

Install only the binaries you need for your stack.

skim-goGo 1.22+

Go

Built with standard go/parser (zero deps)

skim-rscrates.io

Rust

Powered by ra_ap_syntax (Rust Analyzer engine)

skim-tsnpm

TypeScript / JS

TypeScript Compiler API + Vue, Svelte, Astro SFCs

skim-pyPyPI

Python

Built with standard ast parser with parso syntax error fallback

AGENT INSTRUCTIONS

How to Teach Your Coding Agent

Equip Antigravity, Claude Code, Codex or OpenCode with the skim mental model so they stop ingesting massive files automatically.

Zero-Effort Automated Setup

Or have your agent install and configure it for you

Paste this meta-prompt directly into your coding assistant chat. The agent will inspect your machine's package managers, install the binaries you need, and wire up your global system instructions.

PROMPT PREVIEWReady to paste into chat
I want to equip you with the `skim-*` code navigation tools (Go, Rust, TypeScript, Python) to minimize AI context waste and avoid reading entire files.

### 1. Installation Commands
- TypeScript / JS: `npm install -g skim-ts`
- Go: `go install github.com/benedictjohannes/programming-helper-utils/skim-go@latest`
- Rust: `cargo install skim-rs`
- Python: `pipx install skim-python` (or `uv tool install skim-python` / `pip install --user skim-python`)

### 2. Instructions for You (the Agent)
1. Ask me which of these languages I work with (or if I want all of them).
2. Check if the relevant `skim-*` binaries are already on my `$PATH`. If not, run or guide me through running the matching install command(s) above.
3. Confirm with me where my global instructions / system prompt file is located (e.g. AGY global rules, `CLAUDE.md`, `.cursorrules`, etc.), and ask if I would like to tweak the wording before appending the template below.

---

### Template for Inclusion in Global Instructions

# Exploring Code Efficiently with skim-*
For py, go, rs, and TypeScript family (ts, tsx, js, jsx, mts, vue, svelte, astro), prefer `skim-py`, `skim-go`, `skim-rs`, and `skim-ts` over fully reading files or blind grep:

- `skim-<lang> glance [options] <path>...`: Outline files/directories without reading full bodies.
  - -s: Show declarations & return types (omits function/method bodies).
  - -d: Expand struct fields, interface members, enum variants, and class properties.
  - -u: List top-level imports / use statements.
  - -f <text>: Case-insensitive keyword filter (repeatable for AND match).
  - -t: Include test files and test blocks (excluded by default).

- `skim-<lang> block [options] <file> <target>`: Extract verbatim code block with line gutters.
  - Target format: Standalone name or qualified member (Type.Method / Type::method).
  - --raw: Print without line number gutters (for clean copy & tool edit targeting).
  - -t: Search within test files/blocks.

Recommended Workflow:
1. `skim-<lang> glance <path> -s` (optionally `-f <keyword>`) to locate relevant types/functions.
2. `skim-<lang> block <file> <target>` to inspect only the required function or struct.

Manual Agent System Prompt Snippet

Paste this into your global agent instructions (~/.gemini/GEMINI.md, ~/.claude/CLAUDE.md, or other global rule file).

# Exploring Code Efficiently with skim-*
For py, go, rs, and TypeScript family (ts, tsx, js, jsx, mts, vue, svelte, astro), prefer `skim-py`, `skim-go`, `skim-rs`, and `skim-ts` over fully reading files or blind grep:

- `skim-<lang> glance [options] <path>...`: Outline files/directories without reading full bodies.
  - -s: Show declarations & return types (omits function/method bodies).
  - -d: Expand struct fields, interface members, enum variants, and class properties.
  - -u: List top-level imports / use statements.
  - -f <text>: Case-insensitive keyword filter (repeatable for AND match).
  - -t: Include test files and test blocks (excluded by default).

- `skim-<lang> block [options] <file> <target>`: Extract verbatim code block with line gutters.
  - Target format: Standalone name or qualified member (Type.Method / Type::method).
  - --raw: Print without line number gutters (for clean copy & tool edit targeting).
  - -t: Search within test files/blocks.

Recommended Workflow:
1. `skim-<lang> glance <path> -s` (optionally `-f <keyword>`) to locate relevant types/functions.
2. `skim-<lang> block <file> <target>` to inspect only the required function or struct.
TOOL SUITE 02

Coding Transcript Viewer

A lightweight, standalone single-file HTML viewer for AI agent conversation transcripts. Review, debug, and share agent trajectories with total privacy.

100% Client-Side Privacy

All parsing, search, and diffing execute strictly inside your local browser runtime. Zero logs, zero telemetry, zero uploads.

Tested on real transcripts

Fully tested and optimized for Antigravity and OpenCode sessions. More are coming.

Interactive Diffs & Terminals

Side-by-side Target vs. Replacement diff visualization for tool edits, syntax highlighting across 9 languages, and terminal styling.

Recursive Collapsing

Deep collapse conversation turns, XML tag bubbles (<USER_REQUEST>, etc.), and individual tool calls to keep reviews fast.

Real-Time Search & Cycling

Real-time regex & full-text match navigation with Enter / Shift+Enter, smooth scrolling, and flash highlights.

Single-File HTML Distribution

Compiles JS, CSS, and icons into a single self-contained dist/index.html with zero CDN or external dependencies.

Ready to inspect your sessions?
Drag and drop your agent transcript file right now
Supports Antigravity JSONL, OpenCode JSON, Claude Code, and ChatGPT dumps.