Prepare Claude Code + Codex CLI Compatibility
เตรียมโปรเจกต์ให้ Claude Code กับ Codex CLI ใช้ร่วมกันได้
พรอมป์สั่งงาน 13 เฟส ที่ทำให้ workspace ซึ่งตั้งค่าไว้ให้ Claude Code อยู่แล้ว ถูก Codex CLI อ่านได้ด้วย โดยไม่ก๊อปคอนฟิกไปไว้สองที่ และไม่ทับของเดิม
พรอมป์นี้ทำอะไร
What this prompt does
ทำให้ workspace ที่ตั้งค่าไว้สำหรับ Claude Code อยู่แล้ว ถูก Codex CLI อ่านได้ด้วย โดยไม่ต้องก๊อปคอนฟิกไปไว้สองที่ — ฝั่ง Claude ยังเป็นของจริงเสมอ ส่วน Codex ได้เงาผ่าน symlink กับไฟล์ที่ generate ขึ้นมา พร้อมสคริปต์ sync ที่รันซ้ำได้ทุกครั้งที่เพิ่มของใหม่ จุดสำคัญคือพรอมป์บังคับให้ค้นเอกสารทางการของ Codex ก่อนแตะไฟล์ใด ๆ แทนที่จะเชื่อสิ่งที่เขียนไว้ในพรอมป์เอง
Turn an existing Claude Code workspace into one that Codex CLI can read too, without duplicating configuration. Claude's files stay the source of truth; Codex gets symlinks and generated compatibility files, plus a rerunnable sync tool. The prompt front-loads a research phase so the agent verifies Codex's current behaviour against official documentation instead of trusting the assumptions written into the prompt.
ใช้ตอนไหน
- มีโปรเจกต์ที่ตั้งค่า Claude Code ไว้แล้ว (CLAUDE.md, .claude/skills, .claude/commands, .claude/agents) แล้วอยากให้ Codex CLI ใช้ของชุดเดียวกัน
- ไม่อยากก๊อปคอนฟิกไปไว้สองที่ เพราะรู้ว่าอีกไม่นานมันจะไม่ตรงกัน แล้วจะไม่รู้ว่าอันไหนคือของจริง
- ต้องแปลงทั้ง workspace ที่มีหลายสิบโปรเจกต์ ไม่ใช่แค่โปรเจกต์เดียว
- อยากได้สคริปต์ sync ที่รันซ้ำได้ทุกครั้งที่เพิ่ม skill หรือ agent ใหม่ ไม่ใช่งานที่ทำมือรอบเดียวจบ
ได้อะไรกลับมา
- AGENTS.md ในทุกโปรเจกต์ที่ชี้กลับไปหา CLAUDE.md — แก้ที่เดียวเห็นทั้งคู่ ไม่ต้องมานั่งไล่อัปเดตสองไฟล์
- skills ของ Claude ถูก Codex มองเห็นผ่าน .agents/skills/ และ command ถูกแปลงเป็น SKILL.md ให้อัตโนมัติ
- subagent ของ Claude ถูกแปลงเป็น .codex/agents/*.toml เท่าที่ schema ปัจจุบันรองรับ
- คอนฟิกระดับ user (~/.codex/AGENTS.md, ~/.agents/skills) ถูกติดตั้งให้ด้วย ไม่ใช่แค่ระดับโปรเจกต์
- สคริปต์ sync ที่รันซ้ำได้แบบ idempotent พร้อมโหมด dry-run
- รายงานปิดงานที่บอกตรง ๆ ว่าไฟล์ไหนถูกข้าม ไฟล์ไหน conflict และฟีเจอร์ไหนแปลงไม่ได้ (hooks, MCP) แทนที่จะสร้าง compatibility ปลอมขึ้นมากลบ
วิธีใช้
How to use
- 1เปิด Claude Code ที่ root ของ workspace — โฟลเดอร์ที่มีโปรเจกต์ย่อยทั้งหมดอยู่ข้างใน ไม่ใช่ในโปรเจกต์ใดโปรเจกต์หนึ่ง
- 2กดปุ่มคัดลอกด้านบน แล้ววางพรอมป์ทั้งก้อนลงไปในครั้งเดียว (พรอมป์ยาว ๆ แบบนี้ห้ามตัดส่งทีละท่อน เพราะเฟสหลังอ้างถึงผลของเฟสก่อน)
- 3รอให้ Phase 0 รายงานผลการค้นเอกสารกลับมาก่อน แล้วอ่านว่าสิ่งที่มันเจอต่างจากที่พรอมป์เขียนไว้ตรงไหน — ตรงนี้คือจุดที่ควรใช้เวลาที่สุด
- 4อ่าน audit report ของ Phase 1 ให้จบก่อนอนุมัติให้แก้ไฟล์ เพราะหลังจากนั้นมันจะแตะทุกโปรเจกต์
- 5จบงานแล้วเปิด Codex ในโปรเจกต์สักตัว แล้วสั่งว่า Summarize the instructions currently governing this project เพื่อยืนยันว่ามันเห็นของจริง
ตัวพรอมป์
The prompt · 924 บรรทัด
ให้ AI อ่านเอง: madebytle.com/prompt/claude-code-codex-cli-compatibility.md
Mission: Prepare Claude Code + Codex CLI Compatibility
เตรียม workspace นี้ให้สามารถใช้งาน Claude Code และ Codex CLI ร่วมกันได้อย่างเป็นระบบในทุกโปรเจกต์
หลักการสำคัญ:
- Claude Code = Source of Truth
- Codex CLI = Consumer / Compatibility Layer
- หลีกเลี่ยงการ duplicate configuration ที่อาจ diverge ในอนาคต
- ใช้ symlink / generated compatibility files เมื่อเหมาะสม
- ทุกสิ่งที่ generate ต้อง ตรวจสอบย้อนกลับได้, รันซ้ำได้ และ idempotent
- ห้ามทำลาย configuration เดิมของ Claude Code หรือ Codex
- รองรับทั้ง User-level และ Project-level configuration
ข้อมูลเกี่ยวกับ Codex ใน prompt นี้ถือเป็น baseline เท่านั้น
หาก documentation หรือ CLI เวอร์ชันปัจจุบันขัดกับ prompt ให้ official OpenAI documentation / repository / CLI ปัจจุบันเป็น source of truth และรายงานความแตกต่างก่อนดำเนินการ
Phase 0 — Research Before Changes
ห้ามแก้ไขไฟล์ใด ๆ ก่อนจบ phase นี้
ตรวจสอบ environment ก่อน:
codex --version
claude --version
git --version
จากนั้นค้นข้อมูลล่าสุดจากแหล่งข้อมูลทางการของ OpenAI เกี่ยวกับ Codex CLI โดยเฉพาะ:
Instruction discovery
ตรวจสอบพฤติกรรมล่าสุดของ:
~/.codex/AGENTS.mdAGENTS.override.mdAGENTS.md- instruction discovery / precedence
project_doc_fallback_filenamesproject_doc_max_bytes- default values และข้อจำกัดปัจจุบัน
อย่าสมมุติว่า precedence หรือ default values ที่เขียนใน prompt นี้ยังถูกต้อง
Skills
ตรวจสอบ:
.agents/skills/
~/.agents/skills/
รวมถึง:
- project skills
- user skills
- skill discovery
SKILL.mdspecification- frontmatter ที่จำเป็น
- legacy/deprecated paths
- compatibility กับ symlink
ตรวจสอบด้วยว่า path หรือ convention รุ่นเก่า เช่น:
.codex/skills/
ยังรองรับอยู่หรือถูก deprecate แล้ว
Custom Agents
ตรวจสอบ specification ล่าสุดของ:
.codex/agents/*.toml
~/.codex/agents/*.toml
รวมถึง fields ที่รองรับ เช่น:
name
description
developer_instructions
ห้าม assume schema จาก prompt นี้ หาก documentation ปัจจุบันเปลี่ยนไป
Commands / Prompts
ตรวจสอบสถานะล่าสุดของ:
~/.codex/prompts/
และวิธีที่ OpenAI แนะนำให้ migrate reusable prompts / commands ไปเป็น Skills
Official migration guidance
ค้นหา migration guide / skill / documentation ทางการของ OpenAI สำหรับการย้าย configuration จาก Claude Code หรือ agent ecosystem อื่นมายัง Codex
หากพบ migration skill หรือ repository ทางการ ให้ศึกษา:
- migration strategy
- differences
- unsupported features
- behavioral differences
- recommended compatibility patterns
ก่อนออกแบบ migration ของ workspace นี้
Research Output
ก่อนลงมือ ให้สรุป:
| Topic | Current Behavior | Source | Impact |
|---|---|---|---|
| Instruction discovery | |||
| Skills | |||
| Agents | |||
| Commands / Prompts | |||
| Config | |||
| Migration guidance |
แยกให้ชัดว่าอะไรคือ:
- Verified current behavior
- Deprecated / legacy behavior
- Assumption ที่ยัง verify ไม่ได้
- สิ่งที่แตกต่างจาก prompt นี้
จากนั้นจึงเข้าสู่ Phase 1
Phase 1 — Audit Workspace
สำรวจ workspace root และค้นหา ทุก Git project / project directory ที่เกี่ยวข้อง
ตรวจสอบ Project-level:
CLAUDE.md
AGENTS.md
AGENTS.override.md
.claude/
agents/
skills/
commands/
.agents/
skills/
.codex/
agents/
skills/
.mcp.json
.gitignore
ตรวจสอบด้วยว่า .gitignore หรือ global gitignore มี rule ที่กระทบ:
.claude/
.agents/
.codex/
AGENTS.md
CLAUDE.md
จากนั้นตรวจสอบ User-level configuration:
~/.claude/
~/.claude/agents/
~/.claude/skills/
~/.claude/commands/
~/.codex/
~/.codex/AGENTS.md
~/.codex/config.toml
~/.codex/agents/
~/.agents/
~/.agents/skills/
รวมถึง:
- Claude hooks
- Claude settings
- MCP configuration
- Codex configuration ที่มีอยู่
- symlink ที่มีอยู่แล้ว
Audit Safety
ใน phase นี้:
Read-only เท่านั้น
ห้าม:
- create
- overwrite
- delete
- move
- commit
- push
Audit Report
แสดงตารางอย่างน้อย:
| Project | CLAUDE.md | AGENTS.md | Claude Agents | Claude Skills | Commands | Codex Existing | MCP | Gitignore Issues |
|---|
พร้อมสรุป User-level configuration แยกอีกส่วน
Phase 2 — Compatibility Architecture
ใช้หลักการต่อไปนี้เป็น default decision
ไม่ต้องถามซ้ำ เว้นแต่พบ conflict ที่อาจทำข้อมูลสูญหาย
2.1 Project Instructions
สำหรับ project ที่มี:
CLAUDE.md
แต่ยังไม่มี:
AGENTS.md
ให้สร้าง:
AGENTS.md -> CLAUDE.md
เป็น relative symlink
เป้าหมายคือ:
One source, two entry points.
Claude Code อ่าน CLAUDE.md
Codex อ่าน AGENTS.md
แต่เป็นเนื้อหาเดียวกันจริง ๆ
Existing AGENTS.md
ถ้า AGENTS.md มีอยู่แล้ว:
ห้าม overwrite
ตรวจสอบก่อนว่าเป็น:
- symlink ไป
CLAUDE.mdอยู่แล้ว - symlink ไปที่อื่น
- regular file
- generated compatibility file
- user-maintained Codex-specific instructions
หากเป็น regular file หรือมีเนื้อหาที่มนุษย์เขียน:
ให้ preserve เนื้อหาเดิม และเลือก compatibility strategy ที่ไม่ทำข้อมูลสูญหาย
หากสามารถใช้ include/reference mechanism ตามมาตรฐานปัจจุบันได้ ให้ใช้วิธีมาตรฐานนั้น
หากไม่ได้ ให้เพิ่ม generated compatibility block ที่ชี้ให้ Codex ใช้ CLAUDE.md
ต้องมี marker เช่น:
<!-- BEGIN generated: claude-codex-sync -->
...
<!-- END generated: claude-codex-sync -->
เพื่อให้ update ซ้ำได้โดยไม่ duplicate
Phase 3 — Skills
Claude Skills ยังคงเป็น source of truth:
.claude/skills/
~/.claude/skills/
Codex compatibility layer ใช้ path ที่ documentation ปัจจุบันกำหนด
หาก path ปัจจุบันยังเป็น:
.agents/skills/
~/.agents/skills/
ให้สร้าง symlink ราย skill
ตัวอย่าง project-level:
.agents/skills/<skill-name>
-> ../../.claude/skills/<skill-name>
User-level:
~/.agents/skills/<skill-name>
-> ~/.claude/skills/<skill-name>
แต่ต้องคำนวณ relative path จาก filesystem จริง ห้าม hardcode path หากโครงสร้างไม่ตรงตัวอย่าง
Collision Rule
หาก destination:
.agents/skills/<skill-name>
มีอยู่แล้ว:
- ถ้าเป็น symlink ที่ถูกต้อง → skip
- ถ้าเป็น broken symlink → report
- ถ้าเป็น symlink ไปที่อื่น → report conflict
- ถ้าเป็น directory/file จริง → preserve และ skip
- ห้าม overwrite อัตโนมัติ
Phase 4 — Claude Commands → Codex Skills
สำหรับ:
.claude/commands/*.md
~/.claude/commands/*.md
สร้าง Codex-compatible Skill ตาม specification ปัจจุบัน
เช่น:
.agents/skills/<command-name>/SKILL.md
หรือ user-level equivalent
ใช้ชื่อ command เดิมโดยตรง
ไม่ต้องเพิ่ม prefix ที่อ้างถึงระบบต้นทาง
เช่น:
.claude/commands/review.md
กลายเป็น:
.agents/skills/review/SKILL.md
ไม่ใช่:
source-command-review
claude-review
Generated Skill
ต้องมี metadata/frontmatter ตาม specification ล่าสุดของ Codex
อย่างน้อย หาก schema ปัจจุบันรองรับ:
---
name: review
description: ...
---
รักษา intent ของ command เดิมให้มากที่สุด
ถ้ามี syntax เฉพาะ Claude เช่น:
$ARGUMENTS
ให้แปลงเป็นคำอธิบายเชิง semantic สำหรับ Codex
อย่า copy syntax ที่ Codex ไม่เข้าใจแบบตรง ๆ
ทุก generated skill ต้องมี marker ระบุ source เช่น:
Generated from: .claude/commands/review.md
Managed by: claude-codex compatibility sync
เพื่อรองรับ regeneration
Phase 5 — Claude Agents → Codex Agents
สำหรับ:
.claude/agents/*.md
~/.claude/agents/*.md
สร้าง Codex agent ตาม schema ปัจจุบัน เช่น:
.codex/agents/<agent-name>.toml
รักษา:
- agent purpose
- role
- behavior
- workflow
- constraints
- tool expectations
หาก Claude agent มี:
model:
ห้ามนำชื่อ Claude model ไปใช้กับ Codex โดยตรง
ให้ omit field นี้ เว้นแต่ Codex documentation ปัจจุบันมี migration mapping ที่ชัดเจน
หากมี:
tools:
และไม่มี mapping แบบ 1:1
ให้ preserve ความหมายไว้ใน:
developer_instructions
แทนการสร้าง tool configuration ที่อาจผิด
ทุก generated agent ต้องระบุ source file เพื่อรองรับ regeneration
Phase 6 — User-Level Codex Instructions
สร้างหรือปรับ:
~/.codex/AGENTS.md
ให้เป็น Codex-specific global instructions
อย่า symlink global file นี้กับ Claude โดยอัตโนมัติ เพราะสองระบบอาจต้องการ bootstrap instructions ต่างกัน
อ่าน global/user-level Claude instructions ที่มีอยู่จริงก่อน แล้วนำเฉพาะ behavior ที่ควรใช้ร่วมกันมา adapt
ตัวอย่างสิ่งที่ควรพิจารณา:
- user preferences
- preferred language
- communication style
- repository workflow
- Git rules
- secret scanning
- file-placement rules
- safety constraints
- coding conventions
จากนั้นเพิ่ม section:
Claude Code → Codex Compatibility
อธิบาย mapping ที่จำเป็น เช่น:
| Claude Concept | Codex Equivalent |
|---|---|
CLAUDE.md |
AGENTS.md compatibility entry |
| Claude Skill | Codex Skill |
| Slash Command | Skill |
| Claude Agent/Subagent | Codex Agent |
| Claude-specific interaction | Native Codex interaction |
หาก Claude มี tool หรือ feature ที่ Codex ไม่มี equivalent:
ห้าม pretend ว่ามี
ให้ระบุ fallback behavior ที่เหมาะสม
Phase 7 — Codex Config
อ่าน:
~/.codex/config.toml
ก่อนแก้ทุกครั้ง
ห้ามสร้าง config ใหม่ทับของเดิม
รักษา configuration เดิมทั้งหมด เช่น:
- notify
- projects
- plugins
- MCP servers
- model configuration
- trust settings
- feature flags
- custom settings อื่น ๆ
หาก documentation ปัจจุบันรองรับ:
project_doc_fallback_filenames = ["CLAUDE.md"]
ให้ merge เข้า config
จากนั้นหา CLAUDE.md ที่ใหญ่ที่สุดใน workspace
คำนวณขนาดจริงเป็น bytes และตั้ง:
project_doc_max_bytes
ให้เพียงพอ
ควรมี headroom ที่สมเหตุสมผลเพื่อรองรับการเพิ่ม instruction ในอนาคต
ห้ามลดค่าปัจจุบันหากค่าปัจจุบันสูงกว่า requirement
ก่อนเขียนกลับ:
- validate TOML
- preserve unrelated configuration
- ทำ backup หาก parser/write strategy มีความเสี่ยงต่อ formatting หรือ comments
Phase 8 — Build a Reusable Sync Tool
ห้ามทำ migration แบบ manual อย่างเดียว
สร้าง reusable synchronization skill/tool ใน Claude user-level skills directory โดยใช้ชื่อที่เป็นกลางและไม่ผูกกับชื่อบุคคล เช่น:
~/.claude/skills/claude-codex-sync/
หรือชื่อ generic ที่เหมาะสมตาม convention ที่พบใน environment
ภายในควรมี:
SKILL.md
scripts/
รองรับอย่างน้อย:
--user
--project <path>
--all-workspace <root>
--dry-run
ควรมี:
--help
ด้วย
Required Properties
sync tool ต้อง:
- idempotent
- safe to rerun
- preserve user files
- detect conflicts
- detect broken symlinks
- use relative symlinks สำหรับ project-level เมื่อเหมาะสม
- support paths ที่มี spaces
- handle missing directories
- avoid duplicate generated blocks
- update generated files เมื่อ source เปลี่ยน
- ไม่ delete user-created files
- return non-zero exit code เมื่อเกิด critical failure
- มี dry-run ที่ไม่ mutate filesystem จริง
ถ้าจำเป็นต้องใช้ marker ให้ใช้ marker แบบ generic เช่น:
generated-by: claude-codex-sync
source: <source-path>
อย่าใช้ชื่อบุคคล ชื่อ workspace หรือชื่อโปรเจกต์เฉพาะเจาะจงใน architecture
Phase 9 — Run the Sync
หลังสร้างและทดสอบ sync tool แล้ว:
- Run
--dry-run - ตรวจสอบ output
- Run user-level sync
- Run ทุก project ใน workspace
- Run
--dry-runซ้ำอีกครั้ง
dry-run รอบสุดท้ายควรแสดงว่า:
ไม่มี unintended changes เหลืออยู่
หาก run ครั้งที่สองสร้าง duplicate หรือเปลี่ยนไฟล์โดยไม่มีเหตุผล:
ถือว่า idempotency test failed
ให้แก้ sync tool ก่อนดำเนินการต่อ
Phase 10 — Hooks & MCP
สำหรับ:
- Claude hooks
.mcp.json- Claude MCP configuration
- Codex MCP configuration
ยังไม่ migrate อัตโนมัติ
ให้ audit และรายงานเท่านั้น
เหตุผล:
configuration และ execution semantics อาจไม่เทียบกันแบบ 1:1
แสดงเป็น:
| Source | Feature | Codex Equivalent | Status | Recommended Action |
|---|
Phase 11 — Git Safety
ก่อนทำ Git operation:
ตรวจสอบ:
git status
git branch --show-current
git remote -v
ห้าม:
- force push
- rewrite history
- reset unrelated work
- stash/delete user work โดยพลการ
- commit unrelated files
Secret Check
ก่อน git add:
ทำ secret/sensitive-data check รอบแรกกับไฟล์ที่จะเพิ่ม
หลัง staging:
ตรวจสอบ staged diff และ secret อีกครั้ง
git diff --cached
ถ้าพบ:
- token
- API key
- credential
- private key
.envsecret- suspicious credential material
หยุดทันที
ห้าม commit
Commit Scope
แต่ละ project ให้ commit เฉพาะ compatibility artifacts ที่สร้างหรือแก้โดยงานนี้ เช่น:
AGENTS.md
.agents/
.codex/
รวมถึงไฟล์อื่นเฉพาะเมื่อจำเป็นต่อ compatibility architecture และต้องระบุเหตุผลในรายงาน
ใช้ branch ปัจจุบัน
ห้ามสร้าง branch ใหม่เว้นแต่จำเป็นจริง ๆ
จากนั้น push ไป remote/branch เดิม
หาก push fail:
หยุด project นั้นและรายงาน
ห้าม:
- force push
- rebase อัตโนมัติ
- pull --rebase
- merge remote changes
- เปลี่ยน branch เพื่อแก้ปัญหาเอง
Phase 12 — Verification
หลัง migration ให้ verify อย่างน้อย:
Filesystem
ตรวจสอบ:
AGENTS.md → CLAUDE.md
Claude Skills → Codex Skills
Claude Commands → generated Codex Skills
Claude Agents → Codex Agents
ตรวจ broken symlinks
Idempotency
รัน sync ซ้ำแบบ dry-run
ต้องไม่มี unexpected mutation
Git
ตรวจ:
git status
git diff
git log -1
Codex
เปิด Codex จาก project directory และทดสอบ instruction discovery
ใช้ prompt:
Summarize the instructions currently governing this project.
Include the instruction files and compatibility layers you discovered.
ตรวจว่า Codex:
- เห็น project instructions
- เห็น global instructions
- discover skills ได้
- discover agents ได้ตาม capability ปัจจุบัน
Phase 13 — Final Report
สรุปเป็นตาราง:
| Project | Instructions | Skills | Commands | Agents | Git | Push | Verification | Notes |
|---|
จากนั้นแสดง:
User-level Changes
ระบุ:
~/.codex/AGENTS.md~/.codex/config.toml- user skills
- user agents
- sync tool
Conflicts / Skipped Items
รายการทุกไฟล์ที่:
- มีของเดิม
- ไม่ได้ overwrite
- conflict
- broken symlink
- unsupported
- ต้องให้มนุษย์ตัดสินใจ
Pending Migration
อย่างน้อยตรวจสอบ:
- hooks
- MCP
- legacy Codex skill directories
- ignored
.claude/ - unsupported Claude-specific features
- existing Codex-native configuration ที่ไม่ได้ merge เพราะ conflict
Verification Commands
ให้คำสั่งสำหรับตรวจสอบภายหลัง รวมถึง:
codex --version
และการเปิด Codex ใน project แล้วสั่ง:
Summarize the instructions currently governing this project.
Non-Negotiable Safety Rules
- Claude configuration คือ source of truth
- ห้ามแก้
.claude/หรือ~/.claude/ยกเว้นการสร้าง sync tool ตามงานนี้ - ห้าม overwrite user-maintained Codex files
- ห้าม delete configuration เพื่อแก้ conflict
- Existing file → inspect before modify
- Existing symlink → resolve before modify
- Generated artifact ทุกชิ้นต้อง trace กลับ source ได้
- ทุก operation ต้องออกแบบให้ rerun ได้
- Documentation ปัจจุบันสำคัญกว่า assumption ใน prompt
- Unsupported feature ต้องรายงานตรง ๆ ห้ามสร้าง compatibility ปลอม
- Git commit ต้อง scoped เฉพาะงานนี้
- ห้าม force push
- Secret check ก่อน staging และก่อน commit
- หาก operation มีโอกาสทำข้อมูลสูญหายและไม่มี rule รองรับ → หยุดเฉพาะส่วนนั้นและรายงาน แทนการเดา
- อย่าถามคำถามที่สามารถ resolve ได้จาก filesystem, Git state, CLI help หรือ official documentation
- ทำงานต่อให้ครบทุกส่วนที่ปลอดภัย แม้บาง project จะมี conflict
Definition of Done
งานถือว่าเสร็จเมื่อ:
- Claude Code ยังคงทำงานจาก configuration เดิม
- Codex สามารถ consume project instructions ได้
- Skills ที่ compatible ถูก discover จาก Codex
- Commands ที่เหมาะสมถูกแปลงเป็น Skills
- Agents ที่เหมาะสมถูกแปลงเป็น Codex Agents
- User-level compatibility ถูกติดตั้ง
- มี reusable sync tool
- sync tool ผ่าน dry-run + idempotency test
- ไม่มี source configuration ถูกทำลาย
- ไม่มี secret ถูก commit
- แต่ละ project ถูก commit/push ตามกฎที่กำหนด หรือมีเหตุผลชัดเจนว่าทำไมไม่ได้
- conflicts และ unsupported features ถูกบันทึกครบ
- final report แสดงสถานะของทุก project
ข้อควรรู้
Notes from using it
พรอมป์นี้ใช้จริงกับ workspace ของ Tle ที่มีโปรเจกต์อยู่ประมาณ 60 ตัว ผลลัพธ์คือทุกโปรเจกต์เปิดด้วย Codex CLI ได้โดยไม่ต้องตั้งค่าใหม่ และได้สคริปต์ sync ที่เรียกซ้ำได้เวลาเพิ่ม skill ใหม่ ถ้าจะเอาไปใช้กับ workspace ที่เล็กกว่านี้ ตัด Phase 1 (Audit Workspace) ให้สั้นลงได้
คำถามที่เจอบ่อย
FAQ
ทำไมต้องใช้ symlink แทนการก๊อปไฟล์?
เพราะคอนฟิกที่ถูกก๊อปไว้สองที่จะค่อย ๆ ไม่ตรงกัน แล้ววันหนึ่งจะไม่มีใครรู้ว่าไฟล์ไหนคือของจริง symlink ทำให้ AGENTS.md กับ CLAUDE.md เป็นไฟล์เดียวกันจริง ๆ แก้ฝั่งไหนก็เห็นทั้งคู่ ข้อควรระวังคือห้ามลบ AGENTS.md แล้วสร้างใหม่ เพราะ symlink จะหลุดกลายเป็นสำเนาที่เก่าทันที
พรอมป์นี้จะทับคอนฟิก Codex เดิมที่เขียนไว้เองไหม?
ไม่ทับ กฎข้อ 3 ของพรอมป์ห้าม overwrite ไฟล์ที่ผู้ใช้ดูแลเอง โปรเจกต์ที่มี AGENTS.md เป็นไฟล์จริงอยู่ก่อน (เช่นที่ Next.js ใส่มาให้) จะถูกเติมบล็อกชี้ไป CLAUDE.md ต่อท้ายแทน แล้วรายงานไว้ในหัวข้อ Conflicts / Skipped Items
รันซ้ำได้ไหม ถ้าเพิ่ม skill ใหม่ทีหลัง?
ได้ นั่นคือเหตุผลที่ Phase 8 บังคับให้สร้างสคริปต์ sync ที่ idempotent พร้อมโหมด dry-run แทนที่จะทำมือรอบเดียวจบ เพิ่ม skill หรือ agent ใหม่ที่ .claude/ เมื่อไหร่ก็รันสคริปต์ซ้ำได้เลย
มีอะไรที่แปลงข้ามไปฝั่ง Codex ไม่ได้บ้าง?
hooks, MCP servers ของ Claude และ plugin skills แปลงตรง ๆ ไม่ได้ พรอมป์เลยสั่งให้รายงานของพวกนี้ไว้ในหัวข้อ Pending Migration ตรง ๆ แทนที่จะสร้าง compatibility layer ปลอมขึ้นมาแล้วปล่อยให้ไปพังทีหลัง
ทำไมพรอมป์ถึงห้ามแก้ไฟล์ใน Phase 0?
เพราะพฤติกรรมของ Codex CLI เปลี่ยนบ่อย ทั้งเรื่อง path ของ skill, precedence ของ instruction และ schema ของ agent การให้ agent ไปอ่านเอกสารทางการปัจจุบันก่อน แล้วรายงานว่าต่างจากพรอมป์ตรงไหน ปลอดภัยกว่าปล่อยให้มันลงมือตามสมมติฐานที่อาจจะล้าไปแล้ว
พรอมป์นี้ใช้ได้ผลไหม
กดบอกไว้หน่อยครับ ไม่ต้องล็อกอิน — ตัวที่คนกดว่าใช้ไม่ได้ผลจะถูกเอาไปขัดใหม่ก่อน
แก้เองแล้วดีขึ้น อยากส่งเวอร์ชันที่ดีกว่ากลับมา หรืออยากให้ทำพรอมป์เรื่องไหนเพิ่ม — แจ้งที่ GitHub · ไม่มีบัญชี GitHub ก็ นัดคุยได้เลย