Keysmith Lens, replays for your coding agents

You wrote the rules. Did the model get them? Look and see.

01Every rule: did it arrive?02Step by step: when did it show up?03After compaction: when did it go?04Down to the text: which line is it?

A tour of Keysmith Lens

The Keysmith family on GitHub

It looks. It doesn't touch.

Read-only

Lens only reads run folders. It doesn't change your project or your agent's settings, and it never plants markers in your rule files.

Matched by content

Whether a rule arrived is found by searching the request for the rule file's own text. How many lines, in which segment: open it and check.

Stays on your computer

Recording and building happen on your machine. No account, no upload, no analytics or telemetry.

No keys on disk

Recording saves the method, path and body only; headers are never written. The HTML embeds request text, so redact before you share it.

Three request formats, covering the main coding agents.

Claude Code

Tested
v2.1/ messages

Anthropic Messages (/v1/messages)

Project home
  • Set ANTHROPIC_BASE_URL to the local proxy to record
  • System prompt, system reminders and rules attached to tool results are shown apart
  • Requests after context compaction are recorded too, and dropped rules are flagged
  • Records HTTP requests through the proxy only; it does not read Claude Code's own session files

Rule files it reads

CLAUDE.mdAGENTS.md--append-system-prompt

Codex

Tested
v0.144/ responses

OpenAI Responses (/v1/responses)

Project home
  • Add a provider in config.toml whose base_url is the local proxy
  • instructions and developer messages count as the system layer
  • Function calls and outputs show as tool calls and tool results
  • Only requests through that provider are recorded

Rule files it reads

AGENTS.mdmodel_instructions_file

OpenCode · Pi

Tested
v1.18 · 1.0/ responses

OpenAI Responses (/v1/responses)

Project home
  • OpenCode: set baseURL on the provider in opencode.json
  • Pi: set baseUrl in ~/.pi/agent/models.json
  • Global, project and appended system prompts are shown apart
  • Pass rule files with other names using --rule

Rule files it reads

AGENTS.mdAPPEND_SYSTEM.mdinstructions

OpenHands

Tested
v1.49/ responses · chat

Responses or Chat Completions

Project home
  • Point base_url in the LLM settings at the local proxy
  • Requests without tools, such as title generation, are faded and never count as a drop
  • Skill frontmatter is not counted as rule text
  • Older versions use /v1/chat/completions, also supported

Rule files it reads

AGENTS.mdskills/*.md