ReactScope gives AI agents — and the humans reviewing their work —
structured, machine-readable visibility into React components.
Every render. Every state. Every token. Every reason something re-rendered.
CategoryDesign Tooling
InterfaceCLI + Static Site
TargetAI Agents + Designers
StatusIn Spec · March 2026
01 — The Problem
UI is an agent's weakest domain. Not because of code quality.
Agents write correct React. The problem is feedback. Every tool in the design loop —
visual inspection, interaction testing, perf profiling — was built for a human staring at a browser.
An agent can't stare at a browser. So it guesses, hopes, and ships layout bugs.
"I can write a DataTable in 4 minutes. I have zero idea
if 47 rows re-render every time you sort a column."
Today (Storybook)
✓Human can visually inspect components
✗No machine-readable output
✗Can't batch-render N variants
✗No render tree or re-render causality
✗Token compliance is manual audit
✗Animation frames are invisible
✗Content stress testing is ad-hoc
✗No keyboard flow verification
ReactScope
✓Structured JSON output, not pixels
✓Render 30 variants, get 1 sprite sheet
✓Fiber tree with re-render causality chains
✓Token compliance on every render
✓Animation extracted as frame sequences
✓Built-in content stress presets
✓Keyboard flow as structured data + snapshots
✓Sub-200ms per variant render
02 — The Core Primitive
The Render Matrix
One operation at the core of everything. Render N component variants across any combination of
axes — props, viewport, theme, content, container — and get back structured data for every cell.
Content stress, responsive sweep, composition contexts — all render matrix axes.
One primitive. Infinite configurations.
03 — React Internals
Every render, explained.
ReactScope instruments the React fiber tree to give you the full picture:
what rendered, why, and what could have been skipped.
No flame chart — structured data you can query.
$ reactscope instrument profile SearchPage \--interaction '[{"action":"click","target":"#search"},{"action":"type","text":"hello"},{"action":"wait","condition":"idle"}]'Interaction completed in 847ms Total renders 67 Unique components 14 Wasted renders 42(62.7%) Longest render DataGrid@ 18.4ms JS execution 84ms Layout shifts 2(CLS 0.20)⚠WASTED_RENDER detected on UserRow ×47⚠MEMO_INEFFECTIVE on SearchResults.useMemo[2]— 0% cache hit rate⚠EFFECT_ON_KEYSTROKE on SearchResults.useEffect[1]
04 — Design Tokens
Token compliance on every render.
One token file. Every render audits itself. Off-system values are flagged with
nearest-match suggestions. Change a token and instantly preview every component it touches.
Built-in content stress presets plug directly into the render matrix.
One flag catches every edge case: empty, overflow, unicode, RTL, emoji, injection.
Content Stress Test
$ reactscope render ProfileCard \--stress name --viewports 375,768,1024 --spriteExpanding preset text.stress (9 variants) × 3 viewports =27 cells"" ✓Empty state renders correctly"Jane Smith" ✓"Alexandria Konstan..." ✗TRUNCATED@ 375px"Aaaaaaaaaaaaaaaaaaa" ✗overflows_parent — no word break"田中太郎" ✓"محمد الرشيد" ⚠RTL text in LTR container"Jane 🎉 Smith" ✓✗2 layout failures · 1 warning✓Sprite →.reactscope/renders/ProfileCard-stress.png
Sprite Output — ProfileCard × content variants
empty
Jane Smith
Engineer
typical
Alexandria Konstantinidou-P...
Senior Engineer
truncated
Aaaaaaaaaaaaaaaaaaaaaa
Overflow
overflow
06 — Animation Frame Extraction
See your transitions frame by frame.
Animations are completely invisible to agents. ReactScope extracts keyframes at configurable
intervals and lays them out as a sprite strip — with easing curves rendered side-by-side
so you can compare, not guess.
The cubic-bezier row shows an overshoot at 90ms — visible in the frame data,
invisible to any other tool. That's the difference.
07 — Composition Contexts
Components lie in isolation.
Every component looks perfect in Storybook. Then you put three of them in a flex row with
uneven content and something collapses. Composition contexts render the same component
into five realistic containers in one call.
The sidebar failure would have shipped. Storybook never renders components in 5 containers at once.
ReactScope does it in one command.
08 — The Change Report
Review agent changes like a PR, not a prayer.
Every time an agent modifies components, ReactScope generates a structured change report:
before/after sprite sheets, pixel diff, and a machine-readable delta.
One document. No guessing what changed.
2 style changes. Compliance improved 87% → 100%. Human should verify visual intent.
🟢
UserCard — PASS
No style changes. Token compliance 100%. A11y: 0 violations.
🔵
StatusBadge — NEW
New component. 4 variants. Compliance 96%. 0 a11y violations.
09 — The CLI
One command to understand everything.
Fast, composable, CI-native. The same command that an agent runs 200 times per session
is the same command that blocks your PR if a component regresses.
CI Mode
$ reactscope ci --baseline .reactscope/baseline✓Manifest47 components✓Renders all variants in4.2s✓Compliance93.2%(threshold 90%)✓A11y0 violations✓Console0 errors⚠Visual regression:ButtonchangedReport → .reactscope/report/index.htmlexit code 0
Quick Reference
reactscope init# setup + token filereactscope manifest# build component indexreactscope renderButton# single render + JSONreactscope renderButton--all-variants --spritereactscope renderNav--viewports375,768,1440reactscope renderCard--stressnamereactscope instrument wastedUserListreactscope tokens compliance# full auditreactscope tokens previewcolor.primary.500reactscope site serve# browse galleryreactscope report diff# change reportreactscope ci# full CI run
10 — What You Get
Same data. Every format.
JSON is canonical — everything else is derived from it.
Agents get structured data. Humans get a gallery, a report, and CI checks.
No divergence between what the agent sees and what you see.
⚡
Structured JSON
Every render returns DOM tree, computed styles, console output, a11y violations, token compliance, and timing. Machine-queryable, agent-native.
🖼
Sprite Sheets
Batch render output as a single annotated image. Labeled axes, flagged cells, side-by-side theme comparisons. Visual proof at a glance.
🌐
Static Gallery
Generated HTML site: component index, variant grids, token explorer, compliance reports. Built from the same data, browsable by designers.
📋
Change Reports
Before/after sprite sheets, pixel diffs, structured deltas per component. Review agent changes in one document, not a PR diff wall.
🔁
CI Integration
Non-interactive mode with exit codes. Compliance threshold failures, a11y violations, and regressions block PRs automatically.
📦
Token Exports
CSS custom properties, TypeScript constants, SCSS variables, Tailwind config, Figma variables — all generated from one token file.
The Point
Storybook shows you components. ReactScope understands them.
The difference between a gallery and an MRI machine. Built for the agent doing the work. Usable by the human reviewing it.