Agentcompat banner
tainguyen091994 tainguyen091994

Agentcompat

Development community

Description

Which agent extension features actually work on which agent. A compatibility matrix for skills, hooks, MCP and plugins across Claude Code, Grok Build, Cursor, Codex and Gemini CLI, plus a linter for fields that are silently ignored.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

agentcompat

Which agent extension features actually work on which agent.

Your `SKILL.md` sets `model: opus`. On Claude Code that switches the model. On Grok Build the field parses fine, does nothing at all, and nobody tells you. Your `allowed-tools` list pre-approves tools on one agent and grants nothing on the other, which is a security difference, not a cosmetic one.

Spec linters cannot catch this. The file is valid. It just does not do what you think on the agent someone else is running.

npx agentcompat lint .
.claude/skills/demo/SKILL.md
     4  ignored     `model` on Grok Build
        Accepted by the parser and never applied. The session model is used instead, with no warning.
     5  ignored     `allowed-tools` on Grok Build
        Parsed, but it neither grants nor restricts tools. A skill relying on it for a permission grant silently gets nothing.

.claude/hooks/start.sh
     2  unsupported `CLAUDE_PROJECT_DIR` on Grok Build
        Not set. The nearest equivalent carries a GROK_ prefix, so a hook written for one agent reads an empty value on the other.

Usage

agentcompat lint .                    # warn where this project relies on ignored behaviour
agentcompat lint . --agent grok-build # only care about one agent
agentcompat lint . --json             # machine-readable
agentcompat table                     # print the matrix as markdown
agentcompat missing                   # every cell nobody has verified
agentcompat agents                    # the agents being tracked
agentcompat check                     # validate the data files

`lint` exits 1 when it finds something an agent silently ignores, so it can gate a pull request.

The matrix

Value Means
yes Works as documented
no Not implemented. The agent errors, or there is no equivalent
partial Works, but not fully or not the same way. See the note
ignored Accepted without compl