DEV Community

Serren
Serren

Posted on

What broke when I reviewed 5 agent-made HTML artifacts outside the agent session

I've been testing one narrow problem: Codex or Claude can make an HTML deck or report, but the person reviewing it usually isn't in the agent session.

I published five public artifacts and opened them as an outside reviewer. More of the runtime survived than I expected. Precise feedback was the part that got awkward.

Artifact What survived Review edge
FluidDocs single-file deck 12 slides, buttons, ArrowRight, exact text selection Best result because the slides stay in one document
deck-transformer directory 15 relative slide pages, previews, play mode, next button, ArrowRight Playback works, but text inside child iframes doesn't reach the outer feedback target
claude-code-transcripts Index to page navigation, return link, #msg-* anchors Cross-page review needs stable page and message IDs
claude-atlas report Triage, Cytoscape graph, real diffs Text is selectable inside the report, but the outer target still falls back to whole content
agent-review-panel 4 charts, 13 issue cards, P1 filter at 4/13, keyboard open, #issue-AI-1 Stable issue IDs help; iframe text selection still doesn't bridge

The shape that held up best

The cleanest result was a single entry document with slides or sections in the same DOM. The deck kept its own buttons and keyboard controls. The reviewer could still point at exact text.

Child iframes changed that. Navigation was fine. I could select the words in the child page, but the outer review surface only knew "whole content."

For agent-made decks, stable slide or issue IDs are worth keeping even if the layout changes. Something explicit like data-preapp-slide="pricing", or an existing anchor such as #issue-AI-1, gives the next agent run a better address than "the chart near the end."

Multi-page output is still usable. The transcript test kept relative links and #msg-* anchors. If comments need to survive v2, the page and message identity should survive regeneration too.

What comes back to the agent

I'm building PreApp around this return path. Feedback comes back with the source version, locator, and feedback ID. The agent relays it and waits for the owner to choose which IDs to apply. Reviewer text stays untrusted data.

A reviewer leaves contextual feedback on an HTML deck and the agent receives the version, target, and feedback IDs.

None of these compatibility publishes count as external users, and I didn't submit feedback while testing them. They were just a way to separate "the HTML runs" from "a reviewer can point at the right thing."

I'm still looking for non-sensitive HTML or Markdown work made with Codex or Claude Code. The Codex first-publish page gives the agent three complete messages. Send step 1, reopen the agent once after install, then send steps 2 and 3.

If it stops before you get a view link, comment with the artifact type, OS, and failed step. Please don't post a token or private file content.

The CLI, Skill, MCP server, and protocol are in the MIT-licensed repo.

Top comments (0)