<?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: Prathak Malik</title>
    <description>The latest articles on DEV Community by Prathak Malik (@prathakmalik).</description>
    <link>https://dev.to/prathakmalik</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%2F4046569%2F7cad2e81-a580-4d41-8bd0-dc28d471f1b0.png</url>
      <title>DEV Community: Prathak Malik</title>
      <link>https://dev.to/prathakmalik</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prathakmalik"/>
    <language>en</language>
    <item>
      <title>One set of AI standards, every tool: Cursor, Claude Code, and Copilot</title>
      <dc:creator>Prathak Malik</dc:creator>
      <pubDate>Fri, 14 Aug 2026 07:55:32 +0000</pubDate>
      <link>https://dev.to/prathakmalik/one-set-of-ai-standards-every-tool-cursor-claude-code-and-copilot-1pbi</link>
      <guid>https://dev.to/prathakmalik/one-set-of-ai-standards-every-tool-cursor-claude-code-and-copilot-1pbi</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Part 2 of the &lt;em&gt;agent-standards-as-code&lt;/em&gt; series. &lt;a href="https://dev.to/prathakmalik/your-claudemd-doesnt-scale-version-your-ai-standards-as-code-4ogf"&gt;Part 1&lt;/a&gt; made the case for versioning your AI standards as code. This post makes them work across tools and operating systems. Code pinned at &lt;a href="https://github.com/prathakmalik/agent-standards-kit/tree/v0.2" rel="noopener noreferrer"&gt;&lt;code&gt;v0.2&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In part 1 we put our AI coding standards in one git repo and auto-synced them into Cursor. Great — until a teammate says "I use Claude Code," another says "we're on Copilot in VS Code," and half the team is on macOS while you're on Windows.&lt;/p&gt;

&lt;p&gt;If your standards only work in one tool on one OS, they're not really &lt;em&gt;team&lt;/em&gt; standards. Here's how v0.2 fixes that.&lt;/p&gt;

&lt;h2&gt;
  
  
  The portability problem
&lt;/h2&gt;

&lt;p&gt;Each tool reads its config from a different place, in a slightly different format:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cursor:&lt;/strong&gt; skills in &lt;code&gt;~/.cursor/skills/&lt;/code&gt;, rules as &lt;code&gt;.mdc&lt;/code&gt; in &lt;code&gt;~/.cursor/rules/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude Code:&lt;/strong&gt; skills in &lt;code&gt;~/.claude/skills/&lt;/code&gt;, guidance in &lt;code&gt;CLAUDE.md&lt;/code&gt; / &lt;code&gt;AGENTS.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Copilot (VS Code):&lt;/strong&gt; skills in &lt;code&gt;.github/skills/&lt;/code&gt; or &lt;code&gt;~/.copilot/skills/&lt;/code&gt;, guidance in &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Codex:&lt;/strong&gt; skills in &lt;code&gt;~/.codex/skills/&lt;/code&gt;, guidance in &lt;code&gt;AGENTS.md&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two things save us from writing four different content sets.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Skills are already portable
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://agentskills.io" rel="noopener noreferrer"&gt;Agent Skills&lt;/a&gt; standard defines a &lt;code&gt;SKILL.md&lt;/code&gt; format that Cursor, Claude Code, Copilot, and Codex all understand. A skill is a folder with a &lt;code&gt;SKILL.md&lt;/code&gt; whose frontmatter has a &lt;code&gt;name&lt;/code&gt; and a trigger-rich &lt;code&gt;description&lt;/code&gt;. &lt;strong&gt;Write it once, it runs everywhere.&lt;/strong&gt; The sync just links that folder into each tool's skills directory.&lt;/p&gt;

&lt;p&gt;(One sharp edge: the &lt;code&gt;name&lt;/code&gt; must be lowercase-hyphen and match the folder, or tools silently skip it. The repo's CI enforces this so you can't ship a broken skill.)&lt;/p&gt;

&lt;h2&gt;
  
  
  2. &lt;code&gt;AGENTS.md&lt;/code&gt; is the portable base for rules
&lt;/h2&gt;

&lt;p&gt;Rules are less standardized. So we keep a single portable &lt;code&gt;AGENTS.md&lt;/code&gt; — the tool-agnostic standing guidance — and let each tool consume it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claude/Codex read &lt;code&gt;AGENTS.md&lt;/code&gt; (or a synced &lt;code&gt;CLAUDE.md&lt;/code&gt;) directly.&lt;/li&gt;
&lt;li&gt;Copilot gets a tiny &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt; that points at &lt;code&gt;AGENTS.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Cursor keeps its richer &lt;code&gt;.mdc&lt;/code&gt; rules (which support &lt;code&gt;globs&lt;/code&gt; and &lt;code&gt;alwaysApply&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;strong&gt;adapters/&lt;/strong&gt; folder documents exactly where each tool expects things, so there's no guessing.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Git repo: skills/ + rules/ + AGENTS.md
        │  setup.(ps1|sh) + git hooks
        ╚
  ├───────────↴────────────↴───────────↴──────────└
Cursor     Claude Code   Copilot     Codex
(junction) (symlink)     (.github)   (symlink)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Cross-platform: junctions vs symlinks
&lt;/h2&gt;

&lt;p&gt;The sync uses the right primitive per OS automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Windows:&lt;/strong&gt; directory &lt;em&gt;junctions&lt;/em&gt; (&lt;code&gt;mklink /J&lt;/code&gt;) — no admin required (unlike symlinks).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;macOS/Linux:&lt;/strong&gt; &lt;em&gt;symlinks&lt;/em&gt; (&lt;code&gt;ln -s&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So &lt;code&gt;setup.ps1&lt;/code&gt; and &lt;code&gt;setup.sh&lt;/code&gt; do the same job on either platform. A &lt;code&gt;.gitattributes&lt;/code&gt; keeps &lt;code&gt;.sh&lt;/code&gt; files LF-normalized so they don't break when cloned on Windows.&lt;/p&gt;

&lt;p&gt;The scripts also &lt;strong&gt;detect installed tools&lt;/strong&gt; — they only sync into &lt;code&gt;~/.claude&lt;/code&gt; if it exists, so nobody ends up with empty folders for tools they don't use.&lt;/p&gt;

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



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/prathakmalik/agent-standards-kit.git
&lt;span class="nb"&gt;cd &lt;/span&gt;agent-standards-kit
&lt;span class="c"&gt;# Windows:      ./scripts/setup.ps1&lt;/span&gt;
&lt;span class="c"&gt;# macOS/Linux:  ./scripts/setup.sh&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Whatever tools you have installed now share the same skills and rules. Change the repo, &lt;code&gt;git pull&lt;/code&gt;, and every tool on every machine updates together.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters
&lt;/h2&gt;

&lt;p&gt;Tool choice becomes a personal preference again, not a standards fork. A new hire on Claude Code gets the exact same guardrails as a veteran on Cursor — from the same reviewed source of truth.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Coming up next (v0.3):&lt;/strong&gt; a source of truth is only useful if it stays &lt;em&gt;true&lt;/em&gt;. Next post: the &lt;strong&gt;&lt;code&gt;nudge -&amp;gt; skill -&amp;gt; PR&lt;/code&gt; loop&lt;/strong&gt; that keeps your standards from rotting, plus how to adapt the kit to any tech stack.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;⭐ the &lt;a href="https://github.com/prathakmalik/agent-standards-kit" rel="noopener noreferrer"&gt;repo&lt;/a&gt; if this is useful — it genuinely helps.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>devtools</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Your CLAUDE.md doesn't scale. Version your AI standards as code.</title>
      <dc:creator>Prathak Malik</dc:creator>
      <pubDate>Sat, 25 Jul 2026 13:07:57 +0000</pubDate>
      <link>https://dev.to/prathakmalik/your-claudemd-doesnt-scale-version-your-ai-standards-as-code-4ogf</link>
      <guid>https://dev.to/prathakmalik/your-claudemd-doesnt-scale-version-your-ai-standards-as-code-4ogf</guid>
      <description>&lt;p&gt;Every team using AI coding agents starts the same way: someone drops a &lt;code&gt;CLAUDE.md&lt;/code&gt; (or &lt;code&gt;.cursorrules&lt;/code&gt;, or a &lt;code&gt;copilot-instructions.md&lt;/code&gt;) into a repo. It works. So the next repo gets one too. And the next.&lt;/p&gt;

&lt;p&gt;Then you look up and you have 20 repos, 6 teammates, and 3 different AI tools — and no two of those config files are the same. Which one is right? Nobody knows.&lt;/p&gt;

&lt;p&gt;I hit this wall running an integration platform with dozens of small repos. This post is the pattern I landed on, and a small open template you can clone to do the same.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a single instructions file breaks
&lt;/h2&gt;

&lt;p&gt;A single file is perfect for one repo and one person. At team scale it fails in five predictable ways:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;It doesn't scale.&lt;/strong&gt; Every repo gets a slightly different copy. There's no "the standard" — there are 20 forks of it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It drifts.&lt;/strong&gt; Someone improves the file in one repo. That improvement never reaches the other 19.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It's unversioned.&lt;/strong&gt; No history, no ownership, no review. Your "AI brain" is the one artifact in your stack nobody code-reviews.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It's tool-locked.&lt;/strong&gt; Cursor's format isn't Claude's isn't Copilot's. Switch tools and you start over.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It rots.&lt;/strong&gt; The code changes; the instructions don't. Six months later the agent is confidently working from a map of a city that's been rebuilt.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;None of these are exotic. They're just what happens when a copy-pasted file meets a growing team.&lt;/p&gt;

&lt;h2&gt;
  
  
  What already exists (and what it doesn't fix)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Curated rule lists&lt;/strong&gt; (e.g. &lt;code&gt;awesome-cursorrules&lt;/code&gt;) are great for inspiration, but they're copy-paste, single-tool, and have no sync or freshness.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skill/agent sync tools&lt;/strong&gt; distribute &lt;em&gt;tools&lt;/em&gt; across agents. Useful — but they solve distribution, not &lt;em&gt;your team's standards&lt;/em&gt;, versioning-as-review, or the rot problem.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Agent Skills standard + &lt;code&gt;AGENTS.md&lt;/code&gt;&lt;/strong&gt; are the right substrate to build on, not competitors.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The gap: nobody treats the standards themselves as &lt;strong&gt;code&lt;/strong&gt; — owned, versioned, reviewed, and automatically distributed.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern: standards-as-code
&lt;/h2&gt;

&lt;p&gt;Three moves:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Put your standards in one git repo.&lt;/strong&gt; Two kinds of artifact:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rules&lt;/strong&gt; — standing behavior ("always validate input", "never log PII").&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skills&lt;/strong&gt; — task workflows ("here's how to cut a release"), in the portable &lt;code&gt;SKILL.md&lt;/code&gt; format.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auto-sync them into your editor.&lt;/strong&gt; A setup script links &lt;code&gt;skills/&lt;/code&gt; and &lt;code&gt;rules/&lt;/code&gt; into your tool's config directory. Git hooks re-run the sync on every &lt;code&gt;pull&lt;/code&gt; / &lt;code&gt;checkout&lt;/code&gt; / &lt;code&gt;rebase&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Change them through pull requests.&lt;/strong&gt; Improving a standard is now a reviewed diff, not a silent edit in one repo.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Git repo (source of truth)          ~/.cursor/
  skills/  ──────────────└            skills/   (junction/symlink)
  rules/   ──────────────┤  setup +   rules/    (synced .mdc)
                         └── git hooks ─────────→ every workspace, every teammate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Because rules sync to the &lt;strong&gt;user level&lt;/strong&gt;, they apply in every workspace automatically. Update the repo, everyone &lt;code&gt;git pull&lt;/code&gt;s, and the whole team's standards move together — no per-repo copies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this beats a bare &lt;code&gt;CLAUDE.md&lt;/code&gt;
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;standards-as-code&lt;/th&gt;
&lt;th&gt;bare &lt;code&gt;CLAUDE.md&lt;/code&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Scales across repos&lt;/td&gt;
&lt;td&gt;Yes (one source)&lt;/td&gt;
&lt;td&gt;No (N copies)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Versioned + PR-reviewed&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Auto-distributed&lt;/td&gt;
&lt;td&gt;Yes (sync + hooks)&lt;/td&gt;
&lt;td&gt;Manual&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Freshness mechanism&lt;/td&gt;
&lt;td&gt;Yes (later in the series)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;It's the difference between a shared library and a code snippet everyone pastes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it (v0.1)
&lt;/h2&gt;

&lt;p&gt;I packaged the mechanism as an open template: &lt;strong&gt;&lt;a href="https://github.com/prathakmalik/agent-standards-kit/tree/v0.1" rel="noopener noreferrer"&gt;agent-standards-kit&lt;/a&gt;&lt;/strong&gt; (this post pins &lt;code&gt;v0.1&lt;/code&gt;).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;git&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;clone&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://github.com/prathakmalik/agent-standards-kit.git&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;cd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;agent-standards-kit&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;/scripts/setup.ps1&lt;/span&gt;&lt;span class="w"&gt;     &lt;/span&gt;&lt;span class="c"&gt;# Windows/Cursor; no admin needed&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Restart Cursor and your sample skills + rules are live. Swap in your own — the repo ships templates and a de-identified worked example.&lt;/p&gt;

&lt;h2&gt;
  
  
  My honest take
&lt;/h2&gt;

&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; another skills manager — that niche is crowded. It's a &lt;em&gt;methodology plus a starter template&lt;/em&gt;, proven on a real multi-repo platform. Its value is the boring, durable stuff: team+repo scoping via plain git, review of changes, and (coming in this series) a loop that keeps the standards from rotting. If you're one dev on one repo, a single file is genuinely fine. The moment there's a &lt;em&gt;team&lt;/em&gt;, treat your AI standards like code.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Coming up next (v0.2):&lt;/strong&gt; One source of truth is great — but your team doesn't all use the same AI tool. Next post: making the same skills and rules work across &lt;strong&gt;Cursor, Claude Code, and GitHub Copilot&lt;/strong&gt;, with &lt;strong&gt;cross-platform&lt;/strong&gt; setup (bash &lt;em&gt;and&lt;/em&gt; PowerShell). Star the repo to follow along.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you found this useful, a ⭐ on &lt;a href="https://github.com/prathakmalik/agent-standards-kit" rel="noopener noreferrer"&gt;the repo&lt;/a&gt; helps more than you'd think.&lt;/em&gt;&lt;/p&gt;

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