Claude Code → Cross-Platform Migration Matrix
Layer-by-layer mapping of CC assets to equivalent mechanisms on Gemini CLI, OpenCode, Codex, and Cursor. “Parity” = how close the target mechanism is to the CC original.Rules / Ambient Instructions
Migration action: Content of
claude-setup/rules/*.md → copy files, reference via platform’s import syntax. Content is portable; only the loading mechanism changes.
Skills (On-Demand Prompt Templates)
Migration action:
- Gemini: copy TOML commands to
.gemini/commands/; content format is nearly identical; copy skills to.gemini/skills/ - OpenCode: create
.opencode/commands/wiki-context.md,.opencode/commands/security-patterns.mdetc. - Codex: create
skills/<name>/SKILL.mdand optionalskills/<name>/agents/openai.yaml - Cursor: inline skill content as sections in rules file (ambient, not invokable)
Subagents (Spawnable Specialized Agents)
Migration action:
- OpenCode: rewrite 18 agent
.mdfiles → JSON config files + separate instruction.mdfiles - Codex: rewrite → TOML files; frontmatter
description→description =; system prompt body →developer_instructions = """ - Gemini/Cursor: no equivalent — routing logic must be inlined in rules
Hooks (Automated Triggers)
OpenCode leads on hooks: OpenCode has more hook event types than Claude Code. Additional events include
file.edited, file.watcher.updated, message.updated, lsp.client.diagnostics. The compaction hook (session.compacting) has no CC equivalent.
Cursor hook architecture: Cursor has 15 hook types vs CC’s 8. ECC uses a DRY adapter pattern — adapter.js transforms Cursor’s stdin JSON to Claude Code’s format, so the same scripts/hooks/*.js run on both harnesses. Notable Cursor-only hooks: beforeSubmitPrompt (secrets detection in prompts), beforeTabFileRead (blocks reading .env/.pem files).
Migration action: OpenCode hook equivalent is the plugin system — already done (lean-compaction-plugin.ts). Codex supports repo-local hooks via .codex/config.toml, but plugin parity is still separate. Gemini and Copilot still have no equivalent here.
Plugins
Migration action: No migration — plugin ecosystems are fully separate. Identify equivalent functionality per platform separately.
Settings / Config
Council / Multi-Vendor Review
templates/council.py — 100% portable. Runs anywhere Python + GITHUB_TOKEN available. Platform-agnostic by design.
GitHub Copilot (VS Code)
No hook system, no subagent API. Instruction + prompt layer only.
Practical limit: Copilot delivers the ECC philosophy (standards, security, TDD, workflow) but not the enforcement (hooks, agents, isolation). Use for basic coding discipline on VS Code-centric teams; use Claude Code or Cursor for full harness enforcement.
Zed
Project-local.zed/ adapter. Writes ECC-managed files under .zed/, flattened rules, agents, commands, skills. No dedicated hook system. BYOK/OpenRouter credentials must be configured through Zed’s settings UI, not in the repo.
What’s Already Cross-Platform
What Still Needs Official Sources
Related Pages
- Gemini CLI — Gemini CLI GEMINI.md + @-imports + migration mapping table
- OpenCode — OpenCode commands, rules, agents
- OpenAI Codex — Codex TOML agents + native skills
- Cursor Rules Background Agents — Cursor .cursor/rules + background agents
- Everything Claude Code (ECC) — ECC cross-harness parity table (source for Cursor/Copilot/Zed data)
- AGENTS.md (format) — AGENTS.md cross-tool compatibility table
- Everything Claude Code (ECC) — ECC entity with full cross-harness matrix
- Agent Context Instructions — the concept all these implement
- Agent Skills — CC skills; what each platform replaces
- Agent Subagents — CC subagents; migration target per platform