DEV Community

Cover image for One set of AI standards, every tool: Cursor, Claude Code, and Copilot
Prathak Malik
Prathak Malik

Posted on

One set of AI standards, every tool: Cursor, Claude Code, and Copilot

Part 2 of the agent-standards-as-code series. Part 1 made the case for versioning your AI standards as code. This post makes them work across tools and operating systems. Code pinned at v0.2.

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.

If your standards only work in one tool on one OS, they're not really team standards. Here's how v0.2 fixes that.

The portability problem

Each tool reads its config from a different place, in a slightly different format:

  • Cursor: skills in ~/.cursor/skills/, rules as .mdc in ~/.cursor/rules/.
  • Claude Code: skills in ~/.claude/skills/, guidance in CLAUDE.md / AGENTS.md.
  • Copilot (VS Code): skills in .github/skills/ or ~/.copilot/skills/, guidance in .github/copilot-instructions.md.
  • Codex: skills in ~/.codex/skills/, guidance in AGENTS.md.

Two things save us from writing four different content sets.

1. Skills are already portable

The Agent Skills standard defines a SKILL.md format that Cursor, Claude Code, Copilot, and Codex all understand. A skill is a folder with a SKILL.md whose frontmatter has a name and a trigger-rich description. Write it once, it runs everywhere. The sync just links that folder into each tool's skills directory.

(One sharp edge: the name 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.)

2. AGENTS.md is the portable base for rules

Rules are less standardized. So we keep a single portable AGENTS.md — the tool-agnostic standing guidance — and let each tool consume it:

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

The adapters/ folder documents exactly where each tool expects things, so there's no guessing.

Git repo: skills/ + rules/ + AGENTS.md
        │  setup.(ps1|sh) + git hooks
        ╚
  ├───────────↴────────────↴───────────↴──────────└
Cursor     Claude Code   Copilot     Codex
(junction) (symlink)     (.github)   (symlink)
Enter fullscreen mode Exit fullscreen mode

Cross-platform: junctions vs symlinks

The sync uses the right primitive per OS automatically:

  • Windows: directory junctions (mklink /J) — no admin required (unlike symlinks).
  • macOS/Linux: symlinks (ln -s).

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

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

Try it

git clone https://github.com/prathakmalik/agent-standards-kit.git
cd agent-standards-kit
# Windows:      ./scripts/setup.ps1
# macOS/Linux:  ./scripts/setup.sh
Enter fullscreen mode Exit fullscreen mode

Whatever tools you have installed now share the same skills and rules. Change the repo, git pull, and every tool on every machine updates together.

Why this matters

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.


Coming up next (v0.3): a source of truth is only useful if it stays true. Next post: the nudge -> skill -> PR loop that keeps your standards from rotting, plus how to adapt the kit to any tech stack.

⭐ the repo if this is useful — it genuinely helps.

Top comments (0)