agent-lens CLAUDE.md

A project guide for AgentLens, a system for running repeated Claude Code experiments and recording what happens. It covers the project structure, supported agent engines, experiment settings, session replay, and evaluation.

In plain words
What is it for?
Use it to run multi-session agent experiments, compare or replay sessions, resample runs, capture API activity, track file changes, and evaluate results.
Why use it?
It helps coding agents understand how experiments are configured and how their results are captured. That avoids guessing where to run sessions or how to inspect their records.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/dreadnode/agent-lens/claude-md
Clone the repo
git clone --depth 1 https://github.com/dreadnode/agent-lens
Per session 2,762 This file is loaded in full into every session.
When invoked 2,762 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.02762 $0.02762
Opus 5 $0.01381 $0.01381
Sonnet 5 $0.00552 $0.00552
Haiku 4.5 $0.00276 $0.00276

Measured 2d ago against content hash b0f75ee00414, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

agent-lens CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 224 lines

How it starts

The opening of the file, as written. The whole thing — 224 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AgentLens

Harness for running multi-session Claude Code experiments and capturing trajectories in ATIF format. Built for AI alignment and interpretability research.

Project structure

src/harness/
  config.py          # Pydantic models: RunConfig, SessionConfig, AgentConfig
  cli.py             # Typer CLI: harness run/list/inspect/resample/replay
  experiment.py      # Multi-session orchestrator
  runner.py          # Single session executor (engine-agnostic)
  engines/           # Engine abstraction
    base.py          #   normalized EngineEvent model + Engine interface
    claude_code.py   #   Claude Agent SDK engine
    codex.py         #   Codex CLI engine (codex exec --json)
  atif_adapter.py    # Normalized EngineEvents → ATIF steps
  judge.py           # Auto-judge: LLM rubric evaluation + early exit
  state.py           # Per-step write tracking via shadow git
  shadow_git.py      # Shadow git: invisible change tracking for working directory
  proxy.py           # Reverse proxy for raw API request capture
  resample.py        # Turn-level resample implementation
  resample_session.py # Session-level resample implementation
  transcript.py      # Transcript parser and truncation for turn-level replay
  uuid_map.py        # UUID map: correlates transcript, ATIF, and raw API dumps
  replay.py          # Turn-level replay orchestrator

ui/                  # SvelteKit web UI for exploring runs
  src/routes/        # Pages: runs list, session viewer, resamples
  src/lib/           # Components, server utils, types

examples/            # Example configs (isolated.yaml, chained.yaml)
tests/               # Test configs (smoke.yaml, subagent.yaml)
experiments/         # Real experiment configs
repos/               # Target repos/working directories for experiments
runs/                # Output directory (gitignored)

Running experiments

harness run <config.yaml>                    # Run experiment
harness run config.yaml --tag my-tag         # With tag
harness run config.yaml --run-name my-run    # Custom name
harness list                                 # List runs
harness inspect runs/<name>                  # Inspect run
harness replay runs/<name> --session 1 --turn 5 --count 3  # Replay from turn
harness replay runs/<name> --session 1 --list-turns         # List turns

Read the full file on GitHub · 224 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 224 lines · 2,762 tokens per session scan A b0f75ee00414

Subscribe to this mod's changes

agent-lens CLAUDE.md is an instructions file published in the GitHub repository dreadnode/agent-lens (114 stars, last pushed 2mo ago), licensed MIT. It adds 2,762 tokens to every session, about $0.0138 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.