port-project-codexlisted
Install: claude install-skill ada-ggf25/AI-Tools
# Port project-local Claude Code artifacts to Codex
Finds project-local Claude Code skills and agents that have no Codex counterpart, adapts
approved items to Codex conventions, and writes only to the current project's
project-local Codex directories.
Source: `.claude/skills/` and `.claude/agents/` inside the current working directory.
Target: `.agents/skills/` and `.codex/agents/` inside the current working directory.
Never touches global `~/.codex/` or modifies any `.claude/` file.
## Procedure
### 1. Compute the gap
Run both diffs:
```bash
# Skills missing from .agents/
comm -23 \
<(ls .claude/skills/ 2>/dev/null | sort) \
<(ls .agents/skills/ 2>/dev/null | sort)
# Agents missing from .codex/ (strip .md extension)
comm -23 \
<(ls .claude/agents/ 2>/dev/null | sed 's/\.md$//' | sort) \
<(ls .codex/agents/ 2>/dev/null | sed 's/\.toml$//' | sort)
```
If both lists are empty, report
"No gaps found - project .claude/, .agents/, and .codex/ are in sync." and stop.
### 2. Present the gap list
Show the user two sections:
```text
Skills to port (.claude/skills/<name>/SKILL.md -> .agents/skills/<name>/SKILL.md)
- <name>
...
Agents to port (.claude/agents/<name>.md -> .codex/agents/<name>.toml)
- <name>
...
```
Ask which items to port. Require explicit per-item approval before any write.
### 3. Adapt skills
For each approved skill, read `.claude/skills/<name>/SKILL.md`, then apply these
substitutions:
| Find | Replace |
|---|---|
| `CLAUDE.md` | `A