<?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: PromptMaster</title>
    <description>The latest articles on DEV Community by PromptMaster (@promptmaster).</description>
    <link>https://dev.to/promptmaster</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%2F3982446%2Fe02224c6-6b16-4729-a71a-3cee5b4142ea.jpeg</url>
      <title>DEV Community: PromptMaster</title>
      <link>https://dev.to/promptmaster</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/promptmaster"/>
    <language>en</language>
    <item>
      <title>AGENTS.md for a team: own it, review it, don't let it bloat</title>
      <dc:creator>PromptMaster</dc:creator>
      <pubDate>Thu, 02 Jul 2026 09:06:56 +0000</pubDate>
      <link>https://dev.to/promptmaster/agentsmd-for-a-team-own-it-review-it-dont-let-it-bloat-345d</link>
      <guid>https://dev.to/promptmaster/agentsmd-for-a-team-own-it-review-it-dont-let-it-bloat-345d</guid>
      <description>&lt;h2&gt;
  
  
  Solo vs team
&lt;/h2&gt;

&lt;p&gt;A solo &lt;code&gt;AGENTS.md&lt;/code&gt; satisfies one person. A team's is a &lt;strong&gt;shared artifact&lt;/strong&gt; — and it needs a little process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Treat it like code
&lt;/h2&gt;

&lt;p&gt;It lives in the repo, changes via PR, gets &lt;strong&gt;reviewed&lt;/strong&gt; like anything else. A change shapes every agent's behaviour for every dev — same care as a shared config change.&lt;/p&gt;

&lt;h2&gt;
  
  
  Give it an owner
&lt;/h2&gt;

&lt;p&gt;Unowned shared files either go stale (nobody updates) or bloat (everybody does). An owner keeps it sharp and &lt;strong&gt;guards the bar against bloat&lt;/strong&gt; — the one pressure a team applies constantly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resist the committee effect
&lt;/h2&gt;

&lt;p&gt;Each person adds the rule that bit them, nobody removes anything, and in a quarter the important rules are buried. The fix — ruthless pruning — has to be &lt;strong&gt;someone's explicit job&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free onboarding
&lt;/h2&gt;

&lt;p&gt;A good &lt;code&gt;AGENTS.md&lt;/code&gt; is one of the best onboarding docs you have. A new hire reads it in a minute: how to build, the real conventions, what not to touch. And because agents depend on it, it stays current.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep it in sync across tools
&lt;/h2&gt;

&lt;p&gt;Different devs, different agents → one real file, symlinked where a tool needs another name. Commit the symlink so everyone's on identical context on clone.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free cheat sheet:&lt;/strong&gt; the format, an annotated example, and the one-line test — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-cheat-sheet" rel="noopener noreferrer"&gt;AGENTS.md Cheat Sheet&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go deeper:&lt;/strong&gt; the full reference — cross-tool setup, the monorepo hierarchy, and a 30-day plan — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-guide" rel="noopener noreferrer"&gt;AGENTS.md: The Complete Guide to the Cross-Tool Agent Standard&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Who owns the AGENTS.md on your team — or is it nobody's job yet? 👇&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>devtools</category>
      <category>teamwork</category>
    </item>
    <item>
      <title>Don't generate your AGENTS.md with an LLM</title>
      <dc:creator>PromptMaster</dc:creator>
      <pubDate>Thu, 02 Jul 2026 09:05:43 +0000</pubDate>
      <link>https://dev.to/promptmaster/dont-generate-your-agentsmd-with-an-llm-4p50</link>
      <guid>https://dev.to/promptmaster/dont-generate-your-agentsmd-with-an-llm-4p50</guid>
      <description>&lt;h2&gt;
  
  
  The counterintuitive finding
&lt;/h2&gt;

&lt;p&gt;Generating your &lt;code&gt;AGENTS.md&lt;/code&gt; from a model feels efficient. The research disagrees: developer-written vs LLM-generated instruction files showed the generated ones &lt;strong&gt;reduced task success in 5 of 8 settings&lt;/strong&gt;, added extra steps per task, and raised inference cost with no quality gain.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it underperforms
&lt;/h2&gt;

&lt;p&gt;A model writing from general knowledge:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;restates what the agent already knows (generic best practices)&lt;/li&gt;
&lt;li&gt;produces vague, plausible directives that don't change behaviour&lt;/li&gt;
&lt;li&gt;→ the exact &lt;strong&gt;bloat&lt;/strong&gt; that makes agents ignore the file&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The value is what only you know
&lt;/h2&gt;

&lt;p&gt;The convention you adopted after a painful bug. The directory that must never be touched, for a non-obvious reason. The exact command with the flag that matters. A model can't generate what it doesn't know — so it fills the space with filler.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where automation &lt;em&gt;does&lt;/em&gt; help
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Scaffolding&lt;/strong&gt;: generate a skeleton of headings + detected tooling, then fill and prune &lt;strong&gt;by hand&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Machine-maintained sections&lt;/strong&gt; fed by a real source of truth (not the model's guess).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The dividing line is the &lt;strong&gt;source&lt;/strong&gt;: never let the model invent your project's context.&lt;/p&gt;

&lt;h2&gt;
  
  
  The tell
&lt;/h2&gt;

&lt;p&gt;Generated files read like they could describe any project. Hand-written ones read like they could only describe &lt;strong&gt;yours&lt;/strong&gt;. Aim for that.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free cheat sheet:&lt;/strong&gt; the format, an annotated example, and the one-line test — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-cheat-sheet" rel="noopener noreferrer"&gt;AGENTS.md Cheat Sheet&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go deeper:&lt;/strong&gt; the full reference — cross-tool setup, the monorepo hierarchy, and a 30-day plan — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-guide" rel="noopener noreferrer"&gt;AGENTS.md: The Complete Guide to the Cross-Tool Agent Standard&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Hand-written or generated — what's in your AGENTS.md right now? 👇&lt;/em&gt;&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>devtools</category>
      <category>productivity</category>
    </item>
    <item>
      <title>The commands section is the highest-ROI part of your AGENTS.md</title>
      <dc:creator>PromptMaster</dc:creator>
      <pubDate>Thu, 02 Jul 2026 09:05:03 +0000</pubDate>
      <link>https://dev.to/promptmaster/the-commands-section-is-the-highest-roi-part-of-your-agentsmd-k5j</link>
      <guid>https://dev.to/promptmaster/the-commands-section-is-the-highest-roi-part-of-your-agentsmd-k5j</guid>
      <description>&lt;h2&gt;
  
  
  Why commands matter most
&lt;/h2&gt;

&lt;p&gt;Most agent tasks end in a build or a test. List the &lt;strong&gt;exact&lt;/strong&gt; commands and the agent runs them, reads the output, and fixes its own errors before finishing. Leave them out and it guesses — or reports success on code that never passed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Be literal
&lt;/h2&gt;

&lt;p&gt;"Run the tests" can't be executed. &lt;code&gt;pnpm test&lt;/code&gt; can.&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;## Commands&lt;/span&gt;
Install:    pnpm install --frozen-lockfile
Dev:        pnpm dev
Build:      pnpm build
Test (all): pnpm test
Test (one): pnpm test -- path/to/file.test.ts
Typecheck:  pnpm typecheck
Lint + fix: pnpm lint --fix
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Don't skip the single-test command
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Test (one)&lt;/code&gt; lets the agent iterate in &lt;strong&gt;seconds&lt;/strong&gt; on a focused change instead of running the whole suite (or skipping verification entirely).&lt;/p&gt;

&lt;h2&gt;
  
  
  Name the gate
&lt;/h2&gt;

&lt;p&gt;Say what must pass before a change is "done" — types, lint, tests. The agent treats that as the bar to clear. Bonus: make it match your &lt;strong&gt;CI&lt;/strong&gt; so the work it considers done is work that actually merges.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monorepo?
&lt;/h2&gt;

&lt;p&gt;Put workspace-wide commands at the root and package-specific ones in each package's &lt;code&gt;AGENTS.md&lt;/code&gt; — the nearest file wins.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free cheat sheet:&lt;/strong&gt; the format, an annotated example, and the one-line test — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-cheat-sheet" rel="noopener noreferrer"&gt;AGENTS.md Cheat Sheet&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go deeper:&lt;/strong&gt; the full reference — cross-tool setup, the monorepo hierarchy, and a 30-day plan — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-guide" rel="noopener noreferrer"&gt;AGENTS.md: The Complete Guide to the Cross-Tool Agent Standard&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What's in your commands section that's saved you the most rework? 👇&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>testing</category>
      <category>devtools</category>
    </item>
    <item>
      <title>AGENTS.md vs CLAUDE.md vs README.md: what's the difference?</title>
      <dc:creator>PromptMaster</dc:creator>
      <pubDate>Thu, 02 Jul 2026 09:04:07 +0000</pubDate>
      <link>https://dev.to/promptmaster/agentsmd-vs-claudemd-vs-readmemd-whats-the-difference-55op</link>
      <guid>https://dev.to/promptmaster/agentsmd-vs-claudemd-vs-readmemd-whats-the-difference-55op</guid>
      <description>&lt;h2&gt;
  
  
  Same shape, different readers
&lt;/h2&gt;

&lt;p&gt;All three are Markdown at your repo root, which is why they get confused. But:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;README.md&lt;/strong&gt; → for &lt;strong&gt;humans&lt;/strong&gt;: quick start, what the project does, how to contribute.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AGENTS.md&lt;/strong&gt; → for &lt;strong&gt;agents&lt;/strong&gt;, cross-tool: build/test commands, conventions, boundaries. Read by Codex, Cursor, Copilot, Gemini CLI and more.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CLAUDE.md&lt;/strong&gt; → for &lt;strong&gt;Claude Code&lt;/strong&gt; specifically (it doesn't read &lt;code&gt;AGENTS.md&lt;/code&gt; natively yet).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  You don't need two agent files
&lt;/h2&gt;

&lt;p&gt;If you use Claude Code, don't maintain a separate &lt;code&gt;CLAUDE.md&lt;/code&gt;. Symlink it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; AGENTS.md CLAUDE.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One real file, two names, zero drift.&lt;/p&gt;

&lt;h2&gt;
  
  
  How they fit together
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="s"&gt;repo/&lt;/span&gt;
  &lt;span class="s"&gt;README.md&lt;/span&gt;     &lt;span class="c1"&gt;# humans&lt;/span&gt;
  &lt;span class="s"&gt;AGENTS.md&lt;/span&gt;     &lt;span class="c1"&gt;# agents (source of truth)&lt;/span&gt;
  &lt;span class="s"&gt;CLAUDE.md -&amp;gt;  AGENTS.md&lt;/span&gt;   &lt;span class="c1"&gt;# symlink, for Claude Code&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Keep all three. Each stays focused on its reader; the README can even link to &lt;code&gt;AGENTS.md&lt;/code&gt; so contributors know where the agent conventions live.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one rule
&lt;/h2&gt;

&lt;p&gt;Never keep two &lt;strong&gt;real&lt;/strong&gt; files with the same content — they drift the first time you edit one and forget the other. One file + a symlink, always.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free cheat sheet:&lt;/strong&gt; the format, an annotated example, and the one-line test — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-cheat-sheet" rel="noopener noreferrer"&gt;AGENTS.md Cheat Sheet&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go deeper:&lt;/strong&gt; the full reference — cross-tool setup, the monorepo hierarchy, and a 30-day plan — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-guide" rel="noopener noreferrer"&gt;AGENTS.md: The Complete Guide to the Cross-Tool Agent Standard&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Do you keep a separate CLAUDE.md, or symlink it to AGENTS.md? 👇&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>claude</category>
      <category>devtools</category>
    </item>
    <item>
      <title>AGENTS.md in a monorepo: nested files and precedence</title>
      <dc:creator>PromptMaster</dc:creator>
      <pubDate>Wed, 01 Jul 2026 14:56:11 +0000</pubDate>
      <link>https://dev.to/promptmaster/agentsmd-in-a-monorepo-nested-files-and-precedence-1b7d</link>
      <guid>https://dev.to/promptmaster/agentsmd-in-a-monorepo-nested-files-and-precedence-1b7d</guid>
      <description>&lt;h2&gt;
  
  
  When one file isn't enough
&lt;/h2&gt;

&lt;p&gt;A single root &lt;code&gt;AGENTS.md&lt;/code&gt; is right for most repos. In a monorepo, one root file either bloats trying to cover every package or stays general and loses the specifics each one needs. The hierarchy fixes this: many small files, each close to the code it describes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Nearest file wins
&lt;/h2&gt;

&lt;p&gt;When an agent edits a file, the closest &lt;code&gt;AGENTS.md&lt;/code&gt; up the tree applies. Place files where the rules belong:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;monorepo/
  AGENTS.md              # workspace-wide: tooling, shared conventions
  packages/
    api/
      AGENTS.md          # api: its commands, its db rules
    web/
      AGENTS.md          # web: its build, its component conventions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(For scale: the main OpenAI repo reportedly has ~88 &lt;code&gt;AGENTS.md&lt;/code&gt; files.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Root vs leaves
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Root:&lt;/strong&gt; what's true everywhere — package manager, org-wide conventions, overall layout.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leaf:&lt;/strong&gt; only what's specific — that package's commands, conventions, boundaries.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Don't duplicate the root
&lt;/h2&gt;

&lt;p&gt;Copying shared rules into every package file recreates the drift problem. &lt;strong&gt;Trust precedence:&lt;/strong&gt; state shared rules once at the root and let packages inherit them, overriding only what genuinely differs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep it shallow
&lt;/h2&gt;

&lt;p&gt;Two levels — root + one per top-level package — covers almost every real monorepo. If you want a fourth level, the rules probably want consolidating upward instead.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free cheat sheet:&lt;/strong&gt; the format, an annotated example, and the one-line test — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-cheat-sheet" rel="noopener noreferrer"&gt;AGENTS.md Cheat Sheet&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go deeper:&lt;/strong&gt; the full reference — cross-tool setup, the monorepo hierarchy, and a 30-day plan — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-guide" rel="noopener noreferrer"&gt;AGENTS.md: The Complete Guide to the Cross-Tool Agent Standard&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What's your monorepo AGENTS.md depth — one root file, or a tree? 👇&lt;/em&gt;&lt;/p&gt;

</description>
      <category>agents</category>
      <category>monorepo</category>
      <category>devtools</category>
      <category>ai</category>
    </item>
    <item>
      <title>One AGENTS.md, every tool: the Claude Code symlink pattern</title>
      <dc:creator>PromptMaster</dc:creator>
      <pubDate>Wed, 01 Jul 2026 14:55:18 +0000</pubDate>
      <link>https://dev.to/promptmaster/one-agentsmd-every-tool-the-claude-code-symlink-pattern-n8l</link>
      <guid>https://dev.to/promptmaster/one-agentsmd-every-tool-the-claude-code-symlink-pattern-n8l</guid>
      <description>&lt;h2&gt;
  
  
  The promise and the one exception
&lt;/h2&gt;

&lt;p&gt;Most agents read &lt;code&gt;AGENTS.md&lt;/code&gt; natively — Codex, Cursor, Copilot, Gemini CLI, and more. Write it once, it just works. The exception is &lt;strong&gt;Claude Code&lt;/strong&gt;, which reads &lt;code&gt;CLAUDE.md&lt;/code&gt; and (as of now) doesn't read &lt;code&gt;AGENTS.md&lt;/code&gt; natively.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fix is one line
&lt;/h2&gt;

&lt;p&gt;Keep one real file. Point the other name at it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;ln&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; AGENTS.md CLAUDE.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One file on disk, two filenames. Claude Code reads &lt;code&gt;CLAUDE.md&lt;/code&gt;, everything else reads &lt;code&gt;AGENTS.md&lt;/code&gt;, and since they're the same bytes they can't drift.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't keep two real copies
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# DON'T: two real files with the same content&lt;/span&gt;
AGENTS.md
CLAUDE.md   &lt;span class="c"&gt;# a separate copy → drifts the first time you edit one&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every team that manually syncs two copies eventually ships mismatched instructions. A symlink makes that impossible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monorepo + Windows notes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Monorepo:&lt;/strong&gt; repeat the symlink at each level that has an &lt;code&gt;AGENTS.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows:&lt;/strong&gt; Git may need developer mode for symlinks; if a link checks out as a text file, recreate it after enabling symlink support.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Commit it
&lt;/h2&gt;

&lt;p&gt;Commit the symlink so it's present on clone — or gitignore and recreate it via a setup script. Committing is the simpler default.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free cheat sheet:&lt;/strong&gt; the format, an annotated example, and the one-line test — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-cheat-sheet" rel="noopener noreferrer"&gt;AGENTS.md Cheat Sheet&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go deeper:&lt;/strong&gt; the full reference — cross-tool setup, the monorepo hierarchy, and a 30-day plan — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-guide" rel="noopener noreferrer"&gt;AGENTS.md: The Complete Guide to the Cross-Tool Agent Standard&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Team using Claude Code alongside other agents — are you symlinking, or still syncing by hand? 👇&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>claude</category>
      <category>devtools</category>
    </item>
    <item>
      <title>How to write an AGENTS.md that agents actually follow</title>
      <dc:creator>PromptMaster</dc:creator>
      <pubDate>Wed, 01 Jul 2026 14:54:30 +0000</pubDate>
      <link>https://dev.to/promptmaster/how-to-write-an-agentsmd-that-agents-actually-follow-c5</link>
      <guid>https://dev.to/promptmaster/how-to-write-an-agentsmd-that-agents-actually-follow-c5</guid>
      <description>&lt;p&gt;A great &lt;code&gt;AGENTS.md&lt;/code&gt; isn't the longest one — it's the one where every line changes what the agent does. The file loads on every task, and attention is finite, so every line competes with every other.&lt;/p&gt;

&lt;h2&gt;
  
  
  What earns its place
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Stack + versions (one line)&lt;/li&gt;
&lt;li&gt;A short directory map&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exact&lt;/strong&gt; build/test commands, including the single-test command&lt;/li&gt;
&lt;li&gt;Conventions a formatter can't enforce&lt;/li&gt;
&lt;li&gt;A clear "do not touch" list&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The commands section is the highest ROI: list your checks and the agent runs them and fixes failures before finishing.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to cut
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Personality instructions ("act as a senior engineer") — the agent already does this&lt;/li&gt;
&lt;li&gt;Rules a formatter/linter already enforces — wire them into tooling, not prose&lt;/li&gt;
&lt;li&gt;Task-specific context — that belongs in the session, not the file&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The one-line test
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;For every line: &lt;em&gt;"If I remove this, will the agent make a mistake?"&lt;/em&gt; Keep the yeses. Delete the nos.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Applied honestly, most of what you first wrote won't survive — and the file gets &lt;strong&gt;more&lt;/strong&gt; effective, because the rules that matter stop competing with noise.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free cheat sheet:&lt;/strong&gt; the format, an annotated example, and the one-line test — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-cheat-sheet" rel="noopener noreferrer"&gt;AGENTS.md Cheat Sheet&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go deeper:&lt;/strong&gt; the full reference — cross-tool setup, the monorepo hierarchy, and a 30-day plan — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-guide" rel="noopener noreferrer"&gt;AGENTS.md: The Complete Guide to the Cross-Tool Agent Standard&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What's the one line in your AGENTS.md that's saved you the most rework? 👇&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>devtools</category>
      <category>productivity</category>
    </item>
    <item>
      <title>AGENTS.md: the cross-tool standard, explained</title>
      <dc:creator>PromptMaster</dc:creator>
      <pubDate>Wed, 01 Jul 2026 14:53:34 +0000</pubDate>
      <link>https://dev.to/promptmaster/agentsmd-the-cross-tool-standard-explained-47il</link>
      <guid>https://dev.to/promptmaster/agentsmd-the-cross-tool-standard-explained-47il</guid>
      <description>&lt;p&gt;&lt;code&gt;AGENTS.md&lt;/code&gt; is a plain Markdown file at your repository root that tells AI coding agents how your project works — build steps, test commands, conventions, and boundaries. Where &lt;code&gt;README.md&lt;/code&gt; is for humans, &lt;code&gt;AGENTS.md&lt;/code&gt; is for the agents that do the work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it exists
&lt;/h2&gt;

&lt;p&gt;Open a repo in any agent and it doesn't know your build command, your conventions, or which directories are generated. Without that context it guesses — and wrong guesses are where the bad work comes from. &lt;code&gt;AGENTS.md&lt;/code&gt; removes the need to guess.&lt;/p&gt;

&lt;h2&gt;
  
  
  A minimal example
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Acme API&lt;/span&gt;
Fastify, TypeScript, Drizzle ORM, PostgreSQL.

&lt;span class="gu"&gt;## Commands&lt;/span&gt;
Dev:   pnpm dev
Test:  pnpm test -- path/to/file.test.ts
Check: pnpm typecheck &amp;amp;&amp;amp; pnpm lint

&lt;span class="gu"&gt;## Do not touch&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; db/migrations/ is generated. Create a new migration instead.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How agents find it
&lt;/h2&gt;

&lt;p&gt;One file at the root is the default. In a monorepo you can nest more files — agents read the &lt;strong&gt;nearest&lt;/strong&gt; one in the directory tree, so a package's file overrides the root for work in that package.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who reads it
&lt;/h2&gt;

&lt;p&gt;Codex, Cursor, GitHub Copilot, Gemini CLI, Devin, Factory, Jules, Amp, VS Code, Windsurf — and 60,000+ projects. It's now stewarded by the Linux Foundation. The one holdout is Claude Code, which a symlink handles (separate post).&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free cheat sheet:&lt;/strong&gt; the format, an annotated example, and the one-line test — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-cheat-sheet" rel="noopener noreferrer"&gt;AGENTS.md Cheat Sheet&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go deeper:&lt;/strong&gt; the full reference — cross-tool setup, the monorepo hierarchy, and a 30-day plan — &lt;a href="https://promptmasterstore.gumroad.com/l/agents-md-guide" rel="noopener noreferrer"&gt;AGENTS.md: The Complete Guide to the Cross-Tool Agent Standard&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;How many instruction files does your repo have right now — one, or a small museum of them? 👇&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>devtools</category>
      <category>opensource</category>
    </item>
    <item>
      <title>How to Write DESIGN.md Prose That AI Agents Actually Follow</title>
      <dc:creator>PromptMaster</dc:creator>
      <pubDate>Sun, 28 Jun 2026 07:55:48 +0000</pubDate>
      <link>https://dev.to/promptmaster/how-to-write-designmd-prose-that-ai-agents-actually-follow-3bn7</link>
      <guid>https://dev.to/promptmaster/how-to-write-designmd-prose-that-ai-agents-actually-follow-3bn7</guid>
      <description>&lt;p&gt;&lt;strong&gt;To write DESIGN.md prose agents follow, describe intent and rules, not just values.&lt;/strong&gt; A token says a color is a hex; good prose says it is for the primary action only. Reasoning is what lets an agent generalise to cases you did not explicitly cover.&lt;/p&gt;

&lt;h2&gt;
  
  
  Weak vs strong prose
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;## Colors

# WEAK - restates the tokens:
Primary is #1A1C1E. Secondary is #6C7278.

# STRONG - explains intent:
High-contrast neutrals with one warm accent. Use the accent
only for the single most important action. Never decoratively.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The strong version gives the agent a rule it can apply to situations you never listed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why prose works on agents
&lt;/h2&gt;

&lt;p&gt;LLMs read markdown with very high fidelity - most of their training is structured this way. That makes prose an ideal channel for design intent. The value tells the model what a color is; only prose tells it the rules.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cover the canonical sections
&lt;/h2&gt;

&lt;p&gt;Each section answers a question the agent would otherwise guess at:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;## Overview        -&amp;gt; the personality
## Colors          -&amp;gt; roles and rules
## Typography      -&amp;gt; the job of each style
## Layout          -&amp;gt; grid and spacing
## Do's and Don'ts -&amp;gt; hard guardrails
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Do's and Don'ts is where the value is
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Do's and Don'ts&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Do use the accent for one primary action per screen
&lt;span class="p"&gt;-&lt;/span&gt; Don't mix rounded and sharp corners in the same view
&lt;span class="p"&gt;-&lt;/span&gt; Do maintain WCAG AA contrast (4.5:1 for normal text)
&lt;span class="p"&gt;-&lt;/span&gt; Don't use more than two font weights on a screen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each line removes a whole category of off-brand output.&lt;/p&gt;

&lt;h2&gt;
  
  
  How much is enough?
&lt;/h2&gt;

&lt;p&gt;A good test: would the prose let a designer who had never seen your product apply your system correctly? Write what prevents a mistake, and stop there.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Descriptive color names?&lt;/strong&gt; Yes - tie them to the token name so the agent can map rationale onto values.&lt;br&gt;
&lt;strong&gt;Most important section?&lt;/strong&gt; Do's and Don'ts - it directly prevents agent mistakes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;Tokens are easy; the rationale is the work. Spend your time on the prose that turns values into your identity.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free starter:&lt;/strong&gt; The format, a complete annotated example, and the core idea are on a free cheat sheet: &lt;a href="https://promptmasterstore.gumroad.com/l/design-md-cheat-sheet" rel="noopener noreferrer"&gt;DESIGN.md Quick-Start Cheat Sheet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go deeper:&lt;/strong&gt; The full guide covers the entire format — the token schema, the CLI in depth, accessibility, Tailwind and DTCG export, agent integration, and a complete walkthrough: &lt;a href="https://promptmasterstore.gumroad.com/l/design-md-guide" rel="noopener noreferrer"&gt;DESIGN.md: The Complete Guide to Design Systems for AI Agents&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What is the one design rule you wish your agent would stop breaking? Drop it below - it probably belongs in your Do's and Don'ts.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>design</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to Wire DESIGN.md into Claude Code, Cursor, Kiro and Windsurf</title>
      <dc:creator>PromptMaster</dc:creator>
      <pubDate>Sun, 28 Jun 2026 07:54:52 +0000</pubDate>
      <link>https://dev.to/promptmaster/how-to-wire-designmd-into-claude-code-cursor-kiro-and-windsurf-41p1</link>
      <guid>https://dev.to/promptmaster/how-to-wire-designmd-into-claude-code-cursor-kiro-and-windsurf-41p1</guid>
      <description>&lt;p&gt;&lt;strong&gt;To make an agent use DESIGN.md, point its persistent-context mechanism at the file.&lt;/strong&gt; The pattern is the same everywhere: tell the agent to read DESIGN.md for UI work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Claude Code
&lt;/h2&gt;

&lt;p&gt;Reference DESIGN.md from your CLAUDE.md:&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="gh"&gt;# In CLAUDE.md&lt;/span&gt;

&lt;span class="gu"&gt;## Design&lt;/span&gt;
This project has a DESIGN.md defining the visual identity.
Before generating or modifying any UI, read DESIGN.md and
follow its tokens and rationale. Use the accent color only
as the rationale specifies.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Cursor
&lt;/h2&gt;

&lt;p&gt;Use a rules file to inject DESIGN.md into every UI generation, so the design context is present whenever the agent produces interface code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kiro and Windsurf
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Kiro     -&amp;gt; add DESIGN.md to the steering directory&lt;/span&gt;
&lt;span class="c"&gt;# Windsurf -&amp;gt; point the global rules file at DESIGN.md&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Every agent has a persistent-context mechanism; you route it to your design file.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verify it is honoured
&lt;/h2&gt;

&lt;p&gt;Ask the agent to generate a component and inspect the result:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does the button use your accent, or a generic blue?&lt;/li&gt;
&lt;li&gt;Are the corners your radius?&lt;/li&gt;
&lt;li&gt;Does the spacing match your scale?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first generation usually reveals a gap in your prose. Fill it, and the fix is permanent.&lt;/p&gt;

&lt;h2&gt;
  
  
  One file, many tools
&lt;/h2&gt;

&lt;p&gt;Because DESIGN.md is an open format, the same file serves Claude Code, Cursor, Kiro and Windsurf at once - one design source of truth, no per-tool drift.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Where do DESIGN.md files come from?&lt;/strong&gt; Write one by hand, generate a draft with an agent, or export from Google Stitch.&lt;br&gt;
&lt;strong&gt;Does it work across tools?&lt;/strong&gt; Yes - one file, read by each tool's own mechanism.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;Wiring in DESIGN.md is always the same move: tell the agent's context mechanism to read the design file for UI work.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free starter:&lt;/strong&gt; The format, a complete annotated example, and the core idea are on a free cheat sheet: &lt;a href="https://promptmasterstore.gumroad.com/l/design-md-cheat-sheet" rel="noopener noreferrer"&gt;DESIGN.md Quick-Start Cheat Sheet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go deeper:&lt;/strong&gt; The full guide covers the entire format — the token schema, the CLI in depth, accessibility, Tailwind and DTCG export, agent integration, and a complete walkthrough: &lt;a href="https://promptmasterstore.gumroad.com/l/design-md-guide" rel="noopener noreferrer"&gt;DESIGN.md: The Complete Guide to Design Systems for AI Agents&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Which agent are you wiring DESIGN.md into first? Curious which tools people are using for UI work these days.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>design</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>What Is DESIGN.md? A Practical Guide to Design Systems for AI Agents</title>
      <dc:creator>PromptMaster</dc:creator>
      <pubDate>Sun, 28 Jun 2026 07:54:05 +0000</pubDate>
      <link>https://dev.to/promptmaster/what-is-designmd-a-practical-guide-to-design-systems-for-ai-agents-2akc</link>
      <guid>https://dev.to/promptmaster/what-is-designmd-a-practical-guide-to-design-systems-for-ai-agents-2akc</guid>
      <description>&lt;p&gt;&lt;strong&gt;DESIGN.md is an open format from Google Labs that describes a design system to AI coding agents.&lt;/strong&gt; It pairs machine-readable design tokens (YAML front matter) with human-readable rationale (markdown prose), so an agent generates UI that matches your brand instead of generic defaults.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why agents need it
&lt;/h2&gt;

&lt;p&gt;Left alone, an AI coding agent draws on the most common patterns in its training data — generic blues, default fonts, arbitrary spacing. It has no way to know your design system unless you tell it, every single time. The result is UI that looks plausible but not like yours.&lt;/p&gt;

&lt;p&gt;DESIGN.md removes the "every single time." You describe your visual identity once, in a file the agent reads before generating any UI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where it lives
&lt;/h2&gt;

&lt;p&gt;DESIGN.md is a plain file in your repo root. Because it is markdown with YAML front matter — formats every developer knows — it needs no build step and no special viewer. The agent reads it as-is, and it travels with your project.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two parts
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Heritage&lt;/span&gt;
&lt;span class="na"&gt;colors&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;primary&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#1A1C1E"&lt;/span&gt;
  &lt;span class="na"&gt;tertiary&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;#B8422E"&lt;/span&gt;
&lt;span class="na"&gt;typography&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;h1&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;fontFamily&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Public Sans&lt;/span&gt;
    &lt;span class="na"&gt;fontSize&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;3rem&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="c1"&gt;## Colors&lt;/span&gt;
&lt;span class="s"&gt;High-contrast neutrals with a single warm accent. Use the&lt;/span&gt;
&lt;span class="s"&gt;accent (tertiary) only for the primary action - never decoratively.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The front matter gives the agent exact values. The prose gives it the rules. Together they let the agent apply your system correctly, not just access its raw numbers.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it relates to CLAUDE.md and AGENTS.md
&lt;/h2&gt;

&lt;p&gt;If you use CLAUDE.md or AGENTS.md, this will feel familiar. DESIGN.md is to design what those files are to code conventions — persistent context the agent reads on every interaction. Complementary layers that do not overlap.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Is it free?&lt;/strong&gt; Yes — open format, free CLI.&lt;br&gt;
&lt;strong&gt;Do I need a build pipeline?&lt;/strong&gt; No. The agent reads the file as-is.&lt;br&gt;
&lt;strong&gt;Which agents work with it?&lt;/strong&gt; Any with a persistent-context mechanism: Claude Code, Cursor, Kiro, Windsurf.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bottom line
&lt;/h2&gt;

&lt;p&gt;DESIGN.md is a small, durable investment: describe your design system once, and every UI an agent generates starts from your brand instead of a generic default.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free starter:&lt;/strong&gt; The format, a complete annotated example, and the core idea are on a free cheat sheet: &lt;a href="https://promptmasterstore.gumroad.com/l/design-md-cheat-sheet" rel="noopener noreferrer"&gt;DESIGN.md Quick-Start Cheat Sheet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go deeper:&lt;/strong&gt; The full guide covers the entire format — the token schema, the CLI in depth, accessibility, Tailwind and DTCG export, agent integration, and a complete walkthrough: &lt;a href="https://promptmasterstore.gumroad.com/l/design-md-guide" rel="noopener noreferrer"&gt;DESIGN.md: The Complete Guide to Design Systems for AI Agents&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Have you tried DESIGN.md yet, or are you still re-explaining your design system to your agent every session? Curious where people are in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>design</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>DESIGN.md Checks WCAG Contrast by Default. Here's Why That Matters.</title>
      <dc:creator>PromptMaster</dc:creator>
      <pubDate>Sun, 28 Jun 2026 07:53:16 +0000</pubDate>
      <link>https://dev.to/promptmaster/designmd-checks-wcag-contrast-by-default-heres-why-that-matters-63h</link>
      <guid>https://dev.to/promptmaster/designmd-checks-wcag-contrast-by-default-heres-why-that-matters-63h</guid>
      <description>&lt;p&gt;&lt;strong&gt;DESIGN.md's linter checks WCAG contrast by default for every component's color pairing, reporting the exact ratio and whether it passes.&lt;/strong&gt; Accessibility is built into the tooling, not left as an optional audit - which fixes a real weakness of AI-generated UI.&lt;/p&gt;

&lt;h2&gt;
  
  
  The weakness it addresses
&lt;/h2&gt;

&lt;p&gt;AI agents ignore contrast unless forced to consider it. Left alone, an agent places light grey text on white because it looks clean in the abstract - producing UI that fails accessibility standards and is hard to read.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the check works
&lt;/h2&gt;

&lt;p&gt;For each component pairing a text color with a background, the linter computes the contrast ratio and reports whether it meets WCAG AA (4.5:1 for normal text):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;npx @google/design.md lint DESIGN.md

&lt;span class="o"&gt;{&lt;/span&gt;
  &lt;span class="s2"&gt;"path"&lt;/span&gt;: &lt;span class="s2"&gt;"components.button-primary"&lt;/span&gt;,
  &lt;span class="s2"&gt;"message"&lt;/span&gt;: &lt;span class="s2"&gt;"textColor (#ffffff) on backgroundColor (#1A1C1E)
              has contrast ratio 15.42:1 - passes WCAG AA."&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Design with contrast in mind
&lt;/h2&gt;

&lt;p&gt;Because the check is built in, think about contrast as you define component tokens, not after. When you pair a text color with a background, the linter tells you immediately whether it holds up - turning accessibility from an audit phase into a continuous part of defining your system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reinforce it in prose
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Do's and Don'ts&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Do maintain WCAG AA contrast (4.5:1 for normal text)
&lt;span class="p"&gt;-&lt;/span&gt; Don't rely on color alone to convey meaning
&lt;span class="p"&gt;-&lt;/span&gt; Do keep touch targets large enough
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The linter handles the measurable; the prose handles the judgement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it matters commercially
&lt;/h2&gt;

&lt;p&gt;Accessible interfaces are often a legal requirement, not just an ethical default. Baking WCAG into the tooling reduces the risk of shipping non-compliant UI - a real and growing liability.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Which level?&lt;/strong&gt; WCAG AA contrast, per component pairing.&lt;br&gt;
&lt;strong&gt;Can I extend it?&lt;/strong&gt; Reinforce with prose for the parts a single ratio cannot capture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;Making WCAG a default turns accessible output into the path of least resistance.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Free starter:&lt;/strong&gt; The format, a complete annotated example, and the core idea are on a free cheat sheet: &lt;a href="https://promptmasterstore.gumroad.com/l/design-md-cheat-sheet" rel="noopener noreferrer"&gt;DESIGN.md Quick-Start Cheat Sheet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Go deeper:&lt;/strong&gt; The full guide covers the entire format — the token schema, the CLI in depth, accessibility, Tailwind and DTCG export, agent integration, and a complete walkthrough: &lt;a href="https://promptmasterstore.gumroad.com/l/design-md-guide" rel="noopener noreferrer"&gt;DESIGN.md: The Complete Guide to Design Systems for AI Agents&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Has an AI agent ever shipped you a contrast failure? Curious how people are catching these today.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>a11y</category>
      <category>design</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
