cd /news/ai-tools/one-setup-every-ai-cli-with-agnostic… · home topics ai-tools article
[ARTICLE · art-138638] src=agnostic-ai.org ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

One setup, every AI CLI with agnostic-AI

Agnostic-ai, an open-source tool from developer Chemaclass, generates native configuration files for 25 AI coding CLI targets from a single Markdown-and-YAML source stored in the user's repository, with a `sync --check` command that fails CI when generated files drift. The tool supports 10 portable spec kinds and translates per-target details such as model maps, tool names, and effort settings into each CLI's native format, including Claude, Codex, Cursor, and Gemini. It is installed via a curl script from the project's GitHub repository and requires no account or service.

read4 min views2 publishedSep 23, 2026

You own the source

Plain Markdown and YAML in your repo. No account, no service. import brings an existing setup in.

Keep agents, skills, rules, hooks, and MCP servers in one portable source. agnostic-ai writes each tool's native files and checks them for drift.

Recommended installerAll install options

curl -fsSL https://raw.githubusercontent.com/Chemaclass/agnostic-ai/main/scripts/install.sh | bash 25 targets. 10 portable spec kinds. Byte-stable output.

---
name: reviewer
description: Reviews a diff for bugs, style, and architectural issues.
tools: [Read, Grep, Glob]
model:
  claude: claude-opus-5-5
  codex: gpt-6-sol
effort: high
---
Read the diff. Report bugs, unclear naming, and missing tests.
Cite every finding with a `file:line` reference.

Markdown with YAML frontmatter. The per-target model map resolves to model: claude-opus-5-5, effort keeps its name, and the three tools pass through as written.

---
name: reviewer
description: Reviews a diff for bugs, style, and architectural issues.
tools:
  - Read
  - Grep
  - Glob
model: claude-opus-5-5
effort: high
---

<!-- Generated by agnostic-ai. Do not edit this file directly; edit specs under .agnostic-ai/ and run `agnostic-ai sync`. -->

Read the diff. Report bugs, unclear naming, and missing tests.
Cite every finding with a `file:line` reference.

TOML, not Markdown. The map resolves to gpt-6-sol, effort becomes Codex's own model_reasoning_effort, the body becomes developer_instructions, and there is no tools key at all.

name = "reviewer"
description = "Reviews a diff for bugs, style, and architectural issues."
model = "gpt-6-sol"
model_reasoning_effort = "high"
developer_instructions = """
Read the diff. Report bugs, unclear naming, and missing tests.
Cite every finding with a `file:line` reference.
"""

tools and effort are dropped. Sync says why: Cursor subagents have neither field, so use readonly: true for a coarse restriction and put effort in the model id, such as claude-opus-5[effort=high].

---
name: reviewer
description: Reviews a diff for bugs, style, and architectural issues.
---

<!-- Generated by agnostic-ai. Do not edit this file directly; edit specs under .agnostic-ai/ and run `agnostic-ai sync`. -->

Read the diff. Report bugs, unclear naming, and missing tests.
Cite every finding with a `file:line` reference.

The tool names are translated into Gemini vocabulary. No model line, because the map has no gemini key and no default. No effort line either: Gemini agents have no effort key, and sync prints a note.

---
name: reviewer
description: Reviews a diff for bugs, style, and architectural issues.
tools:
  - read_file
  - grep_search
  - glob
---

<!-- Generated by agnostic-ai. Do not edit this file directly; edit specs under .agnostic-ai/ and run `agnostic-ai sync`. -->

Read the diff. Report bugs, unclear naming, and missing tests.
Cite every finding with a `file:line` reference.

The tools pass through untranslated, and effort keeps its name. No model line here either, for the same reason as Gemini.

---
name: reviewer
description: Reviews a diff for bugs, style, and architectural issues.
tools:
  - Read
  - Grep
  - Glob
effort: high
---

<!-- Generated by agnostic-ai. Do not edit this file directly; edit specs under .agnostic-ai/ and run `agnostic-ai sync`. -->

Read the diff. Report bugs, unclear naming, and missing tests.
Cite every finding with a `file:line` reference.

Every AI coding tool ships its own config file. Adopt three and your instructions live in three places, drifting apart. agnostic-ai keeps one source in your repository and writes the rest.

Same input, same bytes, so they diff cleanly. sync --check fails CI when they drift.

Adding a target never changes what the others get. One rule routes to every native path and scope syntax.

Easy to stop using. The generated files are yours, and they keep working.

Why not just symlink one file? Each tool reads a different format at a different path. A symlink shares bytes. It cannot translate them. See how the formats diverge

agnostic-ai init --from all Import existing AI tool files first.

agnostic-ai sync --dry-run Preview every native file before writing it.

agnostic-ai sync Write every native file for the targets you chose.

The five most complete integrations, across six of the ten spec kinds. The other four: settings, review, environment, ignore.

Native uses the target's dedicated format automatically. Opt-in links to the setting you need.

Target Agents Skills Rules Hooks MCP Commands
Claude AgentsNative SkillsNative RulesNative HooksNative MCPNative CommandsNative
Codex AgentsNative SkillsNative RulesNative HooksNative MCPNative Commands Opt-in
Cursor AgentsNative SkillsNative RulesNative HooksNative MCPNative CommandsNative
Gemini AgentsNative SkillsNative RulesNative HooksNative MCPNative CommandsNative
Copilot AgentsNative SkillsNative RulesNative HooksNative MCPNative CommandsNo output

What shipped in agnostic-ai, and what changed upstream in the tools it targets.

── more in #ai-tools 4 stories · sorted by recency
── more on @agnostic-ai 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/one-setup-every-ai-c…] indexed:0 read:4min 2026-09-23 ·