<?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: Peter Truong</title>
    <description>The latest articles on DEV Community by Peter Truong (@peter_truong).</description>
    <link>https://dev.to/peter_truong</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3803829%2F09481c85-0f65-4b1d-95ac-64003b7df292.png</url>
      <title>DEV Community: Peter Truong</title>
      <link>https://dev.to/peter_truong</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/peter_truong"/>
    <language>en</language>
    <item>
      <title>Markagent: turn any UI click into a perfect prompt for Claude Code, Cursor, and Codex</title>
      <dc:creator>Peter Truong</dc:creator>
      <pubDate>Tue, 19 May 2026 06:02:37 +0000</pubDate>
      <link>https://dev.to/peter_truong/markagent-turn-any-ui-click-into-a-perfect-prompt-for-claude-code-cursor-and-codex-2i34</link>
      <guid>https://dev.to/peter_truong/markagent-turn-any-ui-click-into-a-perfect-prompt-for-claude-code-cursor-and-codex-2i34</guid>
      <description>&lt;h2&gt;
  
  
  The bug-report tax
&lt;/h2&gt;

&lt;p&gt;If you've spent any time vibe coding with Claude Code, Cursor, or Codex, you know the tax.&lt;/p&gt;

&lt;p&gt;You spot something off in the UI. A button is two pixels misaligned. A modal closes on the wrong click. A loading state flickers. So you start typing.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Hey, on the dashboard page, the second button in the top-right toolbar, no, not the one with the icon, the &lt;em&gt;other&lt;/em&gt; one, when I click it..."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Three paragraphs in, you're describing pixels instead of fixing them. The agent half-guesses. You end up screenshotting anyway, pasting it in, then explaining the screenshot. Round trip after round trip.&lt;/p&gt;

&lt;p&gt;I built Markagent to delete that loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Markagent is
&lt;/h2&gt;

&lt;p&gt;Markagent is a Chrome extension for sending UI feedback to AI coding agents. You press Cmd+Shift+. (Mac) or Ctrl+Shift+. (Windows / Linux) to bring up the toolbar, hold Cmd or Ctrl and click any element on any webpage, leave a note, and hit Copy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4uo04hwnnnw659ty1vep.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4uo04hwnnnw659ty1vep.png" alt=" " width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Out comes a structured markdown prompt your agent can act on immediately. Not a vague description, not a raw screenshot, a real artifact with the React component name, the source file path (in dev mode), the DOM context, a stable CSS selector, the page URL, the viewport size, a screenshot, and your note.&lt;/p&gt;

&lt;p&gt;Paste it into Claude Code, Cursor, Codex, OpenCode, Antigravity, v0, Bolt, Lovable, ChatGPT, Gemini, Copilot, anything that takes text. The agent jumps to the right component and edits the right line on the first try.&lt;/p&gt;

&lt;p&gt;A screenshot tool saves images. Markagent ships the prompt.&lt;/p&gt;

&lt;h2&gt;
  
  
  The anatomy of one click
&lt;/h2&gt;

&lt;p&gt;Here's roughly what comes out of a single annotation (simplified):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## UI feedback&lt;/span&gt;

Page:       https://app.example.com/dashboard
Viewport:   1440x900
Element:    &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"cta-primary"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Save changes&lt;span class="nt"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
Component:  &lt;span class="nt"&gt;&amp;lt;SaveButton&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;  (src/components/forms/save-button.tsx)
Selector:   main &amp;gt; section.form-wrap &amp;gt; form &amp;gt; button.cta-primary

Note:
This button sits 2px too low against the input row, and the
hover state has no transition. Should match the cancel button.

Screenshot: [attached]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's not a bug report. That's a prompt your agent can execute against.&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey Mode for multi-step bugs
&lt;/h2&gt;

&lt;p&gt;Single-element annotations are great for polish. The harder ones are sequences. "Click here, then here, submit this form, the wrong toast appears."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fulmnimyce1hmok4z47i9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fulmnimyce1hmok4z47i9.png" alt=" " width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Flip Journey Mode on. Markagent silently records every click as a numbered, screenshot-backed playthrough. You stop recording, hit Copy, and the markdown hands your agent the exact sequence to replay.&lt;/p&gt;

&lt;p&gt;No more "Step 1: Open the app. Step 2: Click the button." Your clicks are the steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who actually uses this
&lt;/h2&gt;

&lt;p&gt;Same artifact, different readers.&lt;/p&gt;

&lt;p&gt;Vibe coders stop typing "this button, that menu, no THAT one." Designers stop circling pixels in red on Slack; one pin proves the misalignment. Frontend engineers get the source file path with one click. PMs stop describing every tweak in prose. QA testers stop writing "Step 1: Open the app," because their clicks become the repro.&lt;/p&gt;

&lt;p&gt;Non-developers can annotate a bug and hand the markdown to engineering. The developer reads it like a normal ticket, then forwards the same markdown straight into Claude Code. One file, two audiences, no translation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Works with every AI tool that reads text
&lt;/h2&gt;

&lt;p&gt;The export is plain markdown. If your AI tool has a text box, it works.&lt;/p&gt;

&lt;p&gt;Tuned export templates ship for the major coding agents: Claude Code, Cursor, Codex, OpenCode, and Antigravity. The same markdown drops into vibe-coding platforms like v0, Bolt, and Lovable, conversational assistants like ChatGPT, Gemini, and Copilot, and local LLMs running through Ollama or LM Studio.&lt;/p&gt;

&lt;p&gt;At the end of the day it's just text. Paste it anywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  Localhost, staging, internal tools
&lt;/h2&gt;

&lt;p&gt;Markagent works on anything you can open in your browser. Localhost. Staging URLs. Internal dashboards. Authenticated sites. In dev mode it reads the React source-file path directly, so your agent doesn't have to guess which file owns the component.&lt;/p&gt;

&lt;h2&gt;
  
  
  The principles
&lt;/h2&gt;

&lt;p&gt;This is the part I care about most.&lt;/p&gt;

&lt;p&gt;100% local. Screenshots, notes, exports never leave your browser. Zero outbound requests, ever. Verify it yourself in Chrome DevTools' Network tab.&lt;/p&gt;

&lt;p&gt;Zero telemetry. No analytics. No tracking. No accounts. No cloud sync.&lt;/p&gt;

&lt;p&gt;Free forever. No paid tier, no upsell, no "Pro" plan waiting in the wings.&lt;/p&gt;

&lt;p&gt;Every Chromium browser. Chrome, Edge, Brave, Arc, all of them. Firefox is on the roadmap.&lt;/p&gt;

&lt;p&gt;Markagent is the kind of tool I wanted to exist, so I made sure it would still exist five years from now without a pricing page.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://chromewebstore.google.com/detail/hbmbjdgdofkpddalhjoapppnkoicpdjj?utm_source=devto" rel="noopener noreferrer"&gt;Add Markagent to Chrome&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Site: &lt;a href="https://markagent.avibebuilder.com" rel="noopener noreferrer"&gt;markagent.avibebuilder.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pin it to your toolbar. Press Cmd+Shift+. (Mac) or Ctrl+Shift+. (Windows / Linux) on any page. The next time you catch yourself typing "the third button from the left" to your AI agent, click it instead.&lt;/p&gt;




&lt;p&gt;Stop describing. Start marking.&lt;/p&gt;

&lt;p&gt;If you try it, I want to hear what breaks, what's missing, and what you'd build next. Paste the markdown from your first annotation in the comments.&lt;/p&gt;

</description>
      <category>vibecoding</category>
      <category>ai</category>
      <category>claude</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Claude Prime - One command to supercharge Claude Code with ready-to-use skills, agents, and workflows</title>
      <dc:creator>Peter Truong</dc:creator>
      <pubDate>Tue, 03 Mar 2026 12:16:53 +0000</pubDate>
      <link>https://dev.to/peter_truong/claude-prime-one-command-to-supercharge-claude-code-with-ready-to-use-skills-agents-and-1jlb</link>
      <guid>https://dev.to/peter_truong/claude-prime-one-command-to-supercharge-claude-code-with-ready-to-use-skills-agents-and-1jlb</guid>
      <description>&lt;h1&gt;
  
  
  Claude Prime
&lt;/h1&gt;

&lt;p&gt;Claude Code is incredibly powerful — skills, agents, hooks, memory systems, rules — but getting everything wired into a smooth, productive workflow takes time.&lt;/p&gt;

&lt;p&gt;You know the features are there. You’ve read the docs.&lt;br&gt;&lt;br&gt;
But putting all the pieces together? That’s time you’d rather spend shipping.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;claude-prime&lt;/code&gt; handles the setup for you.&lt;/p&gt;

&lt;p&gt;With a single command, it analyzes your codebase and installs everything you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Workflow skills&lt;/strong&gt; for daily development — &lt;code&gt;/cook&lt;/code&gt;, &lt;code&gt;/fix&lt;/code&gt;, &lt;code&gt;/test&lt;/code&gt;, &lt;code&gt;/research&lt;/code&gt;, &lt;code&gt;/review-code&lt;/code&gt;, &lt;code&gt;/discuss&lt;/code&gt;, and more
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Domain-specific skills&lt;/strong&gt; tailored to your stack — React, Next.js, FastAPI, Docker, monorepos, and more
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart agents&lt;/strong&gt; — a polymorphic worker agent that activates the right skills for each task
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A 4-layer knowledge system&lt;/strong&gt; — skills, rules, project references, and agent memory that persist across sessions
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built-in context engineering&lt;/strong&gt; — inspired by Anthropic’s research on managing agent attention budgets
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bash &amp;lt;&lt;span class="o"&gt;(&lt;/span&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/Vibe-Builders/claude-prime/main/install.sh&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Prime your project
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude &lt;span class="c"&gt;# Start claude&lt;/span&gt;

/optimus-prime &lt;span class="c"&gt;# Run skill&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That’s it.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;/optimus-prime&lt;/code&gt; scans your project structure, detects your stack, and automatically sets up the right skills, rules, and references.&lt;/p&gt;

&lt;p&gt;Start building — not configuring.&lt;/p&gt;

&lt;h1&gt;
  
  
  GitHub
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://github.com/Vibe-Builders/claude-prime" rel="noopener noreferrer"&gt;https://github.com/Vibe-Builders/claude-prime&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>vibecoding</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
