Skip to content
ai-agent-config
MITSet up
Agent configuration · Git repo · MIT

Maintain once,
loaded everywhere

Global instructions, subagents and skills in one repo. Symlinks wire them into Claude Code, Codex and Mistral Vibe – an edit here is live in every tool at once.

Skills · as of Aug 2026
82
Subagents
5
Tools linked
3
Licence
MIT
Included
  • GLOBAL.md
  • planner
  • implementer
  • reviewer
  • explorer
  • security-auditor
  • astro-architecture
  • tailwind-ui
  • accessibility-audit
  • biome
  • playwright
  • seo
  • cloudflare
  • anti-ai-copy
  • nosecrets hook
01 — Overview

Cross-project rules don’t belong in every CLAUDE.md.

If you use coding agents across many projects, you end up writing the same rules again and again: working style, scope, validation, commit conventions. ai-agent-config keeps that layer in one repo. Project files get shorter and only describe what makes each project different.

github.com/casoon/ai-agent-config →
  1. 01One GLOBAL.md — becomes ~/.claude/CLAUDE.md and ~/.codex/AGENTS.md
  2. 02Agents as Markdown — rendered to TOML for Codex by a script
  3. 03Skills on demand — one folder with a SKILL.md per topic
  4. 04Symlinks, not copies — an edit in the repo is live immediately
02 — Layers

Every rule in its place.

The repo manages the global layer. Project memory and session memory deliberately stay out.

  1. 01

    Global = behaviour

    How work gets done: plan first, small diffs, no new dependencies without a reason. Short enough to always be loaded. → GLOBAL.md

  2. 02

    Skill = domain knowledge

    Astro, Tailwind, Biome, SEO, accessibility, Cloudflare, writing – loaded only when a task needs it. → skills/

  3. 03

    Agent = role

    Planner, implementer, reviewer, explorer, security auditor. Roles, not knowledge stores. → agents/

  4. 04

    Repo = truth

    A project’s folder structure, commands and architecture boundaries. That belongs in the project’s own CLAUDE.md, not here.

03 — Structure

One neutral tree for every tool.

ai-agent-config/Tree
ai-agent-config/
├── GLOBAL.md              # → CLAUDE.md / AGENTS.md
├── agents/                # subagent sources (Markdown)
├── codex-agents/          # generated from agents/
├── skills/                # one folder with SKILL.md each
├── codex-config.example.toml
├── scripts/
│   └── render-codex-agents.py
├── .githooks/
│   └── pre-commit
└── install/
    ├── link-all.sh
    ├── link-claude.sh
    ├── link-codex.sh
    └── link-mistral.sh
GLOBAL.mdExcerpt
## Core principles

- Do exactly what is asked — no more, no less.
- Prefer modifying existing code over adding new files.
- Minimize surface area of changes.
- Avoid speculative improvements unless explicitly requested.

## Scope control

- Do not fix unrelated issues.
- Do not reformat unrelated code.
- Do not upgrade dependencies unless required.
- Do not refactor outside the task scope.
agents/explorer.mdAgent
---
name: explorer
description: Searches a codebase to answer a specific
  question — "where is X", "how does Y work", "what
  calls Z". Protects the main agent's context by keeping
  raw search output isolated and returning a concise
  synthesis.
---

You are an exploration agent. You search, read, and
summarize — you do not modify files.
04 — Linking

Where each file points.

File in repoClaude CodeCodexMistral Vibe
GLOBAL.md~/.claude/CLAUDE.md~/.codex/AGENTS.md—
agents/~/.claude/agents——
codex-agents/—~/.codex/agentsagent_paths
skills/~/.claude/skills~/.codex/skillsskill_paths
codex-config.toml—~/.codex/config.toml—

For Mistral Vibe, link-mistral.sh adds the paths to ~/.vibe/config.toml if that file exists. Zed needs no script of its own: Claude Code in the Agent Panel reads the same ~/.claude/.

05 — Subagents

Five roles, each with a clear brief.

agents/planner.md

Planner

Breaks larger work into an ordered plan, names risks and assumptions and proposes the smallest reasonable path. Does not implement.

Claude CodeCodex
agents/implementer.md

Implementer

Carries out an agreed plan in small, reviewable diffs. Keeps the architecture, does not restructure silently and checks what it changed.

Claude CodeCodex
agents/reviewer.md

Reviewer

Reviews a diff for correctness, regression risk, maintainability and architectural fit. Findings grouped by severity.

Claude CodeCodex
agents/explorer.md

Explorer

Answers questions like “where is X” in its own context. Raw search output stays out; what comes back is a short answer.

Claude CodeCodex
agents/security-auditor.md

Security auditor

Checks defensively for injection, authn/authz flaws, secret handling, input validation and dependency risks. Writes no exploits.

Claude CodeCodex
06 — Setup

Linked in three steps.

  1. 1Clone

    Get the repo

    Ideally as your own copy or fork, so your changes are versioned.

    git clone https://github.com/casoon/ai-agent-config.git
  2. 2Link

    Create the symlinks

    Links Claude Code, Codex and – if installed – Mistral Vibe. Existing files are kept next to it as .bak.

    ./install/link-all.sh
  3. 3Protect

    Enable the hook

    Once per clone. From then on, every commit regenerates the Codex agents and scans for secrets.

    git config core.hooksPath .githooks
07 — Details

What happens behind the scenes.

One source for agents

agents/ is the only place to edit agent prompts. render-codex-agents.py generates codex-agents/ from it; nothing there is edited by hand.

Pre-commit hook

Regenerates the Codex agents, stages them and scans the changes with nosecrets. Findings abort the commit.

Nothing gets lost

Files that are not yet a symlink are moved to <path>.bak before the script links anything.

Codex profiles

codex-config.example.toml ships the profiles default, deep and fast with different reasoning effort.

Private section

GLOBAL.md ends with a marked area for personal preferences: package manager, languages, commit style.

Portable Bash

The scripts only use ln -sfn, mkdir -p and mv. Requirements: bash, python3 and git.

08 — Limits

A starting point, not a live feed.

Public snapshot

The repo is a sanitised export of a private configuration, refreshed periodically. Breaking changes can happen.

Tested on macOS

Linux is expected to work but is not actively tested. Windows only via WSL2.

Vibe is best effort

For Mistral Vibe, the Codex TOML agents are reused. Whether the schema fits is not guaranteed.

Permissive Codex profiles

The example profiles set approval_policy = "never" and sandbox_mode = "danger-full-access". Review them before use.

No nosecrets, no scan

Without nosecrets installed, the hook prints an error and lets the commit through – unscanned.

09 — FAQ

Frequently asked questions.

Does ai-agent-config replace the CLAUDE.md in my project?

No. The repo manages the global layer: your personal CLAUDE.md or AGENTS.md, skills and subagents. Rules that only apply to one project stay in that project’s own CLAUDE.md.

What happens to my existing configuration?

If a target path exists and is not a symlink, the link script moves it to <path>.bak. Existing symlinks are replaced.

Do I have to adopt every skill?

No. Skills are only loaded when a task needs them, and you can delete or add skills in your own copy. In August 2026 the repo contained 82 skills.

How do Claude Code and Codex stay in sync?

Agent prompts are only maintained as Markdown in agents/. On every commit, the pre-commit hook generates the TOML files for Codex from them. GLOBAL.md and skills/ are the same files for both tools.

Can I just track the repo with git pull?

You can, but it is meant as a baseline to copy from. It is a periodic export, not continuously in sync, and breaking changes happen. Your own copy or fork keeps your adjustments stable.

Does it work in Zed?

Yes, when Claude Code runs inside Zed as an external agent via ACP. It reads the same ~/.claude/ that link-claude.sh sets up. Zed’s built-in agent is not supported.

One setup for every project.

Clone, link, adapt. An article on insights.casoon.de explains the layer model and how Claude Code and Codex differ (in German).