02 · The method
Audit → Adapt → Prove → Handoff. In that order, and never implementing before auditing.
The kit's mega-prompts start in MODE: audit on purpose: first analyze, plan and simulate; only then implement. The rule that closes the method is the hardest one to accept — a file existing is not proof; the agent having read and used it is.
Diagnose→Audit→Adapt→Install the core→Port skills→Prove→Handoff
Step 1Audit
What exists today, without touching anything?
A read-only inventory of both runtimes: skills, commands, subagents, hooks and MCP. Each skill is classified as reusable, adapter, native or unresolved.
Step 2Adapt
What is portable and what is residue?
CLAUDE.md splits in two: portable rules go to AGENTS.md; whatever depends on a plugin, a hook or a Claude menu stays in the specific file, which merely imports the portable part.
Step 3Prove
Can a fresh session carry on?
Five continuity questions — goal and definition of done, one rule with its source file, the last decision, the next action, conflicts — asked in each runtime.
Step 4Handoff
What does the next session need to know?
Decisions, open items, next steps and paths in a Markdown file. The following session, in any runtime, reads it before acting. Handoff before closing, always.
What the portable core is
Seven places, each with an owner and an update rule. This is what the kit installs without overwriting anything that already exists in the project.
The files
Where each thing lives
- AGENTS.md — stable rules and reading order
- context/overview.md — verified facts, with source and date
- context/current-state.md — what works and what is pending
- context/sources.md — where each piece of information comes from
- context/decisions/ — one accepted decision per file
- tasks/current.md — goal, owner, definition of done, next action
- handoffs/latest.md — the continuation for the next session
The types of information
Owners, not folders
- Fact — verified, with origin and date
- Preference — how you want it done
- Hypothesis — not confirmed yet
- Decision — accepted, with scope and status
- Provenance beats timestamp: nothing is deleted, you use
superseded_by
- Indexes can be rebuilt from the sources
- Secrets and raw material stay outside the repository
Why this is more than tidiness. Mixing a fact with a hypothesis, or a decision with a preference, is what makes the agent repeat an old mistake and contradict what was already settled. The owner and the date are what let you promote a piece of information from raw memory to approved context — with your approval, never automatically.
03 · Migrate or stay agnostic
Three levels. The first one solves today; the third one solves the next switches too.
The course splits the decision into levels of effort, not into opinions. Migrating means reaching level 1 or 2. Staying agnostic is level 3 — and it is the only one that survives the next model switch, which will happen again.
Level 1 · one clickImport in the app
The shortest path when a ready-made import exists. Fast, and limited to what the other side accepts — the Codex CLI, for example, has no native import.
Level 2 · one commandMigrate with the kit
Run the agente-claude-codex scripts: audit, adapt instructions, install the core, port skills and prove it in a fresh session in both runtimes.
Level 3 · lastingThe portable personal layer
Reorganize the work so that knowledge lives in the project and the runtime is interchangeable. More work once; no migration afterwards.
Migrate now if…
- You need to use the other runtime this week, for cost, access or policy reasons.
- Your setup is concentrated in a few projects and a few skills.
- Most of your skills are plain Markdown (reusable in the audit).
- You want results before reorganizing how you work.
Stay agnostic if…
- You have already switched tools once and don't want to do it all again.
- You want to use two or more executors at the same time, including a local one.
- Many skills depend on MCP or on harness hooks (adapter and native).
- There is client work, where scope and isolation have to be explicit.
What migrating changesInstructions and skills move to the other runtime. The way you work stays the same.
What staying agnostic changesThe project gains a portable core, a handoff cycle and skills with a single source.
What doesn't changeYou still pick the executor per task. Agnostic doesn't mean abandoning Claude.
The cost of doing nothingKnowledge keeps piling up in a format only one runtime reads.
True for bothAudit before implement, and proof by reading in a fresh session.
There is no final state. Every provider change improves one executor and breaks another: closed models may do without skills that a local model requires, and a hook that exists in one harness doesn't exist in the other. That's why the method ends in maintenance — watching the drift between copies and logging every failure in one line, with the smallest possible fix.
Note: the account belongs to the runtime, not to the project
Staying agnostic applies to accounts too. With two Codex subscriptions (personal and work, for example), the login stays outside the portable layer: each account lives in its own folder, pointed to by the CODEX_HOME variable (default ~/.codex). The project, the AGENTS.md, the skills and the handoff stay the same for both accounts.
# second account: its own folder, with the same instructions via links
mkdir -p ~/.codex-trabalho
ln -s ~/.codex/config.toml ~/.codex-trabalho/config.toml
ln -s ~/.codex/AGENTS.md ~/.codex-trabalho/AGENTS.md
CODEX_HOME=~/.codex-trabalho codex login --device-auth
# prove it by reading, in a new session, on both accounts
codex exec --sandbox read-only 'Read the AGENTS.md and list the 3 main rules'
CODEX_HOME=~/.codex-trabalho codex exec --sandbox read-only 'Read the AGENTS.md and list the 3 main rules'
Goes in the portable layerAGENTS.md, skills and handoff, shared by both accounts.
Stays outsideEach account's auth.json, the history and the sessions. Never in the repository or in the handoff.
Switching accounts is not migratingOnly the CODEX_HOME changes. No project file changes.
Audit firstCheck that the .gitignore covers .codex*/ and that no script writes a login inside the project.
Same principle in ClaudeIn Claude Code, the CLAUDE_CONFIG_DIR variable separates accounts the same way.
Caveats. codex login and logout without the right CODEX_HOME switch the main account. Do not copy the auth.json between folders: the login renews itself and two copies can invalidate each other. Services and terminals already open stay on the account they started with.
Want to use both together? Once the brain is separated from the model, you can use Claude and Codex on the same project — one does the work, the other reviews it. The Codex + Claude area brings together the six levels of the Use Both kit, who does what and every INEMA course and project on the two tools.
Open the Codex + Claude area →
05 · The agente-claude-codex kit
Command line and Markdown. No interface, no bulk copying, nothing deleted.
The kit is bash plus Markdown files, and it can be used in three ways: the scripts, the mega-prompts (to run the migration by talking to an agent) and the template of the portable core, which you can copy into any project without running a single script.
Steps 0 and 1
doctor.sh and audit.sh
doctor.sh answers "is my environment ready?" — each item comes out as ok, warning or missing, with the command to fix it. audit.sh writes a read-only report with the inventory of both runtimes and the classification of every skill.
Steps 2 and 3
adapt-instructions.sh and init-core.sh
The first one reads the project's CLAUDE.md and writes two proposals next to it, without overwriting. The second copies the portable core, listing what it created and what it kept. There is also faxina.sh, which classifies a long CLAUDE.md section by section.
Step 4
sync-skills.sh with polyskill
One canonical source per skill, copies generated per runtime, and a drift command that tells you, per destination, whether it is identical or has diverged. Installing makes a backup alongside before overwriting.
Step 5
readback-test.sh
It opens a fresh session in each runtime inside the project, asks the five continuity questions and saves the raw answer. Approval is yours, by reading the text: do the answers cite the right files, and does the next action match the task?
Daily cycle
session-handoff and prime
The two canonical skills that ship with the kit: one writes the handoff at the end of the session, the other reads AGENTS.md, context/, tasks/ and handoffs/ before acting and returns a briefing with the sources. Together, they close the cycle.
Maintenance
drift-report.sh and promover-memoria.sh
A weekly report on divergence between the skill copies and the global AGENTS.md; and a flow in which the agent proposes facts with source and date out of raw memory, and only what you approve enters the context.
What has actually been run on this machine (2026-09-13 and 2026-09-16). According to the kit's README: doctor.sh passed with two warnings; the audit found 89 skills existing only in Claude — 71 reusable, 15 adapter, 2 native and 1 without a SKILL.md; adapting the global CLAUDE.md separated 71 portable lines from 7 lines of residue; the core installed in an isolated clone passed the check; readback passed in both runtimes; the canonical skills ended up installed in four destinations with zero drift; and a fresh Codex session, after prime, pointed out three real contradictions between the handoff and the task. These are execution records in the repository itself, not a benchmark and not a measure of model performance.
Would you rather do it by talking? Mega-prompts A (migrate an existing Claude setup) and B (build a portable workspace, with personal and client add-ons) are available as copyable text in the repository. Keep MODE: audit on the first pass, read the plan the agent returns and only then run it in implementation mode.
See the prompts → (in Portuguese)