PTENES
TRACK 4

🟡 Converting your project

From AI-assisted migration to parallel maintenance. The prompt template that gets the agent to migrate its own project.

1
Module
7
Topics
~40min
Duration
Practical
Type

Learning path map

Detailed content

4.1~40 min

🔄 AI-assisted migration + parallel maintenance

You don’t migrate by hand. You ask the new agent to migrate it for itself.

What it is:

Instead of copying/renaming/converting by hand, open the DESTINATION agent (Codex if you're coming from Claude, and vice versa) and ask it to read the current config and create the equivalent.

Why learn:

Manual migration takes hours and has subtle bugs. An agent does it in minutes, with a chance of catching nuances (TOML syntax, sidecar) you might miss.

Key concepts:

The “agents migrate agents” principle, documentation research as part of the prompt, and subsequent validation by a human.

What it is:

An explicit prompt that tells the agent: read CLAUDE.md and generate an equivalent AGENTS.md; read .claude/agents/ and generate .codex/agents/ in TOML; read .claude/skills/ and copy/adapt them to .agents/skills/; research the documentation for both to make sure.

Why learn:

Vague prompts get vague results. The standardized template ensures complete coverage: AGENTS.md + .codex/ + .agents/ + adapting agents to TOML.

Key concepts:

Prompt order matters, explicitly ask for documentation research, list expected files, and request a report on what changed.

What it is:

List of what to ALWAYS check after the agent says "migrated": AGENTS.md has equivalent instructions; agents in TOML load without errors; skills appear in the listing command; MCP servers connect; permissions make sense.

Why learn:

An agent can say “done” and have skipped something. The checklist is your insurance policy. Five minutes of validation saves hours of “why isn't this working?”

Key concepts:

Feature-based validation (not just by file), smoke test (invoke a simple skill), check openai.yaml in skills with MCP deps.

What it is:

(1) Skill in .codex/skills instead of .agents/skills; (2) backtick-bang copied without a fallback; (3) long description truncated; (4) agents in markdown instead of TOML; (5) expecting auto-dispatch in Codex.

Why learn:

These are the 5 errors that show up in almost every migration. Once you know them, you can spot them at a glance. Without that knowledge, you spend hours debugging "why it doesn't trigger".

Key concepts:

Correct folder path, injection conversion, description limit, TOML format, explicit invocation.

What it is:

After the initial migration, every major change to CLAUDE.md needs to become a change in AGENTS.md (and vice versa). Same for skills. That’s the “tax” of maintaining both runtimes.

Why learn:

Without discipline, the two drift apart within weeks, and you end up with two different projects. Manual discipline works; polyskill (T5) automates it for skills.

Key concepts:

Rule: “change it here, change it there,” hook or pre-commit checklist, divergence detection, polyskill as a solution for skills (not for CLAUDE.md/AGENTS.md).

What it is:

You can use Claude Code as your main agent and Codex just to run specific skills (or vice versa). It’s not all or nothing. Share the source code and keep only the skills duplicated.

Why learn:

Reduces duplication costs. Many people migrate everything thinking they need to, when it would be enough to port 2-3 critical skills to Codex.

Key concepts:

Primary vs. auxiliary agents, minimal duplication scope, “polyglot skill” ported with polyskill (T5).

What it is:

After the initial migration and the experience of maintaining both, comes the “okay, I don’t want to do this manually anymore.” That’s where Trail 5 comes in: polyskill. One source, two outputs, drift policy.

Why learn:

To understand the pain before seeing the solution. Anyone who understands the pain of maintaining two divergent skills will appreciate polyskill much more.

Key concepts:

Canonical source of truth, adapters per runtime, automated build, drift hash, Claude ↔ Codex round-trip.

View Full
← Track 3: Codex Track 5: polyskill →