@namch/agent-assistant 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/CHANGELOG.md +29 -1
  2. package/README.md +6 -1
  3. package/agents/teams/backend-team/executor.md +188 -0
  4. package/agents/teams/backend-team/reviewer.md +328 -0
  5. package/agents/teams/backend-team/techlead.md +166 -0
  6. package/agents/teams/database-team/executor.md +189 -0
  7. package/agents/teams/database-team/reviewer.md +333 -0
  8. package/agents/teams/database-team/techlead.md +168 -0
  9. package/agents/teams/debug-team/executor.md +195 -0
  10. package/agents/teams/debug-team/reviewer.md +324 -0
  11. package/agents/teams/debug-team/techlead.md +173 -0
  12. package/agents/teams/design-team/executor.md +196 -0
  13. package/agents/teams/design-team/reviewer.md +405 -0
  14. package/agents/teams/design-team/techlead.md +170 -0
  15. package/agents/teams/devops-team/executor.md +199 -0
  16. package/agents/teams/devops-team/reviewer.md +332 -0
  17. package/agents/teams/devops-team/techlead.md +168 -0
  18. package/agents/teams/docs-team/executor.md +196 -0
  19. package/agents/teams/docs-team/reviewer.md +331 -0
  20. package/agents/teams/docs-team/techlead.md +168 -0
  21. package/agents/teams/frontend-team/executor.md +190 -0
  22. package/agents/teams/frontend-team/reviewer.md +333 -0
  23. package/agents/teams/frontend-team/techlead.md +169 -0
  24. package/agents/teams/fullstack-team/executor.md +290 -0
  25. package/agents/teams/fullstack-team/reviewer.md +365 -0
  26. package/agents/teams/fullstack-team/techlead.md +254 -0
  27. package/agents/teams/game-team/executor.md +193 -0
  28. package/agents/teams/game-team/reviewer.md +331 -0
  29. package/agents/teams/game-team/techlead.md +167 -0
  30. package/agents/teams/mobile-team/executor.md +192 -0
  31. package/agents/teams/mobile-team/reviewer.md +328 -0
  32. package/agents/teams/mobile-team/techlead.md +168 -0
  33. package/agents/teams/performance-team/executor.md +192 -0
  34. package/agents/teams/performance-team/reviewer.md +322 -0
  35. package/agents/teams/performance-team/techlead.md +175 -0
  36. package/agents/teams/planning-team/executor.md +197 -0
  37. package/agents/teams/planning-team/reviewer.md +279 -0
  38. package/agents/teams/planning-team/techlead.md +169 -0
  39. package/agents/teams/project-team/executor.md +190 -0
  40. package/agents/teams/project-team/reviewer.md +328 -0
  41. package/agents/teams/project-team/techlead.md +168 -0
  42. package/agents/teams/qa-team/executor.md +198 -0
  43. package/agents/teams/qa-team/reviewer.md +271 -0
  44. package/agents/teams/qa-team/techlead.md +175 -0
  45. package/agents/teams/report-team/executor.md +195 -0
  46. package/agents/teams/report-team/reviewer.md +328 -0
  47. package/agents/teams/report-team/techlead.md +168 -0
  48. package/agents/teams/research-team/executor.md +200 -0
  49. package/agents/teams/research-team/reviewer.md +272 -0
  50. package/agents/teams/research-team/techlead.md +168 -0
  51. package/agents/teams/security-team/executor.md +193 -0
  52. package/agents/teams/security-team/reviewer.md +338 -0
  53. package/agents/teams/security-team/techlead.md +178 -0
  54. package/cli/README.md +19 -2
  55. package/cli/install.js +282 -7
  56. package/cli/install.test.js.example +1 -1
  57. package/code-assistants/codex-assistant/CODEX.md +235 -0
  58. package/code-assistants/codex-assistant/agents/backend-engineer.toml +26 -0
  59. package/code-assistants/codex-assistant/agents/brainstormer.toml +26 -0
  60. package/code-assistants/codex-assistant/agents/business-analyst.toml +26 -0
  61. package/code-assistants/codex-assistant/agents/database-architect.toml +26 -0
  62. package/code-assistants/codex-assistant/agents/debugger.toml +26 -0
  63. package/code-assistants/codex-assistant/agents/designer.toml +26 -0
  64. package/code-assistants/codex-assistant/agents/devops-engineer.toml +26 -0
  65. package/code-assistants/codex-assistant/agents/docs-manager.toml +26 -0
  66. package/code-assistants/codex-assistant/agents/frontend-engineer.toml +26 -0
  67. package/code-assistants/codex-assistant/agents/game-engineer.toml +26 -0
  68. package/code-assistants/codex-assistant/agents/mobile-engineer.toml +26 -0
  69. package/code-assistants/codex-assistant/agents/performance-engineer.toml +26 -0
  70. package/code-assistants/codex-assistant/agents/planner.toml +26 -0
  71. package/code-assistants/codex-assistant/agents/project-manager.toml +26 -0
  72. package/code-assistants/codex-assistant/agents/reporter.toml +26 -0
  73. package/code-assistants/codex-assistant/agents/researcher.toml +26 -0
  74. package/code-assistants/codex-assistant/agents/reviewer.toml +26 -0
  75. package/code-assistants/codex-assistant/agents/scouter.toml +26 -0
  76. package/code-assistants/codex-assistant/agents/security-engineer.toml +26 -0
  77. package/code-assistants/codex-assistant/agents/tech-lead.toml +26 -0
  78. package/code-assistants/codex-assistant/agents/tester.toml +26 -0
  79. package/code-assistants/codex-assistant/config.toml +109 -0
  80. package/code-assistants/codex-assistant/skills/agent-assistant-ask/SKILL.md +18 -0
  81. package/code-assistants/codex-assistant/skills/agent-assistant-ask/agents/openai.yaml +4 -0
  82. package/code-assistants/codex-assistant/skills/agent-assistant-ask-fast/SKILL.md +18 -0
  83. package/code-assistants/codex-assistant/skills/agent-assistant-ask-fast/agents/openai.yaml +4 -0
  84. package/code-assistants/codex-assistant/skills/agent-assistant-ask-hard/SKILL.md +18 -0
  85. package/code-assistants/codex-assistant/skills/agent-assistant-ask-hard/agents/openai.yaml +4 -0
  86. package/code-assistants/codex-assistant/skills/agent-assistant-auto/SKILL.md +18 -0
  87. package/code-assistants/codex-assistant/skills/agent-assistant-auto/agents/openai.yaml +4 -0
  88. package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm/SKILL.md +18 -0
  89. package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm/agents/openai.yaml +4 -0
  90. package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm-fast/SKILL.md +18 -0
  91. package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm-fast/agents/openai.yaml +4 -0
  92. package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm-hard/SKILL.md +18 -0
  93. package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm-hard/agents/openai.yaml +4 -0
  94. package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm-team/SKILL.md +18 -0
  95. package/code-assistants/codex-assistant/skills/agent-assistant-brainstorm-team/agents/openai.yaml +4 -0
  96. package/code-assistants/codex-assistant/skills/agent-assistant-code/SKILL.md +18 -0
  97. package/code-assistants/codex-assistant/skills/agent-assistant-code/agents/openai.yaml +4 -0
  98. package/code-assistants/codex-assistant/skills/agent-assistant-code-fast/SKILL.md +18 -0
  99. package/code-assistants/codex-assistant/skills/agent-assistant-code-fast/agents/openai.yaml +4 -0
  100. package/code-assistants/codex-assistant/skills/agent-assistant-code-focus/SKILL.md +18 -0
  101. package/code-assistants/codex-assistant/skills/agent-assistant-code-focus/agents/openai.yaml +4 -0
  102. package/code-assistants/codex-assistant/skills/agent-assistant-code-hard/SKILL.md +18 -0
  103. package/code-assistants/codex-assistant/skills/agent-assistant-code-hard/agents/openai.yaml +4 -0
  104. package/code-assistants/codex-assistant/skills/agent-assistant-code-team/SKILL.md +18 -0
  105. package/code-assistants/codex-assistant/skills/agent-assistant-code-team/agents/openai.yaml +4 -0
  106. package/code-assistants/codex-assistant/skills/agent-assistant-cook/SKILL.md +18 -0
  107. package/code-assistants/codex-assistant/skills/agent-assistant-cook/agents/openai.yaml +4 -0
  108. package/code-assistants/codex-assistant/skills/agent-assistant-cook-fast/SKILL.md +18 -0
  109. package/code-assistants/codex-assistant/skills/agent-assistant-cook-fast/agents/openai.yaml +4 -0
  110. package/code-assistants/codex-assistant/skills/agent-assistant-cook-focus/SKILL.md +18 -0
  111. package/code-assistants/codex-assistant/skills/agent-assistant-cook-focus/agents/openai.yaml +4 -0
  112. package/code-assistants/codex-assistant/skills/agent-assistant-cook-hard/SKILL.md +18 -0
  113. package/code-assistants/codex-assistant/skills/agent-assistant-cook-hard/agents/openai.yaml +4 -0
  114. package/code-assistants/codex-assistant/skills/agent-assistant-cook-team/SKILL.md +18 -0
  115. package/code-assistants/codex-assistant/skills/agent-assistant-cook-team/agents/openai.yaml +4 -0
  116. package/code-assistants/codex-assistant/skills/agent-assistant-debug/SKILL.md +18 -0
  117. package/code-assistants/codex-assistant/skills/agent-assistant-debug/agents/openai.yaml +4 -0
  118. package/code-assistants/codex-assistant/skills/agent-assistant-debug-fast/SKILL.md +18 -0
  119. package/code-assistants/codex-assistant/skills/agent-assistant-debug-fast/agents/openai.yaml +4 -0
  120. package/code-assistants/codex-assistant/skills/agent-assistant-debug-focus/SKILL.md +18 -0
  121. package/code-assistants/codex-assistant/skills/agent-assistant-debug-focus/agents/openai.yaml +4 -0
  122. package/code-assistants/codex-assistant/skills/agent-assistant-debug-hard/SKILL.md +18 -0
  123. package/code-assistants/codex-assistant/skills/agent-assistant-debug-hard/agents/openai.yaml +4 -0
  124. package/code-assistants/codex-assistant/skills/agent-assistant-debug-team/SKILL.md +18 -0
  125. package/code-assistants/codex-assistant/skills/agent-assistant-debug-team/agents/openai.yaml +4 -0
  126. package/code-assistants/codex-assistant/skills/agent-assistant-deploy/SKILL.md +18 -0
  127. package/code-assistants/codex-assistant/skills/agent-assistant-deploy/agents/openai.yaml +4 -0
  128. package/code-assistants/codex-assistant/skills/agent-assistant-deploy-check/SKILL.md +18 -0
  129. package/code-assistants/codex-assistant/skills/agent-assistant-deploy-check/agents/openai.yaml +4 -0
  130. package/code-assistants/codex-assistant/skills/agent-assistant-deploy-preview/SKILL.md +18 -0
  131. package/code-assistants/codex-assistant/skills/agent-assistant-deploy-preview/agents/openai.yaml +4 -0
  132. package/code-assistants/codex-assistant/skills/agent-assistant-deploy-production/SKILL.md +18 -0
  133. package/code-assistants/codex-assistant/skills/agent-assistant-deploy-production/agents/openai.yaml +4 -0
  134. package/code-assistants/codex-assistant/skills/agent-assistant-deploy-rollback/SKILL.md +18 -0
  135. package/code-assistants/codex-assistant/skills/agent-assistant-deploy-rollback/agents/openai.yaml +4 -0
  136. package/code-assistants/codex-assistant/skills/agent-assistant-design/SKILL.md +18 -0
  137. package/code-assistants/codex-assistant/skills/agent-assistant-design/agents/openai.yaml +4 -0
  138. package/code-assistants/codex-assistant/skills/agent-assistant-design-fast/SKILL.md +18 -0
  139. package/code-assistants/codex-assistant/skills/agent-assistant-design-fast/agents/openai.yaml +4 -0
  140. package/code-assistants/codex-assistant/skills/agent-assistant-design-focus/SKILL.md +18 -0
  141. package/code-assistants/codex-assistant/skills/agent-assistant-design-focus/agents/openai.yaml +4 -0
  142. package/code-assistants/codex-assistant/skills/agent-assistant-design-hard/SKILL.md +18 -0
  143. package/code-assistants/codex-assistant/skills/agent-assistant-design-hard/agents/openai.yaml +4 -0
  144. package/code-assistants/codex-assistant/skills/agent-assistant-design-team/SKILL.md +18 -0
  145. package/code-assistants/codex-assistant/skills/agent-assistant-design-team/agents/openai.yaml +4 -0
  146. package/code-assistants/codex-assistant/skills/agent-assistant-docs/SKILL.md +18 -0
  147. package/code-assistants/codex-assistant/skills/agent-assistant-docs/agents/openai.yaml +4 -0
  148. package/code-assistants/codex-assistant/skills/agent-assistant-docs-audit/SKILL.md +18 -0
  149. package/code-assistants/codex-assistant/skills/agent-assistant-docs-audit/agents/openai.yaml +4 -0
  150. package/code-assistants/codex-assistant/skills/agent-assistant-docs-business/SKILL.md +18 -0
  151. package/code-assistants/codex-assistant/skills/agent-assistant-docs-business/agents/openai.yaml +4 -0
  152. package/code-assistants/codex-assistant/skills/agent-assistant-docs-core/SKILL.md +18 -0
  153. package/code-assistants/codex-assistant/skills/agent-assistant-docs-core/agents/openai.yaml +4 -0
  154. package/code-assistants/codex-assistant/skills/agent-assistant-fix/SKILL.md +18 -0
  155. package/code-assistants/codex-assistant/skills/agent-assistant-fix/agents/openai.yaml +4 -0
  156. package/code-assistants/codex-assistant/skills/agent-assistant-fix-fast/SKILL.md +18 -0
  157. package/code-assistants/codex-assistant/skills/agent-assistant-fix-fast/agents/openai.yaml +4 -0
  158. package/code-assistants/codex-assistant/skills/agent-assistant-fix-focus/SKILL.md +18 -0
  159. package/code-assistants/codex-assistant/skills/agent-assistant-fix-focus/agents/openai.yaml +4 -0
  160. package/code-assistants/codex-assistant/skills/agent-assistant-fix-hard/SKILL.md +18 -0
  161. package/code-assistants/codex-assistant/skills/agent-assistant-fix-hard/agents/openai.yaml +4 -0
  162. package/code-assistants/codex-assistant/skills/agent-assistant-fix-team/SKILL.md +18 -0
  163. package/code-assistants/codex-assistant/skills/agent-assistant-fix-team/agents/openai.yaml +4 -0
  164. package/code-assistants/codex-assistant/skills/agent-assistant-plan/SKILL.md +18 -0
  165. package/code-assistants/codex-assistant/skills/agent-assistant-plan/agents/openai.yaml +4 -0
  166. package/code-assistants/codex-assistant/skills/agent-assistant-plan-fast/SKILL.md +18 -0
  167. package/code-assistants/codex-assistant/skills/agent-assistant-plan-fast/agents/openai.yaml +4 -0
  168. package/code-assistants/codex-assistant/skills/agent-assistant-plan-focus/SKILL.md +18 -0
  169. package/code-assistants/codex-assistant/skills/agent-assistant-plan-focus/agents/openai.yaml +4 -0
  170. package/code-assistants/codex-assistant/skills/agent-assistant-plan-hard/SKILL.md +18 -0
  171. package/code-assistants/codex-assistant/skills/agent-assistant-plan-hard/agents/openai.yaml +4 -0
  172. package/code-assistants/codex-assistant/skills/agent-assistant-plan-team/SKILL.md +18 -0
  173. package/code-assistants/codex-assistant/skills/agent-assistant-plan-team/agents/openai.yaml +4 -0
  174. package/code-assistants/codex-assistant/skills/agent-assistant-report/SKILL.md +18 -0
  175. package/code-assistants/codex-assistant/skills/agent-assistant-report/agents/openai.yaml +4 -0
  176. package/code-assistants/codex-assistant/skills/agent-assistant-report-fast/SKILL.md +18 -0
  177. package/code-assistants/codex-assistant/skills/agent-assistant-report-fast/agents/openai.yaml +4 -0
  178. package/code-assistants/codex-assistant/skills/agent-assistant-report-focus/SKILL.md +18 -0
  179. package/code-assistants/codex-assistant/skills/agent-assistant-report-focus/agents/openai.yaml +4 -0
  180. package/code-assistants/codex-assistant/skills/agent-assistant-report-hard/SKILL.md +18 -0
  181. package/code-assistants/codex-assistant/skills/agent-assistant-report-hard/agents/openai.yaml +4 -0
  182. package/code-assistants/codex-assistant/skills/agent-assistant-report-team/SKILL.md +18 -0
  183. package/code-assistants/codex-assistant/skills/agent-assistant-report-team/agents/openai.yaml +4 -0
  184. package/code-assistants/codex-assistant/skills/agent-assistant-review/SKILL.md +18 -0
  185. package/code-assistants/codex-assistant/skills/agent-assistant-review/agents/openai.yaml +4 -0
  186. package/code-assistants/codex-assistant/skills/agent-assistant-review-fast/SKILL.md +18 -0
  187. package/code-assistants/codex-assistant/skills/agent-assistant-review-fast/agents/openai.yaml +4 -0
  188. package/code-assistants/codex-assistant/skills/agent-assistant-review-hard/SKILL.md +18 -0
  189. package/code-assistants/codex-assistant/skills/agent-assistant-review-hard/agents/openai.yaml +4 -0
  190. package/code-assistants/codex-assistant/skills/agent-assistant-review-team/SKILL.md +18 -0
  191. package/code-assistants/codex-assistant/skills/agent-assistant-review-team/agents/openai.yaml +4 -0
  192. package/code-assistants/codex-assistant/skills/agent-assistant-test/SKILL.md +18 -0
  193. package/code-assistants/codex-assistant/skills/agent-assistant-test/agents/openai.yaml +4 -0
  194. package/code-assistants/codex-assistant/skills/agent-assistant-test-fast/SKILL.md +18 -0
  195. package/code-assistants/codex-assistant/skills/agent-assistant-test-fast/agents/openai.yaml +4 -0
  196. package/code-assistants/codex-assistant/skills/agent-assistant-test-focus/SKILL.md +18 -0
  197. package/code-assistants/codex-assistant/skills/agent-assistant-test-focus/agents/openai.yaml +4 -0
  198. package/code-assistants/codex-assistant/skills/agent-assistant-test-hard/SKILL.md +18 -0
  199. package/code-assistants/codex-assistant/skills/agent-assistant-test-hard/agents/openai.yaml +4 -0
  200. package/code-assistants/codex-assistant/skills/agent-assistant-test-team/SKILL.md +18 -0
  201. package/code-assistants/codex-assistant/skills/agent-assistant-test-team/agents/openai.yaml +4 -0
  202. package/commands/brainstorm/team.md +295 -0
  203. package/commands/brainstorm.md +5 -0
  204. package/commands/code/team.md +456 -0
  205. package/commands/code.md +5 -0
  206. package/commands/cook/team.md +609 -0
  207. package/commands/cook.md +5 -0
  208. package/commands/debug/team.md +396 -0
  209. package/commands/debug.md +5 -0
  210. package/commands/design/team.md +567 -0
  211. package/commands/design.md +5 -0
  212. package/commands/fix/team.md +596 -0
  213. package/commands/fix.md +5 -0
  214. package/commands/plan/team.md +358 -0
  215. package/commands/plan.md +5 -0
  216. package/commands/report/team.md +502 -0
  217. package/commands/report.md +5 -0
  218. package/commands/review/team.md +353 -0
  219. package/commands/review.md +5 -0
  220. package/commands/test/team.md +303 -0
  221. package/commands/test.md +5 -0
  222. package/documents/SMART-SKILL-ORCHESTRATION-BLUEPRINT.md +4 -2
  223. package/documents/business/business-prd.md +2 -1
  224. package/documents/business/business-workflows.md +2 -2
  225. package/documents/knowledge-architecture.md +13 -12
  226. package/documents/knowledge-domain.md +2 -2
  227. package/documents/knowledge-overview.md +2 -2
  228. package/documents/knowledge-source-base.md +4 -0
  229. package/package.json +5 -2
  230. package/rules/AGENTS.md +55 -0
  231. package/rules/CORE.md +1 -0
  232. package/rules/PHASES.md +58 -0
  233. package/rules/TEAMS.md +530 -0
package/cli/install.js CHANGED
@@ -8,6 +8,7 @@
8
8
  * - GitHub Copilot
9
9
  * - Antigravity (Gemini)
10
10
  * - Claude Code
11
+ * - Codex
11
12
  *
12
13
  * Usage:
13
14
  * npx agent-assistant install [tool]
@@ -139,6 +140,30 @@ const TOOLS = {
139
140
  assets: {
140
141
  claudeMd: path.join(ROOT, 'code-assistants', 'claude-assistant', 'CLAUDE.md'),
141
142
  }
143
+ },
144
+ codex: {
145
+ name: 'Codex',
146
+ description: 'OpenAI Codex CLI',
147
+ paths: {
148
+ home: path.join(HOME, '.codex'),
149
+ skills: path.join(HOME, '.codex', 'skills'),
150
+ commands: path.join(HOME, '.codex', 'commands'),
151
+ agents: path.join(HOME, '.codex', 'agents'),
152
+ agentAssistant: path.join(HOME, '.codex', 'skills', 'agent-assistant'),
153
+ },
154
+ replacements: {
155
+ '~/.{TOOL}/skills/agent-assistant/': '~/.codex/skills/agent-assistant/',
156
+ '{TOOL}/agent-assistant/': 'codex/skills/agent-assistant/',
157
+ '{TOOL}': 'codex',
158
+ '{HOME}': '~',
159
+ '~/.agent/': '~/.codex/skills/agent-assistant/'
160
+ },
161
+ assets: {
162
+ codexMd: path.join(ROOT, 'code-assistants', 'codex-assistant', 'CODEX.md'),
163
+ configToml: path.join(ROOT, 'code-assistants', 'codex-assistant', 'config.toml'),
164
+ agentTomlDir: path.join(ROOT, 'code-assistants', 'codex-assistant', 'agents'),
165
+ commandSkillsDir: path.join(ROOT, 'code-assistants', 'codex-assistant', 'skills'),
166
+ }
142
167
  }
143
168
  };
144
169
 
@@ -341,7 +366,7 @@ function copyWithReplace(src, dest, replacements = {}, trackProgress = true) {
341
366
  } else {
342
367
  try {
343
368
  // Apply replacements for text files
344
- const textExtensions = ['.md', '.txt', '.json', '.mdc', '.yaml', '.yml'];
369
+ const textExtensions = ['.md', '.txt', '.json', '.mdc', '.yaml', '.yml', '.toml'];
345
370
  const ext = path.extname(entry.name).toLowerCase();
346
371
 
347
372
  if (textExtensions.includes(ext)) {
@@ -974,6 +999,181 @@ function installClaude() {
974
999
  return total;
975
1000
  }
976
1001
 
1002
+ function mergeCodexConfig(templatePath, userConfigPath) {
1003
+ // Read template
1004
+ const template = fs.readFileSync(templatePath, 'utf8');
1005
+
1006
+ // Read existing user config or empty string
1007
+ let userConfig = '';
1008
+ if (fs.existsSync(userConfigPath)) {
1009
+ userConfig = fs.readFileSync(userConfigPath, 'utf8');
1010
+ }
1011
+
1012
+ // Our marker: lines between start and end markers
1013
+ const markerStart = '# === AGENT-ASSISTANT START ===';
1014
+ const markerEnd = '# === AGENT-ASSISTANT END ===';
1015
+
1016
+ // Remove old agent-assistant sections from user config
1017
+ const startIdx = userConfig.indexOf(markerStart);
1018
+ const endIdx = userConfig.indexOf(markerEnd);
1019
+ if (startIdx !== -1 && endIdx !== -1) {
1020
+ userConfig = userConfig.substring(0, startIdx).trimEnd() + '\n' +
1021
+ userConfig.substring(endIdx + markerEnd.length).trimStart();
1022
+ }
1023
+
1024
+ // Update or add project_doc_fallback_filenames in user config
1025
+ const docFallback = 'project_doc_fallback_filenames = ["AGENT.md", "CODEX.md", "AGENTS.md", ".agents.md"]';
1026
+ if (userConfig.includes('project_doc_fallback_filenames')) {
1027
+ userConfig = userConfig.replace(/project_doc_fallback_filenames\s*=\s*\[.*?\]/s, docFallback);
1028
+ } else {
1029
+ // Prepend before first section header or at end of top-level keys
1030
+ const firstSection = userConfig.indexOf('\n[');
1031
+ if (firstSection !== -1) {
1032
+ userConfig = userConfig.substring(0, firstSection) + '\n' + docFallback + '\n' + userConfig.substring(firstSection);
1033
+ } else {
1034
+ userConfig = userConfig.trimEnd() + '\n' + docFallback + '\n';
1035
+ }
1036
+ }
1037
+
1038
+ // Build our managed block
1039
+ let managedBlock = `\n${markerStart}\n`;
1040
+ managedBlock += '# Managed by Agent Assistant — do not edit manually\n\n';
1041
+
1042
+ // Add [features] if not present
1043
+ if (!userConfig.includes('[features]')) {
1044
+ managedBlock += '[features]\nmulti_agent = true\n\n';
1045
+ } else if (!userConfig.includes('multi_agent')) {
1046
+ // Need to add multi_agent to existing [features]
1047
+ userConfig = userConfig.replace('[features]', '[features]\nmulti_agent = true');
1048
+ }
1049
+
1050
+ // Add agents config (always from template)
1051
+ // Extract everything from [agents] onward in template
1052
+ const agentsSectionMatch = template.match(/(\[agents\][\s\S]*)/);
1053
+ if (agentsSectionMatch) {
1054
+ managedBlock += agentsSectionMatch[1] + '\n';
1055
+ }
1056
+
1057
+ managedBlock += `${markerEnd}\n`;
1058
+
1059
+ // Append managed block to user config
1060
+ const finalConfig = userConfig.trimEnd() + '\n' + managedBlock;
1061
+
1062
+ // Write with fsync
1063
+ const fd = fs.openSync(userConfigPath, 'w');
1064
+ fs.writeSync(fd, finalConfig);
1065
+ fs.fsyncSync(fd);
1066
+ fs.closeSync(fd);
1067
+
1068
+ return true;
1069
+ }
1070
+
1071
+ function installCodex() {
1072
+ const tool = TOOLS.codex;
1073
+
1074
+ // Reset and estimate progress
1075
+ resetProgress();
1076
+ progressState.total = estimateInstallFiles();
1077
+
1078
+ console.log(`\n📦 Installing Agent Assistant for ${tool.name}...`);
1079
+ console.log(` Estimated files: ~${formatNumber(progressState.total)}\n`);
1080
+
1081
+ let total = 0;
1082
+
1083
+ // --- 1. INSTALL GLOBAL CONFIG (~/.codex) ---
1084
+ ensureDir(tool.paths.home);
1085
+
1086
+ // 1.1 Global Config Files (AGENTS.md, CODEX.md, AGENT.md)
1087
+ if (tool.assets.codexMd && fs.existsSync(tool.assets.codexMd)) {
1088
+ const destFile = path.join(tool.paths.home, 'CODEX.md');
1089
+ if (copyFileWithReplace(tool.assets.codexMd, destFile, tool.replacements)) total++;
1090
+
1091
+ // Codex discovers global instructions from ~/.codex/AGENTS.md.
1092
+ const agentsDestFile = path.join(tool.paths.home, 'AGENTS.md');
1093
+ if (copyFileWithReplace(tool.assets.codexMd, agentsDestFile, tool.replacements)) total++;
1094
+ }
1095
+
1096
+ // Copy AGENT.md as well
1097
+ const agentMdSrc = path.join(ROOT, 'AGENT.md');
1098
+ if (fs.existsSync(agentMdSrc)) {
1099
+ const agentMdDest = path.join(tool.paths.home, 'AGENT.md');
1100
+ if (copyFileWithReplace(agentMdSrc, agentMdDest, tool.replacements)) total++;
1101
+ }
1102
+
1103
+ // 1.2 Codex-native TOML agent configs (~/.codex/agents/)
1104
+ ensureDir(tool.paths.agents);
1105
+ if (tool.assets.agentTomlDir && fs.existsSync(tool.assets.agentTomlDir)) {
1106
+ total += copyWithReplace(tool.assets.agentTomlDir, tool.paths.agents, tool.replacements);
1107
+ console.log(` ✅ Installed ${fs.readdirSync(tool.assets.agentTomlDir).filter(f => f.endsWith('.toml')).length} Codex agent roles (TOML)`);
1108
+ }
1109
+
1110
+ // 1.3 Merge config.toml (agents + features into user config)
1111
+ if (tool.assets.configToml && fs.existsSync(tool.assets.configToml)) {
1112
+ const userConfigPath = path.join(tool.paths.home, 'config.toml');
1113
+ if (mergeCodexConfig(tool.assets.configToml, userConfigPath)) {
1114
+ total++;
1115
+ console.log(` ✅ Merged agent config into ${userConfigPath}`);
1116
+ }
1117
+ }
1118
+
1119
+ // 1.4 Commands (~/.codex/commands — for backward compat)
1120
+ ensureDir(tool.paths.commands);
1121
+ total += copyWithReplace(path.join(ROOT, 'commands'), tool.paths.commands, tool.replacements);
1122
+
1123
+ // --- 2. INSTALL CORE FRAMEWORK (~/.codex/skills/agent-assistant) ---
1124
+ if (fs.existsSync(tool.paths.agentAssistant)) {
1125
+ fs.rmSync(tool.paths.agentAssistant, { recursive: true, force: true });
1126
+ }
1127
+ ensureDir(tool.paths.agentAssistant);
1128
+
1129
+ for (const dir of CORE_DIRS) {
1130
+ const srcDir = path.join(ROOT, dir);
1131
+ if (fs.existsSync(srcDir)) {
1132
+ total += copyWithReplace(srcDir, path.join(tool.paths.agentAssistant, dir), tool.replacements);
1133
+ }
1134
+ }
1135
+
1136
+ // Copy backward compat workflows
1137
+ const commandsSrc = path.join(ROOT, 'commands');
1138
+ if (fs.existsSync(commandsSrc)) {
1139
+ total += copyWithReplace(commandsSrc, path.join(tool.paths.agentAssistant, 'workflows'), tool.replacements);
1140
+ }
1141
+
1142
+ // Copy root files
1143
+ for (const file of ROOT_FILES) {
1144
+ const srcFile = path.join(ROOT, file);
1145
+ if (fs.existsSync(srcFile)) {
1146
+ if (copyFileWithReplace(srcFile, path.join(tool.paths.agentAssistant, file), tool.replacements)) total++;
1147
+ }
1148
+ }
1149
+
1150
+ // --- 3. INSTALL SKILLS (~/.codex/skills) ---
1151
+ total += copyWithReplace(path.join(ROOT, 'skills'), tool.paths.skills, tool.replacements);
1152
+
1153
+ // 3.1 Install Codex-specific command skills (from codex-assistant/skills/)
1154
+ if (tool.assets.commandSkillsDir && fs.existsSync(tool.assets.commandSkillsDir)) {
1155
+ total += copyWithReplace(tool.assets.commandSkillsDir, tool.paths.skills, tool.replacements);
1156
+ const cmdSkillCount = fs.readdirSync(tool.assets.commandSkillsDir)
1157
+ .filter(f => fs.statSync(path.join(tool.assets.commandSkillsDir, f)).isDirectory()).length;
1158
+ console.log(` ✅ Installed ${cmdSkillCount} command skills (Codex-native)`);
1159
+ }
1160
+
1161
+ // Complete progress bar
1162
+ completeProgress();
1163
+
1164
+ // Print summary with verification
1165
+ printSummary(tool.name, 'install');
1166
+
1167
+ console.log(`\n 📁 Paths:`);
1168
+ console.log(` Home: ${tool.paths.home}`);
1169
+ console.log(` Agents: ${tool.paths.agents} (TOML configs)`);
1170
+ console.log(` Commands: ${tool.paths.commands}`);
1171
+ console.log(` Skills: ${tool.paths.skills}`);
1172
+ console.log(` Framework: ${tool.paths.agentAssistant}`);
1173
+
1174
+ return total;
1175
+ }
1176
+
977
1177
  // ============================================================================
978
1178
  // Uninstall Functions
979
1179
  // ============================================================================
@@ -1214,6 +1414,62 @@ function uninstallClaude() {
1214
1414
  return removed;
1215
1415
  }
1216
1416
 
1417
+ function uninstallCodex() {
1418
+ const tool = TOOLS.codex;
1419
+
1420
+ // Reset progress
1421
+ resetProgress();
1422
+ progressState.total = 6;
1423
+
1424
+ console.log(`\n🗑️ Uninstalling Agent Assistant from ${tool.name}...`);
1425
+ console.log(` This will remove the framework while preserving user skills.\n`);
1426
+
1427
+ let removed = 0;
1428
+
1429
+ // 1. Remove Global Config
1430
+ const codexMd = path.join(tool.paths.home, 'CODEX.md');
1431
+ if (removeFile(codexMd)) {
1432
+ removed++;
1433
+ }
1434
+
1435
+ // Remove AGENTS.md (Codex primary instruction file)
1436
+ const agentsMd = path.join(tool.paths.home, 'AGENTS.md');
1437
+ if (removeFile(agentsMd)) {
1438
+ removed++;
1439
+ }
1440
+
1441
+ // Remove AGENT.md
1442
+ const agentMd = path.join(tool.paths.home, 'AGENT.md');
1443
+ if (removeFile(agentMd)) {
1444
+ removed++;
1445
+ }
1446
+
1447
+ // 2. Remove Commands
1448
+ if (removeDir(tool.paths.commands)) {
1449
+ removed++;
1450
+ }
1451
+
1452
+ // 3. Remove Native Agents
1453
+ if (removeDir(tool.paths.agents)) {
1454
+ removed++;
1455
+ }
1456
+
1457
+ // 4. Remove Core Framework
1458
+ if (removeDir(tool.paths.agentAssistant)) {
1459
+ removed++;
1460
+ }
1461
+
1462
+ // Complete progress bar
1463
+ completeProgress();
1464
+
1465
+ // Print summary
1466
+ printSummary(tool.name, 'uninstall');
1467
+
1468
+ console.log(`\n ℹ️ User skills preserved at: ${tool.paths.skills}`);
1469
+
1470
+ return removed;
1471
+ }
1472
+
1217
1473
  // ============================================================================
1218
1474
  // CLI Interface
1219
1475
  // ============================================================================
@@ -1235,7 +1491,7 @@ function printUsage() {
1235
1491
  Usage: npx agent-assistant <command> [options]
1236
1492
 
1237
1493
  Commands:
1238
- install [tool] Install for a specific tool (cursor, copilot, antigravity)
1494
+ install [tool] Install for a specific tool (cursor, copilot, antigravity, claude, codex)
1239
1495
  install --all Install for all supported tools
1240
1496
  uninstall [tool] Uninstall from a specific tool
1241
1497
  list List supported tools and installation status
@@ -1286,6 +1542,14 @@ function listTools() {
1286
1542
  details.push('CLAUDE.md');
1287
1543
  }
1288
1544
  }
1545
+ if (key === 'codex') {
1546
+ if (fs.existsSync(path.join(tool.paths.home, 'AGENTS.md'))) {
1547
+ details.push('AGENTS.md');
1548
+ }
1549
+ if (fs.existsSync(path.join(tool.paths.home, 'CODEX.md'))) {
1550
+ details.push('CODEX.md');
1551
+ }
1552
+ }
1289
1553
  if (details.length > 0) {
1290
1554
  console.log(` ${' '.padEnd(25)} (${details.join(', ')})`);
1291
1555
  }
@@ -1306,10 +1570,11 @@ async function promptToolSelection() {
1306
1570
  console.log(' 2. GitHub Copilot');
1307
1571
  console.log(' 3. Antigravity (Gemini)');
1308
1572
  console.log(' 4. Claude Code');
1309
- console.log(' 5. All tools');
1573
+ console.log(' 5. Codex');
1574
+ console.log(' 6. All tools');
1310
1575
  console.log(' 0. Cancel\n');
1311
1576
 
1312
- rl.question('Enter your choice (0-5): ', (answer) => {
1577
+ rl.question('Enter your choice (0-6): ', (answer) => {
1313
1578
  rl.close();
1314
1579
  resolve(answer.trim());
1315
1580
  });
@@ -1333,16 +1598,20 @@ async function interactiveInstall() {
1333
1598
  installClaude();
1334
1599
  break;
1335
1600
  case '5':
1601
+ installCodex();
1602
+ break;
1603
+ case '6':
1336
1604
  installCursor();
1337
1605
  installCopilot();
1338
1606
  installAntigravity();
1339
1607
  installClaude();
1608
+ installCodex();
1340
1609
  break;
1341
1610
  case '0':
1342
1611
  console.log('\n❌ Installation cancelled.\n');
1343
1612
  break;
1344
1613
  default:
1345
- console.log('\n❌ Invalid choice. Please enter 0-5.\n');
1614
+ console.log('\n❌ Invalid choice. Please enter 0-6.\n');
1346
1615
  }
1347
1616
  }
1348
1617
 
@@ -1374,6 +1643,7 @@ async function main() {
1374
1643
  totalFiles += installCopilot();
1375
1644
  totalFiles += installAntigravity();
1376
1645
  totalFiles += installClaude();
1646
+ totalFiles += installCodex();
1377
1647
 
1378
1648
  const duration = ((Date.now() - startTime) / 1000).toFixed(2);
1379
1649
  console.log('\n' + '═'.repeat(60));
@@ -1389,11 +1659,13 @@ async function main() {
1389
1659
  installAntigravity();
1390
1660
  } else if (target === 'claude' || target === 'claude-code') {
1391
1661
  installClaude();
1662
+ } else if (target === 'codex') {
1663
+ installCodex();
1392
1664
  } else if (!target) {
1393
1665
  await interactiveInstall();
1394
1666
  } else {
1395
1667
  console.log(`❌ Unknown tool: ${target}`);
1396
- console.log(' Supported tools: cursor, copilot, antigravity, claude');
1668
+ console.log(' Supported tools: cursor, copilot, antigravity, claude, codex');
1397
1669
  }
1398
1670
  break;
1399
1671
 
@@ -1404,6 +1676,7 @@ async function main() {
1404
1676
  uninstallCopilot();
1405
1677
  uninstallAntigravity();
1406
1678
  uninstallClaude();
1679
+ uninstallCodex();
1407
1680
 
1408
1681
  const duration = ((Date.now() - startTime) / 1000).toFixed(2);
1409
1682
  console.log('\n' + '═'.repeat(60));
@@ -1418,8 +1691,10 @@ async function main() {
1418
1691
  uninstallAntigravity();
1419
1692
  } else if (target === 'claude' || target === 'claude-code') {
1420
1693
  uninstallClaude();
1694
+ } else if (target === 'codex') {
1695
+ uninstallCodex();
1421
1696
  } else {
1422
- console.log(`❌ Please specify a tool: cursor, copilot, antigravity, claude, or --all`);
1697
+ console.log(`❌ Please specify a tool: cursor, copilot, antigravity, claude, codex, or --all`);
1423
1698
  }
1424
1699
  break;
1425
1700
 
@@ -99,7 +99,7 @@ describe('CLI Installer', () => {
99
99
  describe('Input Validation', () => {
100
100
  test('should reject invalid tool names', () => {
101
101
  // Test that invalid tools are rejected
102
- // const validTools = ['cursor', 'copilot', 'antigravity', 'gemini', 'claude', 'claude-code'];
102
+ // const validTools = ['cursor', 'copilot', 'antigravity', 'gemini', 'claude', 'claude-code', 'codex'];
103
103
  // const invalidTools = ['invalid', '../path', '', null];
104
104
  assert.ok(true, 'Test placeholder');
105
105
  });
@@ -0,0 +1,235 @@
1
+ # CODEX.md — Agent Assistant Orchestrator for OpenAI Codex
2
+
3
+ > ⛔ **MANDATORY BOOT SEQUENCE** — EXECUTE BEFORE ANY OTHER ACTION
4
+ >
5
+ > 1. **READ NOW**: `~/.codex/skills/agent-assistant/rules/CORE.md`
6
+ > 2. **INTERNALIZE**: All 10 Laws, TIERED EXECUTION, PROHIBITIONS
7
+ > 3. **ACTIVATE**: Orchestrator mode (delegate, NEVER implement)
8
+ >
9
+ > **⚠️ FAILURE TO LOAD CORE.md = PROTOCOL VIOLATION — All responses invalid until loaded**
10
+
11
+ ---
12
+
13
+ ## 🆔 IDENTITY — ABSOLUTE BINDING
14
+
15
+ ```
16
+ ╔═══════════════════════════════════════════════════════════════════════════════╗
17
+ ║ YOU ARE THE ORCHESTRATOR — NOT AN IMPLEMENTER ║
18
+ ║ ║
19
+ ║ ✅ YOU DO: Delegate, coordinate, verify, synthesize ║
20
+ ║ ❌ YOU NEVER: Write code, debug, test, design, or implement directly ║
21
+ ║ ║
22
+ ║ 🚨 EVERY TIME you're about to DO something → STOP → DELEGATE instead ║
23
+ ╚═══════════════════════════════════════════════════════════════════════════════╝
24
+ ```
25
+
26
+ **This is your ONLY role. There are NO exceptions. Not even for "simple" tasks.**
27
+
28
+ ---
29
+
30
+ ## 📂 PATHS (Use These Exact Paths)
31
+
32
+ ```
33
+ CONFIG = ~/.codex/config.toml
34
+ COMMANDS = ~/.codex/skills/agent-assistant/commands/
35
+ AGENTS = ~/.codex/skills/agent-assistant/agents/
36
+ SKILLS = ~/.codex/skills/
37
+ RULES = ~/.codex/skills/agent-assistant/rules/
38
+ REPORTS = ./reports/
39
+ ```
40
+
41
+ ---
42
+
43
+ ## 🤖 CODEX MULTI-AGENT SYSTEM
44
+
45
+ Codex has a **native multi-agent system** configured in `~/.codex/config.toml`.
46
+ There are **21 specialist agents** registered, each with their own `.toml` config and full agent definition in `~/.codex/skills/agent-assistant/agents/{name}.md`.
47
+
48
+ ### TIER 1 — SPAWN AGENTS (Primary Method)
49
+
50
+ **You MUST use Codex's native agent spawning system to delegate work.**
51
+
52
+ When a workflow phase requires a specialist:
53
+ 1. Identify the required agent role from the phase definition
54
+ 2. **SPAWN** that agent using Codex's multi-agent system
55
+ 3. Provide the agent with: objective, constraints, context, and definition of done
56
+ 4. Wait for agent completion and verify exit criteria
57
+
58
+ ### TIER 2 — EMBODY (Fallback Only)
59
+
60
+ Only if agent spawning fails or is unavailable:
61
+ - EMBODY the specialist role by reading their full definition from `~/.codex/skills/agent-assistant/agents/{name}.md`
62
+ - Follow their constraints, thinking protocol, and output format exactly
63
+
64
+ **❌ FORBIDDEN**: Using TIER 2 when TIER 1 (native agent spawning) is available
65
+
66
+ ### Agent Roles Available
67
+
68
+ | Agent Name | Role | Spawn When |
69
+ |------------|------|------------|
70
+ | `backend-engineer` | Principal Backend Architect | Server-side implementation |
71
+ | `brainstormer` | Principal Requirements Architect | Requirements discovery, ideation |
72
+ | `business-analyst` | Principal Business Analyst | Requirements, domain modeling |
73
+ | `database-architect` | Principal Database Architect | Schema design, query optimization |
74
+ | `debugger` | Principal Debug Specialist | Root cause analysis |
75
+ | `designer` | Principal Design Architect | UI/UX design, design systems |
76
+ | `devops-engineer` | Principal DevOps Architect | CI/CD, infrastructure |
77
+ | `docs-manager` | Principal Documentation Architect | Technical writing, docs |
78
+ | `frontend-engineer` | Principal Frontend Architect | UI implementation |
79
+ | `game-engineer` | Principal Game Architect | Game development |
80
+ | `mobile-engineer` | Principal Mobile Architect | iOS, Android, cross-platform |
81
+ | `performance-engineer` | Principal Performance Architect | Profiling, optimization |
82
+ | `planner` | Principal Technical Planner | Task decomposition, blueprints |
83
+ | `project-manager` | Principal Delivery Manager | Coordination, risk management |
84
+ | `reporter` | Reporting Specialist | Structured insights, reports |
85
+ | `researcher` | Principal Research Analyst | Technical research |
86
+ | `reviewer` | Principal Code Reviewer | Quality assurance, plan compliance |
87
+ | `scouter` | Principal Codebase Analyst | Code exploration, pattern discovery |
88
+ | `security-engineer` | Principal Security Architect | Threat modeling, secure coding |
89
+ | `tech-lead` | Technical Lead | Orchestration, routing, quality |
90
+ | `tester` | Principal QA Architect | Test strategy, automation |
91
+
92
+ ---
93
+
94
+ ## 🌐 LANGUAGE COMPLIANCE
95
+
96
+ | Context | Language |
97
+ |---------|----------|
98
+ | Response to user | **Same as user's language** |
99
+ | Code & comments | **Always English** |
100
+ | Files in `./reports/`, `./documents/` | **Always English** |
101
+
102
+ ---
103
+
104
+ ## 🎯 COMMAND ROUTING
105
+
106
+ When you detect a slash command or natural language intent, **load the `$agent-assistant-workflows` skill** (or read the workflow file directly) and follow the phase-by-phase workflow.
107
+
108
+ ### Slash Commands
109
+
110
+ | Command | Workflow File | Purpose |
111
+ |---------|--------------|---------|
112
+ | `/cook` | `commands/cook.md` | Full implementation workflow |
113
+ | `/fix` | `commands/fix.md` | Bug fix workflow |
114
+ | `/plan` | `commands/plan.md` | Implementation planning |
115
+ | `/debug` | `commands/debug.md` | Systematic debugging |
116
+ | `/test` | `commands/test.md` | Test creation workflow |
117
+ | `/review` | `commands/review.md` | Code review workflow |
118
+ | `/docs` | `commands/docs.md` | Documentation workflow |
119
+ | `/design` | `commands/design.md` | UI/UX design workflow |
120
+ | `/deploy` | `commands/deploy.md` | Deployment workflow |
121
+ | `/report` | `commands/report.md` | Report generation |
122
+ | `/brainstorm` | `commands/brainstorm.md` | Ideation and exploration |
123
+ | `/ask` | `commands/ask.md` | Knowledge query |
124
+ | `/code` | `commands/code.md` | Direct coding task |
125
+ | `/auto` | `commands/auto.md` | Autonomous mode |
126
+
127
+ ### Variant Syntax
128
+
129
+ Append `:variant` to any command for specialized workflows:
130
+
131
+ | Variant | File Pattern | Purpose |
132
+ |---------|-------------|---------|
133
+ | `:hard` | `commands/{cmd}/hard.md` | Complex/deep variant |
134
+ | `:fast` | `commands/{cmd}/fast.md` | Quick/lightweight variant |
135
+ | `:team` | `commands/{cmd}/team.md` | Parallel multi-agent team |
136
+ | `:focus` | `commands/{cmd}/focus.md` | Focused single-concern variant |
137
+
138
+ **Examples**: `/cook:hard`, `/fix:fast`, `/review:team`, `/plan:focus`
139
+
140
+ ### Natural Language Mapping
141
+
142
+ | User Says | Maps To | Primary Agent |
143
+ |-----------|---------|--------------|
144
+ | "implement", "build", "create" | `/cook` | `backend-engineer` / `frontend-engineer` |
145
+ | "fix", "bug", "broken", "error" | `/fix` | `debugger` → `backend-engineer` |
146
+ | "plan", "design approach", "blueprint" | `/plan` | `planner` |
147
+ | "debug", "investigate", "why is" | `/debug` | `debugger` |
148
+ | "test", "write tests", "coverage" | `/test` | `tester` |
149
+ | "review", "check code", "audit" | `/review` | `reviewer` |
150
+ | "document", "write docs", "README" | `/docs` | `docs-manager` |
151
+ | "design", "UI", "mockup", "wireframe" | `/design` | `designer` |
152
+ | "deploy", "ship", "release" | `/deploy` | `devops-engineer` |
153
+ | "report", "summarize", "status" | `/report` | `reporter` |
154
+ | "brainstorm", "explore", "ideas" | `/brainstorm` | `brainstormer` |
155
+ | "research", "find out", "look up" | `/ask` | `researcher` |
156
+
157
+ ---
158
+
159
+ ## ⛔ PROHIBITIONS — ABSOLUTE
160
+
161
+ | ❌ NEVER | ✅ INSTEAD |
162
+ |----------|-----------|
163
+ | Write code | Spawn `backend-engineer` or `frontend-engineer` |
164
+ | Debug | Spawn `debugger` |
165
+ | Test | Spawn `tester` |
166
+ | Architecture decisions | Spawn `tech-lead` |
167
+ | Skip phases | Follow exact workflow order |
168
+ | Assume | ASK for clarification |
169
+
170
+ ---
171
+
172
+ ## ✅ SELF-CHECK — Execute Before EVERY Response
173
+
174
+ ```
175
+ □ Am I about to WRITE code? → STOP → Spawn engineer agent
176
+ □ Am I about to DEBUG? → STOP → Spawn debugger agent
177
+ □ Am I about to TEST? → STOP → Spawn tester agent
178
+ □ Am I about to DESIGN? → STOP → Spawn designer/tech-lead agent
179
+ □ Am I following WORKFLOW ORDER? → Verify phase sequence
180
+ □ Am I responding in USER'S LANGUAGE? → Match request language
181
+ □ Have I LOADED CORE.md? → Load now if not
182
+ □ Am I using TIER 1 (native spawn)? → If available, MUST use it
183
+ ```
184
+
185
+ **If any check fails → STOP → Correct → Proceed**
186
+
187
+ ---
188
+
189
+ ## 📚 RULES v2.0 — Load On Demand
190
+
191
+ | File | Purpose |
192
+ |------|---------|
193
+ | `CORE.md` | **Always loaded** — Identity, paths, 10 Laws |
194
+ | `PHASES.md` | Phase execution, output format |
195
+ | `AGENTS.md` | Tiered execution, agent handling |
196
+ | `SKILLS.md` | HSOL skill resolution |
197
+ | `ERRORS.md` | Error recovery |
198
+ | `REFERENCE.md` | Quick lookup tables |
199
+ | `TEAMS.md` | Team execution protocol (`:team` variants) |
200
+
201
+ **Rule**: Do NOT pre-load all files. Load on-demand to save context.
202
+
203
+ ---
204
+
205
+ ## 🚀 EXECUTION FLOW
206
+
207
+ ```
208
+ 1. RECEIVE user request
209
+ 2. DETECT command (explicit slash command or natural language)
210
+ 3. LOAD CORE.md (if not already loaded)
211
+ 4. LOAD workflow: use $agent-assistant-workflows skill or read commands/{cmd}.md directly
212
+ 5. For EACH phase in workflow:
213
+ a. Load PHASES.md (phase execution rules)
214
+ b. SPAWN specialist agent via Codex multi-agent system (TIER 1)
215
+ c. Provide agent: objective, constraints, definition of done
216
+ d. VERIFY exit criteria met
217
+ e. Write deliverable file if required
218
+ f. PROCEED to next phase
219
+ 6. DELIVER synthesized result to user
220
+ ```
221
+
222
+ ---
223
+
224
+ ## 🔗 SKILL INTEGRATION
225
+
226
+ When handling commands, use the `$agent-assistant-workflows` skill for workflow routing:
227
+ - The skill maps commands to their workflow files
228
+ - It provides phase-to-agent mappings
229
+ - It handles variant resolution
230
+
231
+ ---
232
+
233
+ **🎻 You are the CONDUCTOR. SPAWN SPECIALISTS to play their parts.**
234
+
235
+ **📖 NOW: Read `~/.codex/skills/agent-assistant/rules/CORE.md` before proceeding.**
@@ -0,0 +1,26 @@
1
+ model = "gpt-5.3-codex"
2
+ model_reasoning_effort = "high"
3
+ sandbox_mode = "workspace-write"
4
+
5
+ developer_instructions = """
6
+ You are the Backend Engineer — Principal Backend Architect.
7
+
8
+ CORE DIRECTIVE: Engineer secure, scalable foundations. Every endpoint is a contract. Every query is a promise. Design for failure, code for clarity.
9
+
10
+ RESPONSIBILITIES:
11
+ - Implement backend services, APIs, and data layers
12
+ - Validate input at boundaries, handle errors explicitly
13
+ - Use transactions for multi-step operations
14
+ - Follow existing codebase patterns and conventions
15
+
16
+ BEFORE ANY TASK:
17
+ 1. READ your full agent definition: ~/.codex/skills/agent-assistant/agents/backend-engineer.md
18
+ 2. READ global rules: ~/.codex/skills/agent-assistant/rules/CORE.md
19
+ 3. Discover applicable skills: ~/.codex/skills/agent-assistant/matrix-skills/
20
+
21
+ CONSTRAINTS:
22
+ - Never skip error handling or hardcode secrets
23
+ - Always validate external input and sanitize data
24
+ - Test critical paths before declaring completion
25
+ - Escalate security concerns to security-engineer
26
+ """