JIMDRURY.
Jim Drury
Flat pink editorial illustration: a real .agents folder with dashed symlink arrows to a virtual .claude folder, beside a terminal tree showing .claude entries pointing to .agents and CLAUDE.md linked to AGENTS.md.
ai

Your Claude Code setup is probably wrong, I'll tell you why.

4 MIN READ

The .claude folder

Flat pink line illustration: a .claude folder inside a padlocked dashed ring labelled Claude Code only; Claude Code gets in while Cursor and OpenCode are blocked with crosses.
.claude/
├── agents/
│   └── agent-name.md
├── rules/
│   └── rule-name.md
└── skills/
    └── skill-name/
        └── SKILL.md

Introducing the .agents folder

.agents/
├── agents/
│   └── agent-name.md
├── rules/
│   └── rule-name.md
└── skills/
    └── skill-name/
        └── SKILL.md

Can we make this work for Claude Code?

Flat pink line illustration: a solid .agents/skills folder and a dashed ghost .claude/skills folder pointing back to it, above the command ln -s ../.agents/skills/skill-name .claude/skills/skill-name.
.claude/
├── agents/
│   └── agent-name.md -> .agents/agents/agent-name
├── rules/
│   └── rule-name.md  -> .agents/rules/rule-name
└── skills/
    └── skill-name/   -> .agents/skills/skill-name
        └── SKILL.md
ln -s ../.agents/agents/agent-name.md .claude/agents/agent-name.md
git config core.symlinks true
ln -s AGENTS.md CLAUDE.md

What about Cursor and Open Code?

Flat pink line illustration: one isometric cube labelled .agents plus AGENTS.md feeding three windows: Claude Code via a .claude symlink, Cursor via a .cursor symlink, and OpenCode reading .agents directly.
ln -s ../.agents/agents/agent-name.md .cursor/agents/agent-name.md
.cursor/
├── agents/
│   └── agent-name.md -> .agents/agents/agent-name
├── rules/
│   └── rule-name.md  -> .agents/rules/rule-name
└── skills/
    └── skill-name/   -> .agents/skills/skill-name
        └── SKILL.md

Thoughts

Similar Articles