[{"data":1,"prerenderedAt":1847},["ShallowReactive",2],{"article-ai\u002Feverything-claude-codecodex":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"tags":11,"body":14,"_type":1842,"_id":1843,"_source":1844,"_file":1845,"_stem":1846,"_extension":1384},"\u002Farticles\u002Fai\u002Feverything-claude-codecodex","ai",false,"","everything-claude-code 在 Codex 的应用：不要照搬全家桶，而是做一套更聪明的增强层","从 Codex 原生能力出发，拆解 everything-claude-code 中哪些规则、skills 和工作流值得迁移，哪些配置不应该原样照搬。","2026-05-18",[12,13],"AI工具","软件工程",{"type":15,"children":16,"toc":1829},"root",[17,25,30,44,49,62,75,85,89,96,101,261,273,283,288,291,296,301,346,351,356,368,380,392,397,400,405,410,565,570,615,620,638,650,653,658,663,702,707,712,775,780,799,811,814,820,825,830,924,929,1189,1194,1199,1213,1218,1240,1245,1259,1264,1278,1283,1314,1319,1322,1327,1332,1363,1368,1380,1509,1527,1532,1535,1541,1546,1556,1573,1583,1593,1596,1602,1607,1630,1635,1682,1687,1697,1700,1705,1710,1715,1720,1725,1730,1739,1742,1747,1752,1763,1766,1771,1823],{"type":18,"tag":19,"props":20,"children":21},"element","p",{},[22],{"type":23,"value":24},"text","一个典型场景是这样。",{"type":18,"tag":19,"props":26,"children":27},{},[28],{"type":23,"value":29},"你让 Codex 修复 CI 里的 typecheck 报错。没有额外规则时，它可能会找到报错文件，改掉类型定义，然后停在“看起来已经修了”的状态。CI 再跑一次，还是红的，因为它没有在本地复现，也没有重新跑 typecheck 验证。",{"type":18,"tag":19,"props":31,"children":32},{},[33,35,42],{"type":23,"value":34},"同一个任务，如果项目里放了一套精简过的工程规则，行为会更稳定：先用 ",{"type":18,"tag":36,"props":37,"children":39},"code",{"className":38},[],[40],{"type":23,"value":41},"npx tsc --noEmit",{"type":23,"value":43}," 复现错误，定位第一个有意义的失败，改根因，再跑一次验证，通过后才收工。",{"type":18,"tag":19,"props":45,"children":46},{},[47],{"type":23,"value":48},"多了一步，但少了返工。",{"type":18,"tag":19,"props":50,"children":51},{},[52,54,60],{"type":23,"value":53},"区别不在于 Codex 突然“变聪明”了，而是它被明确提醒了一件工程里很普通、但 AI 编程助手经常漏掉的事：",{"type":18,"tag":55,"props":56,"children":57},"strong",{},[58],{"type":23,"value":59},"改完要验证",{"type":23,"value":61},"。",{"type":18,"tag":19,"props":63,"children":64},{},[65,67,73],{"type":23,"value":66},"这就是 ",{"type":18,"tag":36,"props":68,"children":70},{"className":69},[],[71],{"type":23,"value":72},"everything-claude-code",{"type":23,"value":74},"（下面简称 ECC）对 Codex 的真正价值。它不是一个应该被完整复制进项目的全家桶，而是一套可以被提炼的工程习惯：规则怎么写、任务怎么拆、什么时候验证、什么时候做安全检查。",{"type":18,"tag":19,"props":76,"children":77},{},[78,80],{"type":23,"value":79},"这篇文章想讲清楚一件事：",{"type":18,"tag":55,"props":81,"children":82},{},[83],{"type":23,"value":84},"在 Codex 里用 ECC，重点不是搬运，而是翻译。",{"type":18,"tag":86,"props":87,"children":88},"hr",{},[],{"type":18,"tag":90,"props":91,"children":93},"h2",{"id":92},"codex-本来就能做什么",[94],{"type":23,"value":95},"Codex 本来就能做什么",{"type":18,"tag":19,"props":97,"children":98},{},[99],{"type":23,"value":100},"先把底座说清楚。Codex 原生已经有一套项目级能力，不需要 ECC 也能工作：",{"type":18,"tag":102,"props":103,"children":104},"table",{},[105,129],{"type":18,"tag":106,"props":107,"children":108},"thead",{},[109],{"type":18,"tag":110,"props":111,"children":112},"tr",{},[113,119,124],{"type":18,"tag":114,"props":115,"children":116},"th",{},[117],{"type":23,"value":118},"能力",{"type":18,"tag":114,"props":120,"children":121},{},[122],{"type":23,"value":123},"Codex 原生入口",{"type":18,"tag":114,"props":125,"children":126},{},[127],{"type":23,"value":128},"适合承载什么",{"type":18,"tag":130,"props":131,"children":132},"tbody",{},[133,156,178,202,220,243],{"type":18,"tag":110,"props":134,"children":135},{},[136,142,151],{"type":18,"tag":137,"props":138,"children":139},"td",{},[140],{"type":23,"value":141},"项目规则",{"type":18,"tag":137,"props":143,"children":144},{},[145],{"type":18,"tag":36,"props":146,"children":148},{"className":147},[],[149],{"type":23,"value":150},"AGENTS.md",{"type":18,"tag":137,"props":152,"children":153},{},[154],{"type":23,"value":155},"项目规范、测试命令、协作方式、禁止事项",{"type":18,"tag":110,"props":157,"children":158},{},[159,164,173],{"type":18,"tag":137,"props":160,"children":161},{},[162],{"type":23,"value":163},"项目配置",{"type":18,"tag":137,"props":165,"children":166},{},[167],{"type":18,"tag":36,"props":168,"children":170},{"className":169},[],[171],{"type":23,"value":172},".codex\u002Fconfig.toml",{"type":18,"tag":137,"props":174,"children":175},{},[176],{"type":23,"value":177},"sandbox、approval、MCP、profile 等配置",{"type":18,"tag":110,"props":179,"children":180},{},[181,186,197],{"type":18,"tag":137,"props":182,"children":183},{},[184],{"type":23,"value":185},"Skills",{"type":18,"tag":137,"props":187,"children":188},{},[189,195],{"type":18,"tag":36,"props":190,"children":192},{"className":191},[],[193],{"type":23,"value":194},".agents\u002Fskills\u002F*\u002FSKILL.md",{"type":23,"value":196}," 或已安装 skills",{"type":18,"tag":137,"props":198,"children":199},{},[200],{"type":23,"value":201},"可复用的任务工作流",{"type":18,"tag":110,"props":203,"children":204},{},[205,210,215],{"type":18,"tag":137,"props":206,"children":207},{},[208],{"type":23,"value":209},"Subagents",{"type":18,"tag":137,"props":211,"children":212},{},[213],{"type":23,"value":214},"Codex 内置或项目配置",{"type":18,"tag":137,"props":216,"children":217},{},[218],{"type":23,"value":219},"并行探索、实现、审查",{"type":18,"tag":110,"props":221,"children":222},{},[223,228,238],{"type":18,"tag":137,"props":224,"children":225},{},[226],{"type":23,"value":227},"MCP",{"type":18,"tag":137,"props":229,"children":230},{},[231,236],{"type":18,"tag":36,"props":232,"children":234},{"className":233},[],[235],{"type":23,"value":172},{"type":23,"value":237}," 或全局配置",{"type":18,"tag":137,"props":239,"children":240},{},[241],{"type":23,"value":242},"接入 GitHub、Playwright、文档检索等工具",{"type":18,"tag":110,"props":244,"children":245},{},[246,251,256],{"type":18,"tag":137,"props":247,"children":248},{},[249],{"type":23,"value":250},"Hooks \u002F Commands",{"type":18,"tag":137,"props":252,"children":253},{},[254],{"type":23,"value":255},"Codex 原生配置或命令机制",{"type":18,"tag":137,"props":257,"children":258},{},[259],{"type":23,"value":260},"做流程自动化、权限检查、命令入口",{"type":18,"tag":19,"props":262,"children":263},{},[264,266,271],{"type":23,"value":265},"OpenAI 官方文档里，",{"type":18,"tag":36,"props":267,"children":269},{"className":268},[],[270],{"type":23,"value":150},{"type":23,"value":272}," 是 Codex 的项目级说明入口；Skills 是 Codex 可发现、可调用的任务能力；Hooks 也已经有 Codex 自己的配置方式。",{"type":18,"tag":19,"props":274,"children":275},{},[276,278],{"type":23,"value":277},"所以问题不是“Codex 有没有这些能力”。真正的问题是：",{"type":18,"tag":55,"props":279,"children":280},{},[281],{"type":23,"value":282},"ECC 里的 Claude Code 配置，不能默认等价于 Codex 配置。",{"type":18,"tag":19,"props":284,"children":285},{},[286],{"type":23,"value":287},"Codex 是引擎，ECC 更像一套驾驶习惯。把驾驶习惯移植过来有价值，但你不能把另一辆车的按钮面板直接粘到方向盘上。",{"type":18,"tag":86,"props":289,"children":290},{},[],{"type":18,"tag":90,"props":292,"children":294},{"id":293},"为什么不能全量搬",[295],{"type":23,"value":293},{"type":18,"tag":19,"props":297,"children":298},{},[299],{"type":23,"value":300},"ECC 最早的语境更偏 Claude Code。社区项目里常见的内容包括：",{"type":18,"tag":302,"props":303,"children":304},"ul",{},[305,311,316,321,326,331,336,341],{"type":18,"tag":306,"props":307,"children":308},"li",{},[309],{"type":23,"value":310},"agents",{"type":18,"tag":306,"props":312,"children":313},{},[314],{"type":23,"value":315},"skills",{"type":18,"tag":306,"props":317,"children":318},{},[319],{"type":23,"value":320},"rules",{"type":18,"tag":306,"props":322,"children":323},{},[324],{"type":23,"value":325},"hooks",{"type":18,"tag":306,"props":327,"children":328},{},[329],{"type":23,"value":330},"slash commands",{"type":18,"tag":306,"props":332,"children":333},{},[334],{"type":23,"value":335},"MCP 配置",{"type":18,"tag":306,"props":337,"children":338},{},[339],{"type":23,"value":340},"installer \u002F sync 脚本",{"type":18,"tag":306,"props":342,"children":343},{},[344],{"type":23,"value":345},"安全扫描或 dashboard 辅助工具",{"type":18,"tag":19,"props":347,"children":348},{},[349],{"type":23,"value":350},"这些东西有些能直接变成 Codex 规则，有些需要改写，有些则不应该进普通项目。",{"type":18,"tag":19,"props":352,"children":353},{},[354],{"type":23,"value":355},"直接把整个 ECC 仓库复制进 Codex 项目，通常会遇到三个问题。",{"type":18,"tag":19,"props":357,"children":358},{},[359,361,366],{"type":23,"value":360},"第一是 ",{"type":18,"tag":55,"props":362,"children":363},{},[364],{"type":23,"value":365},"上下文膨胀",{"type":23,"value":367},"。规则越多，不代表 Codex 越稳定。几十个规则文件一起塞进去，很容易让真正关键的指令被噪声淹没。你想要的是“每次任务都能读到关键规则”，不是“仓库里有很多漂亮的规则”。",{"type":18,"tag":19,"props":369,"children":370},{},[371,373,378],{"type":23,"value":372},"第二是 ",{"type":18,"tag":55,"props":374,"children":375},{},[376],{"type":23,"value":377},"语义错位",{"type":23,"value":379},"。Codex 有自己的 Hooks、Commands、Slash commands 和 Skills，但 Claude Code 里的 hooks 或 slash commands 不会因为文件名一样就自动变成 Codex 原生能力。能复用的是思想和流程，不是所有配置格式。",{"type":18,"tag":19,"props":381,"children":382},{},[383,385,390],{"type":23,"value":384},"第三是 ",{"type":18,"tag":55,"props":386,"children":387},{},[388],{"type":23,"value":389},"配置污染",{"type":23,"value":391},"。全局 MCP、权限规则、安装脚本、安全扫描工具一旦混进项目，后面很难判断哪些是当前项目真正需要的，哪些只是跟着全家桶一起进来的。",{"type":18,"tag":19,"props":393,"children":394},{},[395],{"type":23,"value":396},"所以不是“搬家”，是“提炼”。",{"type":18,"tag":86,"props":398,"children":399},{},[],{"type":18,"tag":90,"props":401,"children":403},{"id":402},"先提炼四样东西",[404],{"type":23,"value":402},{"type":18,"tag":19,"props":406,"children":407},{},[408],{"type":23,"value":409},"对个人项目和中小型团队来说，最值得先落地的是这四类：",{"type":18,"tag":411,"props":412,"children":415},"pre",{"className":413,"code":414,"language":23,"meta":7,"style":7},"language-text shiki shiki-themes github-dark","your-project\u002F\n  AGENTS.md\n  .codex\u002F\n    config.toml\n    ecc\u002F\n      rules.md\n      workflow.md\n      security.md\n  .agents\u002F\n    skills\u002F\n      search-first\u002F\n      tdd-workflow\u002F\n      verification-loop\u002F\n      security-review\u002F\n      code-review\u002F\n      ...（按需增加）\n",[416],{"type":18,"tag":36,"props":417,"children":418},{"__ignoreMap":7},[419,430,439,448,457,466,475,484,493,502,511,520,529,538,547,556],{"type":18,"tag":420,"props":421,"children":424},"span",{"class":422,"line":423},"line",1,[425],{"type":18,"tag":420,"props":426,"children":427},{},[428],{"type":23,"value":429},"your-project\u002F\n",{"type":18,"tag":420,"props":431,"children":433},{"class":422,"line":432},2,[434],{"type":18,"tag":420,"props":435,"children":436},{},[437],{"type":23,"value":438},"  AGENTS.md\n",{"type":18,"tag":420,"props":440,"children":442},{"class":422,"line":441},3,[443],{"type":18,"tag":420,"props":444,"children":445},{},[446],{"type":23,"value":447},"  .codex\u002F\n",{"type":18,"tag":420,"props":449,"children":451},{"class":422,"line":450},4,[452],{"type":18,"tag":420,"props":453,"children":454},{},[455],{"type":23,"value":456},"    config.toml\n",{"type":18,"tag":420,"props":458,"children":460},{"class":422,"line":459},5,[461],{"type":18,"tag":420,"props":462,"children":463},{},[464],{"type":23,"value":465},"    ecc\u002F\n",{"type":18,"tag":420,"props":467,"children":469},{"class":422,"line":468},6,[470],{"type":18,"tag":420,"props":471,"children":472},{},[473],{"type":23,"value":474},"      rules.md\n",{"type":18,"tag":420,"props":476,"children":478},{"class":422,"line":477},7,[479],{"type":18,"tag":420,"props":480,"children":481},{},[482],{"type":23,"value":483},"      workflow.md\n",{"type":18,"tag":420,"props":485,"children":487},{"class":422,"line":486},8,[488],{"type":18,"tag":420,"props":489,"children":490},{},[491],{"type":23,"value":492},"      security.md\n",{"type":18,"tag":420,"props":494,"children":496},{"class":422,"line":495},9,[497],{"type":18,"tag":420,"props":498,"children":499},{},[500],{"type":23,"value":501},"  .agents\u002F\n",{"type":18,"tag":420,"props":503,"children":505},{"class":422,"line":504},10,[506],{"type":18,"tag":420,"props":507,"children":508},{},[509],{"type":23,"value":510},"    skills\u002F\n",{"type":18,"tag":420,"props":512,"children":514},{"class":422,"line":513},11,[515],{"type":18,"tag":420,"props":516,"children":517},{},[518],{"type":23,"value":519},"      search-first\u002F\n",{"type":18,"tag":420,"props":521,"children":523},{"class":422,"line":522},12,[524],{"type":18,"tag":420,"props":525,"children":526},{},[527],{"type":23,"value":528},"      tdd-workflow\u002F\n",{"type":18,"tag":420,"props":530,"children":532},{"class":422,"line":531},13,[533],{"type":18,"tag":420,"props":534,"children":535},{},[536],{"type":23,"value":537},"      verification-loop\u002F\n",{"type":18,"tag":420,"props":539,"children":541},{"class":422,"line":540},14,[542],{"type":18,"tag":420,"props":543,"children":544},{},[545],{"type":23,"value":546},"      security-review\u002F\n",{"type":18,"tag":420,"props":548,"children":550},{"class":422,"line":549},15,[551],{"type":18,"tag":420,"props":552,"children":553},{},[554],{"type":23,"value":555},"      code-review\u002F\n",{"type":18,"tag":420,"props":557,"children":559},{"class":422,"line":558},16,[560],{"type":18,"tag":420,"props":561,"children":562},{},[563],{"type":23,"value":564},"      ...（按需增加）\n",{"type":18,"tag":19,"props":566,"children":567},{},[568],{"type":23,"value":569},"它们分别解决四个问题：",{"type":18,"tag":302,"props":571,"children":572},{},[573,583,593,604],{"type":18,"tag":306,"props":574,"children":575},{},[576,581],{"type":18,"tag":36,"props":577,"children":579},{"className":578},[],[580],{"type":23,"value":150},{"type":23,"value":582},"：项目入口。只放最短、最稳定、每次任务都值得看的规则。",{"type":18,"tag":306,"props":584,"children":585},{},[586,591],{"type":18,"tag":36,"props":587,"children":589},{"className":588},[],[590],{"type":23,"value":172},{"type":23,"value":592},"：项目配置。把 sandbox、approval、MCP 等配置和全局配置区分开。",{"type":18,"tag":306,"props":594,"children":595},{},[596,602],{"type":18,"tag":36,"props":597,"children":599},{"className":598},[],[600],{"type":23,"value":601},".codex\u002Fecc\u002F*.md",{"type":23,"value":603},"：长期工程规则。比如工作流、安全边界、协作约定。",{"type":18,"tag":306,"props":605,"children":606},{},[607,613],{"type":18,"tag":36,"props":608,"children":610},{"className":609},[],[611],{"type":23,"value":612},".agents\u002Fskills\u002F",{"type":23,"value":614},"：可复用任务流程。比如修构建、做代码审查、写测试、更新文档。",{"type":18,"tag":19,"props":616,"children":617},{},[618],{"type":23,"value":619},"这里的关键是分层。",{"type":18,"tag":19,"props":621,"children":622},{},[623,628,630,636],{"type":18,"tag":36,"props":624,"children":626},{"className":625},[],[627],{"type":23,"value":150},{"type":23,"value":629}," 不应该变成一本小册子。它更适合做入口：告诉 Codex 这个项目有什么规则，以及复杂任务需要去哪里读更详细的流程。真正的大段规则放到 ",{"type":18,"tag":36,"props":631,"children":633},{"className":632},[],[634],{"type":23,"value":635},".codex\u002Fecc\u002F",{"type":23,"value":637},"，可复用任务步骤放到 skills。",{"type":18,"tag":19,"props":639,"children":640},{},[641,643,648],{"type":23,"value":642},"这样做有一个实际好处：规则能被维护。一个 500 行的 ",{"type":18,"tag":36,"props":644,"children":646},{"className":645},[],[647],{"type":23,"value":150},{"type":23,"value":649},"，最后往往没人敢改；三个职责清楚的规则文件，后续增删都更容易。",{"type":18,"tag":86,"props":651,"children":652},{},[],{"type":18,"tag":90,"props":654,"children":656},{"id":655},"为什么要做中文友好版本",[657],{"type":23,"value":655},{"type":18,"tag":19,"props":659,"children":660},{},[661],{"type":23,"value":662},"Codex 能理解中文，也能读英文配置。但如果你的日常指令是中文：",{"type":18,"tag":411,"props":664,"children":666},{"className":413,"code":665,"language":23,"meta":7,"style":7},"帮我做一个登录页\n帮我修复这个构建错误\n帮我审查这个 PR 有没有安全问题\n帮我把 README 更新一下\n",[667],{"type":18,"tag":36,"props":668,"children":669},{"__ignoreMap":7},[670,678,686,694],{"type":18,"tag":420,"props":671,"children":672},{"class":422,"line":423},[673],{"type":18,"tag":420,"props":674,"children":675},{},[676],{"type":23,"value":677},"帮我做一个登录页\n",{"type":18,"tag":420,"props":679,"children":680},{"class":422,"line":432},[681],{"type":18,"tag":420,"props":682,"children":683},{},[684],{"type":23,"value":685},"帮我修复这个构建错误\n",{"type":18,"tag":420,"props":687,"children":688},{"class":422,"line":441},[689],{"type":18,"tag":420,"props":690,"children":691},{},[692],{"type":23,"value":693},"帮我审查这个 PR 有没有安全问题\n",{"type":18,"tag":420,"props":695,"children":696},{"class":422,"line":450},[697],{"type":18,"tag":420,"props":698,"children":699},{},[700],{"type":23,"value":701},"帮我把 README 更新一下\n",{"type":18,"tag":19,"props":703,"children":704},{},[705],{"type":23,"value":706},"那么 skills 的触发描述最好也对中文友好。",{"type":18,"tag":19,"props":708,"children":709},{},[710],{"type":23,"value":711},"我更推荐这种写法：英文 skill name 保持不变，英文关键词保留，同时补中文触发描述。",{"type":18,"tag":411,"props":713,"children":717},{"className":714,"code":715,"language":716,"meta":7,"style":7},"language-yaml shiki shiki-themes github-dark","name: build-fix\ndescription: Use when fixing CI, build, typecheck, compile, or test failures.\n  当用户用中文要求修复 CI 失败、构建错误、typecheck 报错、\n  编译失败或测试失败时使用。\n","yaml",[718],{"type":18,"tag":36,"props":719,"children":720},{"__ignoreMap":7},[721,742,759,767],{"type":18,"tag":420,"props":722,"children":723},{"class":422,"line":423},[724,730,736],{"type":18,"tag":420,"props":725,"children":727},{"style":726},"--shiki-default:#85E89D",[728],{"type":23,"value":729},"name",{"type":18,"tag":420,"props":731,"children":733},{"style":732},"--shiki-default:#E1E4E8",[734],{"type":23,"value":735},": ",{"type":18,"tag":420,"props":737,"children":739},{"style":738},"--shiki-default:#9ECBFF",[740],{"type":23,"value":741},"build-fix\n",{"type":18,"tag":420,"props":743,"children":744},{"class":422,"line":432},[745,750,754],{"type":18,"tag":420,"props":746,"children":747},{"style":726},[748],{"type":23,"value":749},"description",{"type":18,"tag":420,"props":751,"children":752},{"style":732},[753],{"type":23,"value":735},{"type":18,"tag":420,"props":755,"children":756},{"style":738},[757],{"type":23,"value":758},"Use when fixing CI, build, typecheck, compile, or test failures.\n",{"type":18,"tag":420,"props":760,"children":761},{"class":422,"line":441},[762],{"type":18,"tag":420,"props":763,"children":764},{"style":738},[765],{"type":23,"value":766},"  当用户用中文要求修复 CI 失败、构建错误、typecheck 报错、\n",{"type":18,"tag":420,"props":768,"children":769},{"class":422,"line":450},[770],{"type":18,"tag":420,"props":771,"children":772},{"style":738},[773],{"type":23,"value":774},"  编译失败或测试失败时使用。\n",{"type":18,"tag":19,"props":776,"children":777},{},[778],{"type":23,"value":779},"这样有三个好处：",{"type":18,"tag":781,"props":782,"children":783},"ol",{},[784,789,794],{"type":18,"tag":306,"props":785,"children":786},{},[787],{"type":23,"value":788},"兼容英文生态，后续迁移和分享成本低。",{"type":18,"tag":306,"props":790,"children":791},{},[792],{"type":23,"value":793},"中文任务更容易命中合适的 skill。",{"type":18,"tag":306,"props":795,"children":796},{},[797],{"type":23,"value":798},"人自己打开文件维护时，不需要在英文抽象描述里来回猜。",{"type":18,"tag":19,"props":800,"children":801},{},[802,804,809],{"type":23,"value":803},"skill 的名字可以短，描述必须准。因为 Codex 是否自动选择一个 skill，很大程度上取决于 ",{"type":18,"tag":36,"props":805,"children":807},{"className":806},[],[808],{"type":23,"value":749},{"type":23,"value":810}," 是否把触发场景写清楚。",{"type":18,"tag":86,"props":812,"children":813},{},[],{"type":18,"tag":90,"props":815,"children":817},{"id":816},"level-2日常开发够用的中间层",[818],{"type":23,"value":819},"Level 2：日常开发够用的中间层",{"type":18,"tag":19,"props":821,"children":822},{},[823],{"type":23,"value":824},"我更倾向于把这套模板做成 Clean ECC for Codex Level 2。",{"type":18,"tag":19,"props":826,"children":827},{},[828],{"type":23,"value":829},"它不是最小版，也不是全家桶，而是一个适合真实项目长期使用的中间层：",{"type":18,"tag":102,"props":831,"children":832},{},[833,854],{"type":18,"tag":106,"props":834,"children":835},{},[836],{"type":18,"tag":110,"props":837,"children":838},{},[839,844,849],{"type":18,"tag":114,"props":840,"children":841},{},[842],{"type":23,"value":843},"层级",{"type":18,"tag":114,"props":845,"children":846},{},[847],{"type":23,"value":848},"内容",{"type":18,"tag":114,"props":850,"children":851},{},[852],{"type":23,"value":853},"适合谁",{"type":18,"tag":130,"props":855,"children":856},{},[857,880,906],{"type":18,"tag":110,"props":858,"children":859},{},[860,865,875],{"type":18,"tag":137,"props":861,"children":862},{},[863],{"type":23,"value":864},"Level 1",{"type":18,"tag":137,"props":866,"children":867},{},[868,873],{"type":18,"tag":36,"props":869,"children":871},{"className":870},[],[872],{"type":23,"value":150},{"type":23,"value":874}," + 少量基础 skills",{"type":18,"tag":137,"props":876,"children":877},{},[878],{"type":23,"value":879},"想试试，不想改太多项目结构",{"type":18,"tag":110,"props":881,"children":882},{},[883,888,901],{"type":18,"tag":137,"props":884,"children":885},{},[886],{"type":23,"value":887},"Level 2",{"type":18,"tag":137,"props":889,"children":890},{},[891,893,899],{"type":23,"value":892},"14 个工程工作流 skills + ",{"type":18,"tag":36,"props":894,"children":896},{"className":895},[],[897],{"type":23,"value":898},".codex\u002Fecc",{"type":23,"value":900}," 规则",{"type":18,"tag":137,"props":902,"children":903},{},[904],{"type":23,"value":905},"日常用 Codex 做真实开发",{"type":18,"tag":110,"props":907,"children":908},{},[909,914,919],{"type":18,"tag":137,"props":910,"children":911},{},[912],{"type":23,"value":913},"Full-ish",{"type":18,"tag":137,"props":915,"children":916},{},[917],{"type":23,"value":918},"MCP、subagents、hooks、安全扫描等更重能力",{"type":18,"tag":137,"props":920,"children":921},{},[922],{"type":23,"value":923},"团队级、重度自动化用户",{"type":18,"tag":19,"props":925,"children":926},{},[927],{"type":23,"value":928},"Level 2 重点不是“装得多”，而是覆盖日常开发里最容易出问题的环节：",{"type":18,"tag":102,"props":930,"children":931},{},[932,948],{"type":18,"tag":106,"props":933,"children":934},{},[935],{"type":18,"tag":110,"props":936,"children":937},{},[938,943],{"type":18,"tag":114,"props":939,"children":940},{},[941],{"type":23,"value":942},"skill",{"type":18,"tag":114,"props":944,"children":945},{},[946],{"type":23,"value":947},"解决的问题",{"type":18,"tag":130,"props":949,"children":950},{},[951,968,985,1002,1019,1036,1053,1070,1087,1104,1121,1138,1155,1172],{"type":18,"tag":110,"props":952,"children":953},{},[954,963],{"type":18,"tag":137,"props":955,"children":956},{},[957],{"type":18,"tag":36,"props":958,"children":960},{"className":959},[],[961],{"type":23,"value":962},"search-first",{"type":18,"tag":137,"props":964,"children":965},{},[966],{"type":23,"value":967},"先查项目和文档，再动手写",{"type":18,"tag":110,"props":969,"children":970},{},[971,980],{"type":18,"tag":137,"props":972,"children":973},{},[974],{"type":18,"tag":36,"props":975,"children":977},{"className":976},[],[978],{"type":23,"value":979},"tdd-workflow",{"type":18,"tag":137,"props":981,"children":982},{},[983],{"type":23,"value":984},"适合有明确行为边界的功能改动",{"type":18,"tag":110,"props":986,"children":987},{},[988,997],{"type":18,"tag":137,"props":989,"children":990},{},[991],{"type":18,"tag":36,"props":992,"children":994},{"className":993},[],[995],{"type":23,"value":996},"verification-loop",{"type":18,"tag":137,"props":998,"children":999},{},[1000],{"type":23,"value":1001},"改完跑测试、typecheck、lint 或构建",{"type":18,"tag":110,"props":1003,"children":1004},{},[1005,1014],{"type":18,"tag":137,"props":1006,"children":1007},{},[1008],{"type":18,"tag":36,"props":1009,"children":1011},{"className":1010},[],[1012],{"type":23,"value":1013},"security-review",{"type":18,"tag":137,"props":1015,"children":1016},{},[1017],{"type":23,"value":1018},"权限、凭证、输入校验、危险操作检查",{"type":18,"tag":110,"props":1020,"children":1021},{},[1022,1031],{"type":18,"tag":137,"props":1023,"children":1024},{},[1025],{"type":18,"tag":36,"props":1026,"children":1028},{"className":1027},[],[1029],{"type":23,"value":1030},"code-review",{"type":18,"tag":137,"props":1032,"children":1033},{},[1034],{"type":23,"value":1035},"站在 reviewer 角度找 bug 和回归",{"type":18,"tag":110,"props":1037,"children":1038},{},[1039,1048],{"type":18,"tag":137,"props":1040,"children":1041},{},[1042],{"type":18,"tag":36,"props":1043,"children":1045},{"className":1044},[],[1046],{"type":23,"value":1047},"frontend-patterns",{"type":18,"tag":137,"props":1049,"children":1050},{},[1051],{"type":23,"value":1052},"前端组件、交互、响应式和可访问性",{"type":18,"tag":110,"props":1054,"children":1055},{},[1056,1065],{"type":18,"tag":137,"props":1057,"children":1058},{},[1059],{"type":18,"tag":36,"props":1060,"children":1062},{"className":1061},[],[1063],{"type":23,"value":1064},"backend-patterns",{"type":18,"tag":137,"props":1066,"children":1067},{},[1068],{"type":23,"value":1069},"后端边界、错误处理、数据一致性",{"type":18,"tag":110,"props":1071,"children":1072},{},[1073,1082],{"type":18,"tag":137,"props":1074,"children":1075},{},[1076],{"type":18,"tag":36,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":23,"value":1081},"api-design",{"type":18,"tag":137,"props":1083,"children":1084},{},[1085],{"type":23,"value":1086},"请求响应结构、错误码、分页、幂等性",{"type":18,"tag":110,"props":1088,"children":1089},{},[1090,1099],{"type":18,"tag":137,"props":1091,"children":1092},{},[1093],{"type":18,"tag":36,"props":1094,"children":1096},{"className":1095},[],[1097],{"type":23,"value":1098},"docker-patterns",{"type":18,"tag":137,"props":1100,"children":1101},{},[1102],{"type":23,"value":1103},"Dockerfile、镜像构建、端口、体积和安全",{"type":18,"tag":110,"props":1105,"children":1106},{},[1107,1116],{"type":18,"tag":137,"props":1108,"children":1109},{},[1110],{"type":18,"tag":36,"props":1111,"children":1113},{"className":1112},[],[1114],{"type":23,"value":1115},"deployment-patterns",{"type":18,"tag":137,"props":1117,"children":1118},{},[1119],{"type":23,"value":1120},"部署、回滚、环境变量、日志和健康检查",{"type":18,"tag":110,"props":1122,"children":1123},{},[1124,1133],{"type":18,"tag":137,"props":1125,"children":1126},{},[1127],{"type":18,"tag":36,"props":1128,"children":1130},{"className":1129},[],[1131],{"type":23,"value":1132},"deep-research",{"type":18,"tag":137,"props":1134,"children":1135},{},[1136],{"type":23,"value":1137},"需要多轮查证和材料整理的任务",{"type":18,"tag":110,"props":1139,"children":1140},{},[1141,1150],{"type":18,"tag":137,"props":1142,"children":1143},{},[1144],{"type":18,"tag":36,"props":1145,"children":1147},{"className":1146},[],[1148],{"type":23,"value":1149},"docs-update",{"type":18,"tag":137,"props":1151,"children":1152},{},[1153],{"type":23,"value":1154},"代码变更后同步 README、注释或文档",{"type":18,"tag":110,"props":1156,"children":1157},{},[1158,1167],{"type":18,"tag":137,"props":1159,"children":1160},{},[1161],{"type":18,"tag":36,"props":1162,"children":1164},{"className":1163},[],[1165],{"type":23,"value":1166},"build-fix",{"type":18,"tag":137,"props":1168,"children":1169},{},[1170],{"type":23,"value":1171},"CI、编译、typecheck、测试失败修复",{"type":18,"tag":110,"props":1173,"children":1174},{},[1175,1184],{"type":18,"tag":137,"props":1176,"children":1177},{},[1178],{"type":18,"tag":36,"props":1179,"children":1181},{"className":1180},[],[1182],{"type":23,"value":1183},"refactor-clean",{"type":18,"tag":137,"props":1185,"children":1186},{},[1187],{"type":23,"value":1188},"小步重构，保持行为不变",{"type":18,"tag":19,"props":1190,"children":1191},{},[1192],{"type":23,"value":1193},"这些 skills 的价值不是让 Codex 多背几句口号，而是把任务流程固定下来。",{"type":18,"tag":19,"props":1195,"children":1196},{},[1197],{"type":23,"value":1198},"比如用户说：",{"type":18,"tag":411,"props":1200,"children":1202},{"className":413,"code":1201,"language":23,"meta":7,"style":7},"帮我修复 CI 里的 typecheck 报错\n",[1203],{"type":18,"tag":36,"props":1204,"children":1205},{"__ignoreMap":7},[1206],{"type":18,"tag":420,"props":1207,"children":1208},{"class":422,"line":423},[1209],{"type":18,"tag":420,"props":1210,"children":1211},{},[1212],{"type":23,"value":1201},{"type":18,"tag":19,"props":1214,"children":1215},{},[1216],{"type":23,"value":1217},"Codex 更容易匹配到：",{"type":18,"tag":411,"props":1219,"children":1221},{"className":413,"code":1220,"language":23,"meta":7,"style":7},"build-fix\nverification-loop\n",[1222],{"type":18,"tag":36,"props":1223,"children":1224},{"__ignoreMap":7},[1225,1232],{"type":18,"tag":420,"props":1226,"children":1227},{"class":422,"line":423},[1228],{"type":18,"tag":420,"props":1229,"children":1230},{},[1231],{"type":23,"value":741},{"type":18,"tag":420,"props":1233,"children":1234},{"class":422,"line":432},[1235],{"type":18,"tag":420,"props":1236,"children":1237},{},[1238],{"type":23,"value":1239},"verification-loop\n",{"type":18,"tag":19,"props":1241,"children":1242},{},[1243],{"type":23,"value":1244},"于是任务流程会变成：",{"type":18,"tag":411,"props":1246,"children":1248},{"className":413,"code":1247,"language":23,"meta":7,"style":7},"复现失败 -> 找第一个有意义的错误 -> 修根因 -> 重新验证 -> 汇报结果\n",[1249],{"type":18,"tag":36,"props":1250,"children":1251},{"__ignoreMap":7},[1252],{"type":18,"tag":420,"props":1253,"children":1254},{"class":422,"line":423},[1255],{"type":18,"tag":420,"props":1256,"children":1257},{},[1258],{"type":23,"value":1247},{"type":18,"tag":19,"props":1260,"children":1261},{},[1262],{"type":23,"value":1263},"再比如用户说：",{"type":18,"tag":411,"props":1265,"children":1267},{"className":413,"code":1266,"language":23,"meta":7,"style":7},"帮我设计一个订单 API\n",[1268],{"type":18,"tag":36,"props":1269,"children":1270},{"__ignoreMap":7},[1271],{"type":18,"tag":420,"props":1272,"children":1273},{"class":422,"line":423},[1274],{"type":18,"tag":420,"props":1275,"children":1276},{},[1277],{"type":23,"value":1266},{"type":18,"tag":19,"props":1279,"children":1280},{},[1281],{"type":23,"value":1282},"Codex 可以匹配：",{"type":18,"tag":411,"props":1284,"children":1286},{"className":413,"code":1285,"language":23,"meta":7,"style":7},"api-design\nbackend-patterns\nsecurity-review\n",[1287],{"type":18,"tag":36,"props":1288,"children":1289},{"__ignoreMap":7},[1290,1298,1306],{"type":18,"tag":420,"props":1291,"children":1292},{"class":422,"line":423},[1293],{"type":18,"tag":420,"props":1294,"children":1295},{},[1296],{"type":23,"value":1297},"api-design\n",{"type":18,"tag":420,"props":1299,"children":1300},{"class":422,"line":432},[1301],{"type":18,"tag":420,"props":1302,"children":1303},{},[1304],{"type":23,"value":1305},"backend-patterns\n",{"type":18,"tag":420,"props":1307,"children":1308},{"class":422,"line":441},[1309],{"type":18,"tag":420,"props":1310,"children":1311},{},[1312],{"type":23,"value":1313},"security-review\n",{"type":18,"tag":19,"props":1315,"children":1316},{},[1317],{"type":23,"value":1318},"这样它更可能同时考虑请求响应结构、错误码、分页、权限、幂等性和兼容性，而不是只写一个看起来能跑的 endpoint。",{"type":18,"tag":86,"props":1320,"children":1321},{},[],{"type":18,"tag":90,"props":1323,"children":1325},{"id":1324},"怎么用",[1326],{"type":23,"value":1324},{"type":18,"tag":19,"props":1328,"children":1329},{},[1330],{"type":23,"value":1331},"最小使用方式很简单：把三样东西放到项目根目录。",{"type":18,"tag":411,"props":1333,"children":1335},{"className":413,"code":1334,"language":23,"meta":7,"style":7},"AGENTS.md\n.codex\u002F\n.agents\u002F\n",[1336],{"type":18,"tag":36,"props":1337,"children":1338},{"__ignoreMap":7},[1339,1347,1355],{"type":18,"tag":420,"props":1340,"children":1341},{"class":422,"line":423},[1342],{"type":18,"tag":420,"props":1343,"children":1344},{},[1345],{"type":23,"value":1346},"AGENTS.md\n",{"type":18,"tag":420,"props":1348,"children":1349},{"class":422,"line":432},[1350],{"type":18,"tag":420,"props":1351,"children":1352},{},[1353],{"type":23,"value":1354},".codex\u002F\n",{"type":18,"tag":420,"props":1356,"children":1357},{"class":422,"line":441},[1358],{"type":18,"tag":420,"props":1359,"children":1360},{},[1361],{"type":23,"value":1362},".agents\u002F\n",{"type":18,"tag":19,"props":1364,"children":1365},{},[1366],{"type":23,"value":1367},"然后用 Codex 打开这个项目。",{"type":18,"tag":19,"props":1369,"children":1370},{},[1371,1373,1378],{"type":23,"value":1372},"推荐的 ",{"type":18,"tag":36,"props":1374,"children":1376},{"className":1375},[],[1377],{"type":23,"value":150},{"type":23,"value":1379}," 不需要很长：",{"type":18,"tag":411,"props":1381,"children":1385},{"className":1382,"code":1383,"language":1384,"meta":7,"style":7},"language-md shiki shiki-themes github-dark","# Project Agent Instructions\n\n本项目使用 Clean ECC for Codex Level 2 模板。\n\n详细规则：`.codex\u002Fecc\u002F`\n可复用工作流：`.agents\u002Fskills\u002F`\n\n处理非简单任务前，按需阅读：\n\n- `.codex\u002Fecc\u002Fworkflow.md`\n- `.codex\u002Fecc\u002Frules.md`\n- `.codex\u002Fecc\u002Fsecurity.md`\n","md",[1386],{"type":18,"tag":36,"props":1387,"children":1388},{"__ignoreMap":7},[1389,1398,1407,1415,1422,1436,1449,1456,1464,1471,1485,1497],{"type":18,"tag":420,"props":1390,"children":1391},{"class":422,"line":423},[1392],{"type":18,"tag":420,"props":1393,"children":1395},{"style":1394},"--shiki-default:#79B8FF;--shiki-default-font-weight:bold",[1396],{"type":23,"value":1397},"# Project Agent Instructions\n",{"type":18,"tag":420,"props":1399,"children":1400},{"class":422,"line":432},[1401],{"type":18,"tag":420,"props":1402,"children":1404},{"emptyLinePlaceholder":1403},true,[1405],{"type":23,"value":1406},"\n",{"type":18,"tag":420,"props":1408,"children":1409},{"class":422,"line":441},[1410],{"type":18,"tag":420,"props":1411,"children":1412},{"style":732},[1413],{"type":23,"value":1414},"本项目使用 Clean ECC for Codex Level 2 模板。\n",{"type":18,"tag":420,"props":1416,"children":1417},{"class":422,"line":450},[1418],{"type":18,"tag":420,"props":1419,"children":1420},{"emptyLinePlaceholder":1403},[1421],{"type":23,"value":1406},{"type":18,"tag":420,"props":1423,"children":1424},{"class":422,"line":459},[1425,1430],{"type":18,"tag":420,"props":1426,"children":1427},{"style":732},[1428],{"type":23,"value":1429},"详细规则：",{"type":18,"tag":420,"props":1431,"children":1433},{"style":1432},"--shiki-default:#79B8FF",[1434],{"type":23,"value":1435},"`.codex\u002Fecc\u002F`\n",{"type":18,"tag":420,"props":1437,"children":1438},{"class":422,"line":468},[1439,1444],{"type":18,"tag":420,"props":1440,"children":1441},{"style":732},[1442],{"type":23,"value":1443},"可复用工作流：",{"type":18,"tag":420,"props":1445,"children":1446},{"style":1432},[1447],{"type":23,"value":1448},"`.agents\u002Fskills\u002F`\n",{"type":18,"tag":420,"props":1450,"children":1451},{"class":422,"line":477},[1452],{"type":18,"tag":420,"props":1453,"children":1454},{"emptyLinePlaceholder":1403},[1455],{"type":23,"value":1406},{"type":18,"tag":420,"props":1457,"children":1458},{"class":422,"line":486},[1459],{"type":18,"tag":420,"props":1460,"children":1461},{"style":732},[1462],{"type":23,"value":1463},"处理非简单任务前，按需阅读：\n",{"type":18,"tag":420,"props":1465,"children":1466},{"class":422,"line":495},[1467],{"type":18,"tag":420,"props":1468,"children":1469},{"emptyLinePlaceholder":1403},[1470],{"type":23,"value":1406},{"type":18,"tag":420,"props":1472,"children":1473},{"class":422,"line":504},[1474,1480],{"type":18,"tag":420,"props":1475,"children":1477},{"style":1476},"--shiki-default:#FFAB70",[1478],{"type":23,"value":1479},"-",{"type":18,"tag":420,"props":1481,"children":1482},{"style":1432},[1483],{"type":23,"value":1484}," `.codex\u002Fecc\u002Fworkflow.md`\n",{"type":18,"tag":420,"props":1486,"children":1487},{"class":422,"line":513},[1488,1492],{"type":18,"tag":420,"props":1489,"children":1490},{"style":1476},[1491],{"type":23,"value":1479},{"type":18,"tag":420,"props":1493,"children":1494},{"style":1432},[1495],{"type":23,"value":1496}," `.codex\u002Fecc\u002Frules.md`\n",{"type":18,"tag":420,"props":1498,"children":1499},{"class":422,"line":522},[1500,1504],{"type":18,"tag":420,"props":1501,"children":1502},{"style":1476},[1503],{"type":23,"value":1479},{"type":18,"tag":420,"props":1505,"children":1506},{"style":1432},[1507],{"type":23,"value":1508}," `.codex\u002Fecc\u002Fsecurity.md`\n",{"type":18,"tag":19,"props":1510,"children":1511},{},[1512,1514,1519,1521,1526],{"type":23,"value":1513},"这个文件只做入口，不负责承载所有细节。长期规则放 ",{"type":18,"tag":36,"props":1515,"children":1517},{"className":1516},[],[1518],{"type":23,"value":635},{"type":23,"value":1520},"，任务工作流放 ",{"type":18,"tag":36,"props":1522,"children":1524},{"className":1523},[],[1525],{"type":23,"value":612},{"type":23,"value":61},{"type":18,"tag":19,"props":1528,"children":1529},{},[1530],{"type":23,"value":1531},"如果后面确实需要更强的自动化，再逐步加 MCP、subagents 或 Codex 原生 hooks。不要第一天就把所有东西打开。",{"type":18,"tag":86,"props":1533,"children":1534},{},[],{"type":18,"tag":90,"props":1536,"children":1538},{"id":1537},"什么时候用什么时候不用",[1539],{"type":23,"value":1540},"什么时候用，什么时候不用",{"type":18,"tag":19,"props":1542,"children":1543},{},[1544],{"type":23,"value":1545},"不是所有项目都需要这套东西。",{"type":18,"tag":19,"props":1547,"children":1548},{},[1549,1554],{"type":18,"tag":55,"props":1550,"children":1551},{},[1552],{"type":23,"value":1553},"不需要",{"type":23,"value":1555},"：改一个小脚本、写一次性 demo、生成一段 SQL。原生 Codex 足够，额外规则反而会增加负担。",{"type":18,"tag":19,"props":1557,"children":1558},{},[1559,1564,1566,1571],{"type":18,"tag":55,"props":1560,"children":1561},{},[1562],{"type":23,"value":1563},"可以试试 Level 1",{"type":23,"value":1565},"：项目很小，但你希望 Codex 每次都记住测试命令、代码风格和不要覆盖用户改动。一个短 ",{"type":18,"tag":36,"props":1567,"children":1569},{"className":1568},[],[1570],{"type":23,"value":150},{"type":23,"value":1572}," 加两三个 skills 就够了。",{"type":18,"tag":19,"props":1574,"children":1575},{},[1576,1581],{"type":18,"tag":55,"props":1577,"children":1578},{},[1579],{"type":23,"value":1580},"适合上 Level 2",{"type":23,"value":1582},"：长期维护的项目，有测试、构建、部署流程；或者项目里同时有前端、后端、API、Docker、CI\u002FCD。这个阶段，Codex 的问题通常不是“不会写代码”，而是“收尾不稳定”。",{"type":18,"tag":19,"props":1584,"children":1585},{},[1586,1591],{"type":18,"tag":55,"props":1587,"children":1588},{},[1589],{"type":23,"value":1590},"再考虑 Full-ish",{"type":23,"value":1592},"：团队协作、多仓库、多工具集成、需要权限控制或审计。这个阶段再上 MCP、subagents、hooks 和安全扫描更合理。",{"type":18,"tag":86,"props":1594,"children":1595},{},[],{"type":18,"tag":90,"props":1597,"children":1599},{"id":1598},"一条建议不要贪多",[1600],{"type":23,"value":1601},"一条建议：不要贪多",{"type":18,"tag":19,"props":1603,"children":1604},{},[1605],{"type":23,"value":1606},"真正有效的不是规则数量，而是四件事：",{"type":18,"tag":302,"props":1608,"children":1609},{},[1610,1615,1620,1625],{"type":18,"tag":306,"props":1611,"children":1612},{},[1613],{"type":23,"value":1614},"规则是否会被读到",{"type":18,"tag":306,"props":1616,"children":1617},{},[1618],{"type":23,"value":1619},"skill 是否能被正确触发",{"type":18,"tag":306,"props":1621,"children":1622},{},[1623],{"type":23,"value":1624},"上下文是否干净",{"type":18,"tag":306,"props":1626,"children":1627},{},[1628],{"type":23,"value":1629},"验证动作是否真的发生",{"type":18,"tag":19,"props":1631,"children":1632},{},[1633],{"type":23,"value":1634},"我更推荐这条路线：",{"type":18,"tag":411,"props":1636,"children":1638},{"className":413,"code":1637,"language":23,"meta":7,"style":7},"Codex 原生能力\n  + 精简 AGENTS.md\n  + 项目本地 .codex\u002Fecc 规则\n  + 少量高价值 skills\n  + 需要时再加 MCP \u002F subagents \u002F hooks\n",[1639],{"type":18,"tag":36,"props":1640,"children":1641},{"__ignoreMap":7},[1642,1650,1658,1666,1674],{"type":18,"tag":420,"props":1643,"children":1644},{"class":422,"line":423},[1645],{"type":18,"tag":420,"props":1646,"children":1647},{},[1648],{"type":23,"value":1649},"Codex 原生能力\n",{"type":18,"tag":420,"props":1651,"children":1652},{"class":422,"line":432},[1653],{"type":18,"tag":420,"props":1654,"children":1655},{},[1656],{"type":23,"value":1657},"  + 精简 AGENTS.md\n",{"type":18,"tag":420,"props":1659,"children":1660},{"class":422,"line":441},[1661],{"type":18,"tag":420,"props":1662,"children":1663},{},[1664],{"type":23,"value":1665},"  + 项目本地 .codex\u002Fecc 规则\n",{"type":18,"tag":420,"props":1667,"children":1668},{"class":422,"line":450},[1669],{"type":18,"tag":420,"props":1670,"children":1671},{},[1672],{"type":23,"value":1673},"  + 少量高价值 skills\n",{"type":18,"tag":420,"props":1675,"children":1676},{"class":422,"line":459},[1677],{"type":18,"tag":420,"props":1678,"children":1679},{},[1680],{"type":23,"value":1681},"  + 需要时再加 MCP \u002F subagents \u002F hooks\n",{"type":18,"tag":19,"props":1683,"children":1684},{},[1685],{"type":23,"value":1686},"先让 Codex 在日常开发中变稳定。等你真的遇到“需要接入外部工具”“需要并行审查”“需要强制执行命令策略”的问题，再把更重的能力加进来。",{"type":18,"tag":19,"props":1688,"children":1689},{},[1690,1692],{"type":23,"value":1691},"这也是 Clean ECC for Codex 的核心取舍：",{"type":18,"tag":55,"props":1693,"children":1694},{},[1695],{"type":23,"value":1696},"先可靠，再复杂。",{"type":18,"tag":86,"props":1698,"children":1699},{},[],{"type":18,"tag":90,"props":1701,"children":1703},{"id":1702},"从聪明到可靠",[1704],{"type":23,"value":1702},{"type":18,"tag":19,"props":1706,"children":1707},{},[1708],{"type":23,"value":1709},"AI 编程工具写代码快，这是最容易让人兴奋的地方。",{"type":18,"tag":19,"props":1711,"children":1712},{},[1713],{"type":23,"value":1714},"但真正让人愿意长期用的，是可靠：知道什么时候先查资料，什么时候该写测试，改完要验证，安全敏感改动要小心，不要覆盖已有工作，任务结束时要汇报做了什么、验证了什么、还剩什么风险。",{"type":18,"tag":19,"props":1716,"children":1717},{},[1718],{"type":23,"value":1719},"ECC 对 Codex 的价值就在这里。",{"type":18,"tag":19,"props":1721,"children":1722},{},[1723],{"type":23,"value":1724},"不是把 Claude Code 全家桶塞给 Codex，而是把其中最有价值的工程习惯，重新组织成 Codex 原生能理解的形式。",{"type":18,"tag":19,"props":1726,"children":1727},{},[1728],{"type":23,"value":1729},"最终得到的不是一个更重的项目模板，而是一套更稳的工作方式：",{"type":18,"tag":1731,"props":1732,"children":1733},"blockquote",{},[1734],{"type":18,"tag":19,"props":1735,"children":1736},{},[1737],{"type":23,"value":1738},"用 Codex 的原生能力做底座，用 ECC 的工程化思想做增强。",{"type":18,"tag":86,"props":1740,"children":1741},{},[],{"type":18,"tag":90,"props":1743,"children":1745},{"id":1744},"项目地址",[1746],{"type":23,"value":1744},{"type":18,"tag":19,"props":1748,"children":1749},{},[1750],{"type":23,"value":1751},"我整理的 Level 1、Level 2、Level 3 模板放在这里，可以直接使用：",{"type":18,"tag":19,"props":1753,"children":1754},{},[1755],{"type":18,"tag":1756,"props":1757,"children":1761},"a",{"href":1758,"rel":1759},"https:\u002F\u002Fgitee.com\u002Fo_insist\u002Fecc-work-in-codex",[1760],"nofollow",[1762],{"type":23,"value":1758},{"type":18,"tag":86,"props":1764,"children":1765},{},[],{"type":18,"tag":90,"props":1767,"children":1769},{"id":1768},"参考资料",[1770],{"type":23,"value":1768},{"type":18,"tag":302,"props":1772,"children":1773},{},[1774,1784,1794,1804,1814],{"type":18,"tag":306,"props":1775,"children":1776},{},[1777],{"type":18,"tag":1756,"props":1778,"children":1781},{"href":1779,"rel":1780},"https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fguides\u002Fagents-md",[1760],[1782],{"type":23,"value":1783},"OpenAI Codex：AGENTS.md",{"type":18,"tag":306,"props":1785,"children":1786},{},[1787],{"type":18,"tag":1756,"props":1788,"children":1791},{"href":1789,"rel":1790},"https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fskills",[1760],[1792],{"type":23,"value":1793},"OpenAI Codex：Agent Skills",{"type":18,"tag":306,"props":1795,"children":1796},{},[1797],{"type":18,"tag":1756,"props":1798,"children":1801},{"href":1799,"rel":1800},"https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fhooks",[1760],[1802],{"type":23,"value":1803},"OpenAI Codex：Hooks",{"type":18,"tag":306,"props":1805,"children":1806},{},[1807],{"type":18,"tag":1756,"props":1808,"children":1811},{"href":1809,"rel":1810},"https:\u002F\u002Fgithub.com\u002Fopenai\u002Fskills",[1760],[1812],{"type":23,"value":1813},"openai\u002Fskills",{"type":18,"tag":306,"props":1815,"children":1816},{},[1817],{"type":18,"tag":1756,"props":1818,"children":1821},{"href":1819,"rel":1820},"https:\u002F\u002Fgithub.com\u002Faffaan-m\u002Feverything-claude-code",[1760],[1822],{"type":23,"value":72},{"type":18,"tag":1824,"props":1825,"children":1826},"style",{},[1827],{"type":23,"value":1828},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":7,"searchDepth":432,"depth":432,"links":1830},[1831,1832,1833,1834,1835,1836,1837,1838,1839,1840,1841],{"id":92,"depth":432,"text":95},{"id":293,"depth":432,"text":293},{"id":402,"depth":432,"text":402},{"id":655,"depth":432,"text":655},{"id":816,"depth":432,"text":819},{"id":1324,"depth":432,"text":1324},{"id":1537,"depth":432,"text":1540},{"id":1598,"depth":432,"text":1601},{"id":1702,"depth":432,"text":1702},{"id":1744,"depth":432,"text":1744},{"id":1768,"depth":432,"text":1768},"markdown","content:articles:ai:everything-claude-code在codex的应用.md","content","articles\u002Fai\u002Feverything-claude-code在codex的应用.md","articles\u002Fai\u002Feverything-claude-code在codex的应用",1779811687794]