<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Serren</title>
    <description>The latest articles on DEV Community by Serren (@serrendypity).</description>
    <link>https://dev.to/serrendypity</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4033433%2Fd287b559-df20-4cf9-ae7d-5dcc3403fb34.png</url>
      <title>DEV Community: Serren</title>
      <link>https://dev.to/serrendypity</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/serrendypity"/>
    <language>en</language>
    <item>
      <title>How I get reviewer comments back into Codex after sharing HTML</title>
      <dc:creator>Serren</dc:creator>
      <pubDate>Fri, 17 Jul 2026 11:50:28 +0000</pubDate>
      <link>https://dev.to/serrendypity/how-i-get-reviewer-comments-back-into-codex-after-sharing-html-enf</link>
      <guid>https://dev.to/serrendypity/how-i-get-reviewer-comments-back-into-codex-after-sharing-html-enf</guid>
      <description>&lt;p&gt;Putting a local HTML file online is mostly solved. There are small CLIs for it, plus the usual hosting platforms if you don't mind setting up a repo and a deploy.&lt;/p&gt;

&lt;p&gt;The part that kept breaking for me came after I sent the link.&lt;/p&gt;

&lt;p&gt;Someone would reply with a screenshot, or write something like "the total here is confusing." I still had to work out which version they saw, where "here" was, and how to turn that message into enough context for Codex to make a useful edit.&lt;/p&gt;

&lt;p&gt;For a Markdown report, the same thing happened with page numbers and copied text. The file was easy to share. The feedback had lost its address.&lt;/p&gt;

&lt;p&gt;I made a small CLI and Codex skill to test a different handoff. The basic flow looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Codex publishes -&amp;gt; reviewer comments in context -&amp;gt; Codex pulls the feedback -&amp;gt; I choose what to apply -&amp;gt; Codex publishes v2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Publishing from a Codex task
&lt;/h3&gt;

&lt;p&gt;Install the CLI and Codex skill:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://preapp.app/install.sh | sh &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="nt"&gt;--harness&lt;/span&gt; codex
preapp login &amp;lt;agent-token&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then publish an HTML directory or Markdown file from the workspace:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;preapp publish ./dist &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--title&lt;/span&gt; &lt;span class="s2"&gt;"Checkout review"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--slug&lt;/span&gt; checkout-review &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--format&lt;/span&gt; json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The response includes separate view and feedback links. The reviewer doesn't need an account. They can select text, click an image or diagram, or leave a note on the whole document.&lt;/p&gt;

&lt;p&gt;The separate links ended up mattering more than I expected. I can send a clean reading link to someone who only needs the report, and a feedback link to the person doing the review.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pulling comments back into Codex
&lt;/h3&gt;

&lt;p&gt;After the review, Codex can run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;preapp feedback get checkout-review &lt;span class="nt"&gt;--format&lt;/span&gt; markdown
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The result includes a feedback ID, source version, and locator for each item. A text comment carries the selected quote and its surrounding context. Image and diagram comments carry their target reference. Markdown feedback also maps back to the source file and line.&lt;/p&gt;

&lt;p&gt;Publishing the same slug creates v2 while the shared link stays the same. Old comments stay attached to the version they were written against.&lt;/p&gt;

&lt;p&gt;I deliberately didn't make the skill auto-apply everything it reads. Reviewer text is untrusted data. Codex first relays the feedback, then stops. I choose the feedback IDs it may use before it edits anything.&lt;/p&gt;

&lt;p&gt;That sounds a little fussy until someone writes a comment that looks like an instruction to the agent. In the production test, I included one of those on purpose. It stayed in the source feedback and never became a change instruction.&lt;/p&gt;

&lt;h3&gt;
  
  
  Interactive HTML needs a little more context
&lt;/h3&gt;

&lt;p&gt;Static reports are handled by the command above. For an HTML prototype with buttons, routes, or client-side state, I publish it with a review profile:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;preapp publish ./dist &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--slug&lt;/span&gt; checkout-review &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--review-profile&lt;/span&gt; prototype &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--format&lt;/span&gt; json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The reviewer can use the page normally, switch into feedback mode, and click the exact element they mean. The locator includes the page hash, viewport, scroll position, element rectangle, and optional &lt;code&gt;data-preapp-*&lt;/code&gt; labels from the source.&lt;/p&gt;

&lt;p&gt;The owner can then turn selected feedback into a revision brief. Codex reads that brief instead of treating every raw comment as an edit request:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;preapp revision get checkout-review &lt;span class="nt"&gt;--version&lt;/span&gt; 1 &lt;span class="nt"&gt;--format&lt;/span&gt; markdown
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  What the first real run caught
&lt;/h3&gt;

&lt;p&gt;I ran the full flow on a checkout prototype in production. It went through four versions, two review loops, six feedback items, and two applied revision briefs.&lt;/p&gt;

&lt;p&gt;The useful part wasn't the count. One reviewer caught a missing loading state on the submit button. Another asked for the total amount and item count to stay visible. A later review found that the total didn't say whether shipping was included.&lt;/p&gt;

&lt;p&gt;There was also a real bug in the review interface itself: after rewriting or merging an item, focus moved to a hidden pane. Dogfooding the feedback loop exposed that too.&lt;/p&gt;

&lt;p&gt;The same share link kept working through v1 to v4, while each comment stayed on the version and HTML state where it was made.&lt;/p&gt;

&lt;p&gt;I recorded the full loop in a &lt;a href="https://github.com/user-attachments/assets/472a0d85-259e-4e14-8b5b-7d66428b8e81" rel="noopener noreferrer"&gt;41-second demo&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trying it on real work
&lt;/h3&gt;

&lt;p&gt;The CLI, Codex skill, MCP server, protocol docs, and examples are in an MIT-licensed repo:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/serrendypity/preapp-agent" rel="noopener noreferrer"&gt;https://github.com/serrendypity/preapp-agent&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The hosted share and review service is &lt;a href="https://preapp.app" rel="noopener noreferrer"&gt;PreApp&lt;/a&gt;. That part isn't open source, and it's free during early access.&lt;/p&gt;

&lt;p&gt;I'm looking for 10 people who already use Codex, Claude Code, or another shell-capable agent for reports, HTML presentations, or prototypes. The useful test is one real, non-sensitive HTML or Markdown artifact, not a canned example. I'll help with the first publish if the setup gets in the way.&lt;/p&gt;

&lt;p&gt;If you have one, reply with the artifact type and your OS. I'm mainly trying to find where the handoff still breaks.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
