kaushal कौशल

Accepted ADR 0002 · 2026-10-28

#2. One store, written into each agent's own config

#Context

Every agent already has a way to load skills, MCP servers and global instructions, each in its own place and format: Claude Code reads ~/.claude/skills and ~/.claude.json, Codex ~/.codex/config.toml and AGENTS.md, opencode opencode.json and ~/.agents/skills, Gemini CLI settings.json and GEMINI.md. Keeping the same skills and tools in all of them by hand means copies that drift, and a new agent or account that has none of them.

kaushal could instead sit between the agents and the tools (one proxy MCP server, or a wrapper that injects things at start-up), but every agent is started from many places (terminals, editors, desktop apps), and a proxy is one more process to break.

#Decision

Skills and servers live in one store (the repository's skills/ and mcp.toml, plus the user's ~/.config/kaushal/). kaushal sync writes them into each agent's own configuration, in that agent's own format, through one small class per agent (kaushal/agents.py). Skills are linked, not copied. Agents that don't read skill folders get a short index (each skill's description and the path of its SKILL.md) in their instructions file.

#Consequences

← All decisions · source