Install any skill in seconds. Free to start, no credit card required.
Get Started Free →avizmarlon/hooks-multi-tool-parity
Enforce hook lifecycle synchronization across all AI agent tools. When creating, modifying, or removing hooks in any AI tool (Claude Code, Codex CLI, Cursor, Gemini, Kimi, etc.), propagate changes to all equivalent tools in the same session.
Passed 19 of 22 test cases with the skill, and 6 of 22 without it.
and 11 more in the full report
13 fixed6 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
After writing hook configuration files for Claude Code and Codex CLI to block unvalidated API calls, what final operational step must be performed before concluding the session?
| Checked | Without skill | With skill |
|---|---|---|
| Requires running a smoke test in each target tool to verify expected hook execution. | Missed | Passed |
The instructions your model reads when the skill loads.
When you manage hooks in a multi-AI environment, hook definitions must propagate across all AI tools that have equivalent lifecycle support. This prevents gaps where a behavioral rule is enforced in one tool but leaves others unprotected.
When multiple AI tools (Claude Code, Codex, Cursor, Gemini, Kimi, Desktop Commander, Cline) are used in parallel or in sequence within the same workflow:
Example failure scenario: You implement a validation hook in Claude Code that prevents certain classes of faulty claims. Codex, used in parallel, lacks this hook. Both tools can produce the same error, but you've only patched half your stack.
Different tools have varying hook lifecycle maturity. Organize propagation as tiers:
| Tool | Hook Events | Propagation Tier | Configuration |
|---|---|---|---|
| Claude Code | SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, PreCompact, Stop | Primary | ~/.claude/hooks/ + settings.json |
| Codex CLI | SessionStart, UserPromptSubmit, PreToolUse, PostToolUse, Stop, SessionEnd | Primary | ~/.codex/hooks/ + config file |
| Cursor | Startup, ToolExecution, FileEdit, Completion, Shutdown | Best-effort | IDE plugin config + rules directory |
| Gemini CLI | Startup, Shutdown, BeforeAgent | Best-effort | Settings file |
| Kimi Desktop / CLI | Tool-specific hooks | Best-effort | App config |
| Desktop Commander | Tool-specific hooks | Best-effort | Application config |
| Cline | BeforeToolExecution, AfterToolExecution, OnNotification | Best-effort | SDK hook configuration |
Definitions:
Events are not always 1:1 between tools. Map by semantic meaning:
| Semantic Intent | Claude Code | Codex | Cursor | Gemini | Action |
|---|
test cases passed, vs 6 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.