|
1 | 1 | # Agents |
2 | 2 |
|
3 | | -https://agentskills.io/ |
| 3 | +Repository leveraged agent harness features. The `.agents` directory is the source of truth. Agent-specific directories keep only local config and relative symlinks into this directory. |
4 | 4 |
|
5 | | -Common skills and hooks shared across agent platforms. Symlinks are source controlled by default. |
| 5 | +## Features |
6 | 6 |
|
7 | | -```shell |
8 | | -# symlink skills |
9 | | -ln -sfn ../.agents/skills .claude/skills |
| 7 | +Legend: ✅ supported | ⚠️ non-standard | ❌ blocked | ➖ not applicable |
10 | 8 |
|
11 | | -# hooks |
12 | | -# .claude/settings.json references .agents/hooks directly |
13 | | -# .codex/config.toml enables hooks and .codex/hooks.json references .agents/hooks |
14 | | -# Hooks resolve the project root from AGENTS_PROJECT_DIR, agent-specific env vars, |
15 | | -# hook JSON cwd fields, the hook script location, or git. |
| 9 | +| Feature | Claude Code | Codex | Cursor | Open Code | Pi | |
| 10 | +| --- | --- | --- | --- | --- | --- | |
| 11 | +| **AGENTS.md** | ⚠️ [issue](https://github.com/anthropics/claude-code/issues/6235) - `CLAUDE.md` (symlink) | ✅ [docs](https://developers.openai.com/codex/guides/agents-md) | ✅ [docs](https://cursor.com/docs/rules) | ✅ [docs](https://opencode.ai/docs/rules/) | ✅ [docs](https://pi.dev/docs/latest/usage#context-files) | |
| 12 | +| **.agents/skills** | ⚠️ [issue](https://github.com/anthropics/claude-code/issues/31005) - `.claude/skills` (symlink) | ✅ [docs](https://developers.openai.com/codex/skills) | ✅ [docs](https://cursor.com/docs/skills) | ✅ [docs](https://opencode.ai/docs/skills) | ✅ [docs](https://pi.dev/docs/latest/skills) | |
| 13 | +| **.agents/mcp.json** | ⚠️ [docs](https://code.claude.com/docs/en/mcp) - `.mcp.json` (symlink) | ⚠️ [docs](https://developers.openai.com/codex/mcp) - `.codex/config.toml` | ⚠️ [docs](https://cursor.com/docs/mcp) - `.cursor/mcp.json` (symlink) | ✅ [extension](https://opencode.ai/docs/plugins/) | ✅ [extension](https://pi.dev/docs/latest/extensions) | |
| 14 | +| **.agents/hooks.json** | ⚠️ [docs](https://code.claude.com/docs/en/hooks) - `.claude/settings.json` | ⚠️ [docs](https://developers.openai.com/codex/hooks) - `.codex/hooks.json` (symlink) | ⚠️ [docs](https://cursor.com/docs/hooks) - `.cursor/hooks.json` | ✅ [extension](https://opencode.ai/docs/plugins/) | ✅ [extension](https://pi.dev/docs/latest/extensions) | |
| 15 | +| **Language Server Protocol** | ✅ [docs](https://code.claude.com/docs/en/tools-reference#lsp-tool-behavior) | ❌ [issue](https://github.com/openai/codex/issues/8745) | ✅ [docs](https://docs.cursor.com/context/) | ✅ [docs](https://opencode.ai/docs/lsp/) | ✅ [extension](https://pi.dev/docs/latest/extensions) | |
| 16 | +| **MCP Apps/UI** | ✅ [docs](https://claude.com/docs/connectors/building/mcp-apps/getting-started) (desktop) | ❌ [issue](https://github.com/openai/codex/issues/21019) | ✅ [docs](https://cursor.com/changelog/2-6) | ➖ cli | ➖ cli | |
16 | 17 |
|
17 | | -# symlink context |
18 | | -ln -s AGENTS.md CLAUDE.md |
19 | | -``` |
| 18 | +## Hook Events |
| 19 | + |
| 20 | +All platforms call the same hook scripts. Event names and tool filters differ by platform. |
| 21 | + |
| 22 | +| Purpose | Shared script | Claude Code | Codex | Cursor | |
| 23 | +| --- | --- | --- | --- | --- | |
| 24 | +| Session setup | `.agents/hooks/session-start.sh` | `SessionStart` + `startup` | `SessionStart` + `^startup$` | `sessionStart` | |
| 25 | +| Shell guard | `.agents/hooks/pre-tool-use-bash.sh` | `PreToolUse` + `Bash` | `PreToolUse` + `^Bash$` | `preToolUse` + `Shell` | |
| 26 | +| Write guard | `.agents/hooks/pre-tool-use-edit-write.sh` | `PreToolUse` + `Edit\|Write` | `PreToolUse` + `Edit\|Write` | `preToolUse` + `Write\|Edit` | |
| 27 | +| Format and lint | `.agents/hooks/post-tool-use-edit-write.sh` | `PostToolUse` + `Edit\|Write` | `PostToolUse` + `Edit\|Write` | `postToolUse` + `Write\|Edit` | |
| 28 | +| End-of-turn checks | `.agents/hooks/stop.sh` | `Stop` | `Stop` | `stop` | |
| 29 | + |
| 30 | +## Standardization Tracking |
| 31 | + |
| 32 | +- https://github.com/modelcontextprotocol/modelcontextprotocol/issues/292 |
0 commit comments