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.
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)