Skip to main content

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.md etc.
  • Codex: create skills/<name>/SKILL.md and optional skills/<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 .md files → JSON config files + separate instruction .md files
  • Codex: rewrite → TOML files; frontmatter descriptiondescription =; 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.py100% 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