claude-code-history-viewer: Agent for Claude Code

.claude/agents/ui-verify.md

ui-verify is an agent for Claude Code from jhlee0409/claude-code-history-viewer. It costs 124 tokens per session (596 once invoked), scanned A, original, MIT.

An agent that checks a frontend change in the real rendered browser view, rather than relying only on tests or simulated document output.

In plain words
What is it for?
Use it after changing the React history viewer to check rendering, action reachability, console messages, and synchronization between inputs and dependent views.
Why use it?
It can reveal visible problems such as clipped buttons, blank screens, browser-console errors, or controls that do not update related content.

Agent for Claude Code

Written for Claude Code: installed under .claude/.

This is jhlee0409/claude-code-history-viewer's own configuration. It tells Claude Code how to work on claude-code-history-viewer itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything claude-code-history-viewer configures →

About the project

Claude Code History Viewer is a desktop application and headless web server for browsing, searching, and analyzing conversation histories from many AI coding assistants. It helps developers review their past sessions across tools while keeping the data offline. The project is represented in the catalogue by agents, a setting, a command, and an instruction.

jhlee0409/claude-code-history-viewer · 2,290 stars · on GitHub · jhlee0409.github.io

Reuse

Borrowing it

Nothing to install: this file belongs to jhlee0409/claude-code-history-viewer. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/jhlee0409/claude-code-history-viewer/main/.claude/agents/ui-verify.md
Clone the repo
git clone --depth 1 https://github.com/jhlee0409/claude-code-history-viewer

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for ui-verify

README.md
[![agentmods](https://agentmods.dev/badge/agents/jhlee0409/claude-code-history-viewer/ui-verify/github.svg)](https://agentmods.dev/agents/jhlee0409/claude-code-history-viewer/ui-verify)
Your own site
<a href="https://agentmods.dev/agents/jhlee0409/claude-code-history-viewer/ui-verify"><img src="https://agentmods.dev/badge/agents/jhlee0409/claude-code-history-viewer/ui-verify/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for ui-verify

Your own site · 80×15
<a href="https://agentmods.dev/agents/jhlee0409/claude-code-history-viewer/ui-verify"><img src="https://agentmods.dev/badge/agents/jhlee0409/claude-code-history-viewer/ui-verify.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 124 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 596 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00124 $0.00596
Opus 5.5 $0.00050 $0.00238
Sonnet 5.5 $0.00025 $0.00119
Haiku 4.5 $0.00012 $0.00060

Measured 2mo ago against content hash 6dc894502345, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

ui-verify scanned grade A with 1 finding 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 2mo 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

render with curl / a 200 / jsdom.
.claude/agents/ui-verify.md · 48 lines

What it actually says

You verify a UI change in claude-code-history-viewer (react) renders and works. You check it — you did not build it.

Why you exist

jsdom / a passing unit test / "it compiles" does NOT prove a UI works. Only a real rendered view shows a button pushed off-screen, a broken layout, a console error, or a stale preview. Verify the rendered result.

How to drive a real view

If the Playwright MCP is connected, use its browser_* tools; otherwise open the dev server (vite) and capture a real-browser screenshot of the flow. The kit bundles no browser driver.

  • Start the app with the repo's dev command: vite.
  • The kit does NOT bundle a browser driver. If none is available, say so in the verdict (CANT-VERIFY) and tell the user which setup unlocks it — don't fake a render with curl / a 200 / jsdom.

Checks

  1. Renders — the changed surface actually appears; no error boundary / blank screen.
  2. Reachability — the primary action (save / submit / next) is visible and clickable inside the viewport; not clipped by overflow or pushed below the fold.
  3. Console — no new errors / warnings during the flow.
  4. State sync — a selection / input reflects in the dependent view (preview, summary) — the classic "preview didn't update" bug.

Output (BLUF)

  • Verdict: WORKS (with evidence) / BROKEN (what + where) / CANT-VERIFY (couldn't render — name the missing setup).
  • Evidence: a screenshot / rendered snapshot / console output — a real artifact, never "looks fine".
  • Findings: each with the component / selector.

Constraints

  • A REAL rendered view is the evidence (screenshot / browser snapshot), never jsdom or a claim. curl / a 200 is not a render.
  • Read-only — produce a verdict, make no edits.
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. 2mo ago First seen · 48 lines · 124 tokens per session scan A 6dc894502345

Subscribe to this mod's changes

ui-verify is an agent published in the GitHub repository jhlee0409/claude-code-history-viewer (2,290 stars, last pushed today), licensed MIT. It adds 124 tokens to every session and 596 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other agents, from other repositories

react18-test-guardian

Test suite fixer and verifier for React 16/17 → 18.3.1 migration. Handles RTL v14 async act() changes, automatic batching test regressions, StrictMode double-invoke count updates, and Enzyme → RTL rewrites if Enzyme is present. Loops until zero test failures. Invoked as subagent by react18-commander.

github/awesome-copilot · 81 tokens

test-healer

Classifies one failing E2E test from its artifacts, applies at most one allowed repair from the test-healing catalog, proves it with three sequential reruns and an unchanged assertion set, and returns a verdict with a route. Use per failure inside test-loop; never for production code changes.

HoangNguyen0403/agent-skills-standard · 63 tokens

integration-test-generator

Generates one integration/E2E test from an approved test case spec using existing project patterns. Use for independent Zephyr TC, Playwright, Appium, Flutter, or API test generation.

HoangNguyen0403/agent-skills-standard · 43 tokens

testid-inserter

Inserts stable test ids into production components for each selector gap named by a test plan, following the per-framework insertion policy and never renaming existing ids. Use when a test plan or page object lists selector gaps that block E2E generation.

HoangNguyen0403/agent-skills-standard · 55 tokens

test-planner

Turns approved AC/SRS into an executable test plan (scenarios, seed, selector gaps) for the test-loop workflow. Use for independent test-plan generation from stable requirements.

HoangNguyen0403/agent-skills-standard · 39 tokens

test-gap-finder

Finds missing, weak, or stale test coverage in a diff. Use during review when production logic, user flows, error paths, or acceptance criteria changed.

HoangNguyen0403/agent-skills-standard · 37 tokens