oh-my-codex 0.8.4 → 0.8.6
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.
- package/README.md +53 -0
- package/bin/omx.js +2 -2
- package/dist/agents/__tests__/definitions.test.js +5 -1
- package/dist/agents/__tests__/definitions.test.js.map +1 -1
- package/dist/agents/__tests__/native-config.test.js +7 -2
- package/dist/agents/__tests__/native-config.test.js.map +1 -1
- package/dist/agents/definitions.d.ts +5 -2
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +117 -30
- package/dist/agents/definitions.js.map +1 -1
- package/dist/agents/native-config.d.ts.map +1 -1
- package/dist/agents/native-config.js +72 -9
- package/dist/agents/native-config.js.map +1 -1
- package/dist/cli/__tests__/prompt-skill-sanitization.test.d.ts +2 -0
- package/dist/cli/__tests__/prompt-skill-sanitization.test.d.ts.map +1 -0
- package/dist/cli/__tests__/prompt-skill-sanitization.test.js +48 -0
- package/dist/cli/__tests__/prompt-skill-sanitization.test.js.map +1 -0
- package/dist/cli/__tests__/team.test.js +75 -1
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +56 -0
- package/dist/cli/team.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +5 -1
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/generator.js +1 -1
- package/dist/config/generator.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +43 -0
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +50 -0
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +40 -0
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +59 -0
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +4 -0
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/prompt-guidance-catalog.test.d.ts +2 -0
- package/dist/hooks/__tests__/prompt-guidance-catalog.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/prompt-guidance-catalog.test.js +44 -0
- package/dist/hooks/__tests__/prompt-guidance-catalog.test.js.map +1 -0
- package/dist/hooks/__tests__/prompt-guidance-contract.test.d.ts +2 -0
- package/dist/hooks/__tests__/prompt-guidance-contract.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/prompt-guidance-contract.test.js +56 -0
- package/dist/hooks/__tests__/prompt-guidance-contract.test.js.map +1 -0
- package/dist/hooks/__tests__/prompt-guidance-scenarios.test.d.ts +2 -0
- package/dist/hooks/__tests__/prompt-guidance-scenarios.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/prompt-guidance-scenarios.test.js +30 -0
- package/dist/hooks/__tests__/prompt-guidance-scenarios.test.js.map +1 -0
- package/dist/hooks/__tests__/prompt-guidance-wave-two.test.d.ts +2 -0
- package/dist/hooks/__tests__/prompt-guidance-wave-two.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js +56 -0
- package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js.map +1 -0
- package/dist/hooks/__tests__/skill-guidance-contract.test.d.ts +2 -0
- package/dist/hooks/__tests__/skill-guidance-contract.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/skill-guidance-contract.test.js +31 -0
- package/dist/hooks/__tests__/skill-guidance-contract.test.js.map +1 -0
- package/dist/mcp/__tests__/team-server-wait.test.d.ts +2 -0
- package/dist/mcp/__tests__/team-server-wait.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/team-server-wait.test.js +155 -0
- package/dist/mcp/__tests__/team-server-wait.test.js.map +1 -0
- package/dist/mcp/team-server.d.ts.map +1 -1
- package/dist/mcp/team-server.js +41 -4
- package/dist/mcp/team-server.js.map +1 -1
- package/dist/notifications/__tests__/tmux.test.js +5 -5
- package/dist/notifications/__tests__/tmux.test.js.map +1 -1
- package/dist/notifications/tmux.js +1 -1
- package/dist/notifications/tmux.js.map +1 -1
- package/dist/team/__tests__/runtime-cli.test.js +6 -0
- package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +2 -1
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/api-interop.d.ts.map +1 -1
- package/dist/team/api-interop.js +4 -0
- package/dist/team/api-interop.js.map +1 -1
- package/dist/team/contracts.d.ts +1 -1
- package/dist/team/contracts.d.ts.map +1 -1
- package/dist/team/contracts.js +5 -0
- package/dist/team/contracts.js.map +1 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +14 -0
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/state/events.d.ts +18 -1
- package/dist/team/state/events.d.ts.map +1 -1
- package/dist/team/state/events.js +129 -1
- package/dist/team/state/events.js.map +1 -1
- package/dist/team/state/types.d.ts +9 -2
- package/dist/team/state/types.d.ts.map +1 -1
- package/dist/team/state/types.js.map +1 -1
- package/dist/team/state.d.ts +10 -1
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +3 -3
- package/dist/team/state.js.map +1 -1
- package/dist/verification/verifier.d.ts +1 -1
- package/dist/verification/verifier.js +1 -1
- package/package.json +1 -1
- package/prompts/analyst.md +15 -1
- package/prompts/api-reviewer.md +14 -0
- package/prompts/architect.md +18 -1
- package/prompts/build-fixer.md +14 -0
- package/prompts/code-reviewer.md +14 -0
- package/prompts/code-simplifier.md +13 -1
- package/prompts/critic.md +17 -1
- package/prompts/debugger.md +14 -0
- package/prompts/dependency-expert.md +16 -2
- package/prompts/designer.md +15 -1
- package/prompts/executor.md +22 -3
- package/prompts/explore.md +14 -0
- package/prompts/git-master.md +14 -0
- package/prompts/information-architect.md +14 -1
- package/prompts/performance-reviewer.md +14 -0
- package/prompts/planner.md +21 -3
- package/prompts/product-analyst.md +14 -1
- package/prompts/product-manager.md +18 -5
- package/prompts/qa-tester.md +15 -1
- package/prompts/quality-reviewer.md +14 -0
- package/prompts/quality-strategist.md +18 -5
- package/prompts/researcher.md +16 -2
- package/prompts/security-reviewer.md +14 -0
- package/prompts/style-reviewer.md +14 -0
- package/prompts/test-engineer.md +14 -0
- package/prompts/ux-researcher.md +14 -1
- package/prompts/verifier.md +15 -0
- package/prompts/vision.md +15 -1
- package/prompts/writer.md +15 -1
- package/scripts/notify-fallback-watcher.js +52 -2
- package/scripts/notify-hook/team-dispatch.js +33 -18
- package/scripts/notify-hook/team-leader-nudge.js +13 -3
- package/scripts/notify-hook/team-worker.js +11 -0
- package/skills/analyze/SKILL.md +15 -2
- package/skills/autopilot/SKILL.md +20 -7
- package/skills/build-fix/SKILL.md +20 -4
- package/skills/code-review/SKILL.md +20 -4
- package/skills/ecomode/SKILL.md +20 -20
- package/skills/frontend-ui-ux/SKILL.md +1 -1
- package/skills/git-master/SKILL.md +1 -1
- package/skills/help/SKILL.md +1 -1
- package/skills/plan/SKILL.md +15 -2
- package/skills/ralph/SKILL.md +26 -13
- package/skills/ralplan/SKILL.md +15 -0
- package/skills/security-review/SKILL.md +20 -4
- package/skills/team/SKILL.md +16 -1
- package/skills/ultraqa/SKILL.md +19 -3
- package/skills/ultrawork/SKILL.md +16 -16
- package/templates/AGENTS.md +8 -2
- package/dist/cli/__tests__/setup-codex-version.test.d.ts +0 -2
- package/dist/cli/__tests__/setup-codex-version.test.d.ts.map +0 -1
- package/dist/cli/__tests__/setup-codex-version.test.js +0 -99
- package/dist/cli/__tests__/setup-codex-version.test.js.map +0 -1
package/README.md
CHANGED
|
@@ -130,6 +130,54 @@ User
|
|
|
130
130
|
-> .omx/ (runtime state, memory, plans, logs)
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
+
## Experimental: posture-aware routing
|
|
134
|
+
|
|
135
|
+
This branch includes an experimental routing layer that separates:
|
|
136
|
+
|
|
137
|
+
- `role`: agent responsibility (`executor`, `planner`, `architect`)
|
|
138
|
+
- `tier`: reasoning depth / cost (`LOW`, `STANDARD`, `THOROUGH`)
|
|
139
|
+
- `posture`: operating style (`frontier-orchestrator`, `deep-worker`, `fast-lane`)
|
|
140
|
+
|
|
141
|
+
Current intent of the experiment:
|
|
142
|
+
|
|
143
|
+
- **Frontier-orchestrator**: leader/router posture for steerable frontier models
|
|
144
|
+
- **Deep-worker**: implementation-first posture for executor-style roles
|
|
145
|
+
- **Fast-lane**: lightweight triage/search posture for fast models
|
|
146
|
+
|
|
147
|
+
This is designed to make OMX's initial routing behavior more Sisyphus-like without removing the existing Hephaestus-like execution lane.
|
|
148
|
+
|
|
149
|
+
### How to test this experiment
|
|
150
|
+
|
|
151
|
+
1. Build the project:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
npm run build
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
2. Reinstall native agent configs:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
node bin/omx.js setup
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
3. Inspect generated native agent configs in `~/.omx/agents/` and confirm they now include:
|
|
164
|
+
- `## OMX Posture Overlay`
|
|
165
|
+
- `## Model-Class Guidance`
|
|
166
|
+
- `## OMX Agent Metadata`
|
|
167
|
+
|
|
168
|
+
4. Spot-check representative roles:
|
|
169
|
+
- `planner` / `architect` / `critic` -> `frontier-orchestrator`
|
|
170
|
+
- `executor` / `build-fixer` / `test-engineer` -> `deep-worker`
|
|
171
|
+
- `explore` / `writer` -> `fast-lane`
|
|
172
|
+
|
|
173
|
+
5. Run focused tests:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
node --test dist/agents/__tests__/definitions.test.js dist/agents/__tests__/native-config.test.js
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
This experiment currently changes native prompt generation and metadata, not the full prose of every prompt file.
|
|
180
|
+
|
|
133
181
|
## Main Commands
|
|
134
182
|
|
|
135
183
|
```bash
|
|
@@ -410,6 +458,11 @@ npm test
|
|
|
410
458
|
- OpenClaw integration examples: `docs/openclaw-integration.md`
|
|
411
459
|
- Setup and contribution details: `CONTRIBUTING.md`
|
|
412
460
|
|
|
461
|
+
## Maintainers
|
|
462
|
+
|
|
463
|
+
- [Yeachan-Heo](https://github.com/Yeachan-Heo)
|
|
464
|
+
- [HaD0Yun](https://github.com/HaD0Yun)
|
|
465
|
+
|
|
413
466
|
## Acknowledgments
|
|
414
467
|
|
|
415
468
|
Inspired by [oh-my-claudecode](https://github.com/Yeachan-Heo/oh-my-claudecode), adapted for Codex CLI.
|
package/bin/omx.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// oh-my-codex CLI entry point
|
|
4
4
|
// Requires compiled JavaScript output in dist/
|
|
5
5
|
|
|
6
|
-
import { fileURLToPath } from 'url';
|
|
6
|
+
import { fileURLToPath, pathToFileURL } from 'url';
|
|
7
7
|
import { dirname, join } from 'path';
|
|
8
8
|
import { existsSync } from 'fs';
|
|
9
9
|
|
|
@@ -15,7 +15,7 @@ const root = join(__dirname, '..');
|
|
|
15
15
|
const distEntry = join(root, 'dist', 'cli', 'index.js');
|
|
16
16
|
|
|
17
17
|
if (existsSync(distEntry)) {
|
|
18
|
-
const { main } = await import(distEntry);
|
|
18
|
+
const { main } = await import(pathToFileURL(distEntry).href);
|
|
19
19
|
await main(process.argv.slice(2));
|
|
20
20
|
process.exit(process.exitCode ?? 0);
|
|
21
21
|
} else {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { describe, it } from 'node:test';
|
|
2
1
|
import assert from 'node:assert/strict';
|
|
2
|
+
import { describe, it } from 'node:test';
|
|
3
3
|
import { AGENT_DEFINITIONS, getAgent, getAgentNames, getAgentsByCategory, } from '../definitions.js';
|
|
4
4
|
describe('agents/definitions', () => {
|
|
5
5
|
it('returns known agents and undefined for unknown names', () => {
|
|
@@ -13,6 +13,10 @@ describe('agents/definitions', () => {
|
|
|
13
13
|
const agent = AGENT_DEFINITIONS[name];
|
|
14
14
|
assert.equal(agent.name, name);
|
|
15
15
|
assert.ok(agent.description.length > 0);
|
|
16
|
+
assert.ok(agent.reasoningEffort.length > 0);
|
|
17
|
+
assert.ok(agent.posture.length > 0);
|
|
18
|
+
assert.ok(agent.modelClass.length > 0);
|
|
19
|
+
assert.ok(agent.routingRole.length > 0);
|
|
16
20
|
}
|
|
17
21
|
});
|
|
18
22
|
it('filters agents by category', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.test.js","sourceRoot":"","sources":["../../../src/agents/__tests__/definitions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,
|
|
1
|
+
{"version":3,"file":"definitions.test.js","sourceRoot":"","sources":["../../../src/agents/__tests__/definitions.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,mBAAmB,GAEpB,MAAM,mBAAmB,CAAC;AAE3B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;QAC9B,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,oCAAoC,CAAC,CAAC;QAEnE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;QAElE,MAAM,OAAO,GAAkC;YAC7C,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,SAAS;YACT,cAAc;SACf,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import { describe, it } from 'node:test';
|
|
2
1
|
import assert from 'node:assert/strict';
|
|
3
2
|
import { mkdtemp, mkdir, readFile, rm, writeFile } from 'node:fs/promises';
|
|
4
3
|
import { existsSync } from 'node:fs';
|
|
5
4
|
import { join } from 'node:path';
|
|
6
5
|
import { tmpdir } from 'node:os';
|
|
6
|
+
import { describe, it } from 'node:test';
|
|
7
7
|
import { generateAgentToml, installNativeAgentConfigs } from '../native-config.js';
|
|
8
8
|
describe('agents/native-config', () => {
|
|
9
9
|
it('generates TOML with stripped frontmatter and escaped triple quotes', () => {
|
|
10
10
|
const agent = {
|
|
11
11
|
name: 'executor',
|
|
12
12
|
description: 'Code implementation',
|
|
13
|
-
|
|
13
|
+
reasoningEffort: 'medium',
|
|
14
|
+
posture: 'deep-worker',
|
|
15
|
+
modelClass: 'standard',
|
|
16
|
+
routingRole: 'executor',
|
|
14
17
|
tools: 'execution',
|
|
15
18
|
category: 'build',
|
|
16
19
|
};
|
|
@@ -20,6 +23,8 @@ describe('agents/native-config', () => {
|
|
|
20
23
|
assert.match(toml, /model_reasoning_effort = "medium"/);
|
|
21
24
|
assert.ok(!toml.includes('title: demo'));
|
|
22
25
|
assert.ok(toml.includes('Instruction line'));
|
|
26
|
+
assert.ok(toml.includes('You are operating in the deep-worker posture.'));
|
|
27
|
+
assert.ok(toml.includes('- posture: deep-worker'));
|
|
23
28
|
const tripleQuoteBlocks = toml.match(/"""/g) || [];
|
|
24
29
|
assert.equal(tripleQuoteBlocks.length, 2, 'only TOML delimiters should remain as raw triple quotes');
|
|
25
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-config.test.js","sourceRoot":"","sources":["../../../src/agents/__tests__/native-config.test.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"native-config.test.js","sourceRoot":"","sources":["../../../src/agents/__tests__/native-config.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agent role definitions for oh-my-codex
|
|
3
|
-
* Each agent has a name, description, default
|
|
3
|
+
* Each agent has a name, description, default reasoning effort, and tool access pattern.
|
|
4
4
|
* Prompt content is loaded from the prompts/ directory at runtime.
|
|
5
5
|
*/
|
|
6
6
|
export interface AgentDefinition {
|
|
7
7
|
name: string;
|
|
8
8
|
description: string;
|
|
9
|
-
|
|
9
|
+
reasoningEffort: 'low' | 'medium' | 'high';
|
|
10
|
+
posture: 'frontier-orchestrator' | 'deep-worker' | 'fast-lane';
|
|
11
|
+
modelClass: 'frontier' | 'standard' | 'fast';
|
|
12
|
+
routingRole: 'leader' | 'specialist' | 'executor';
|
|
10
13
|
/** Tool access pattern */
|
|
11
14
|
tools: 'read-only' | 'analysis' | 'execution' | 'data';
|
|
12
15
|
/** Category for grouping */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,OAAO,EAAE,uBAAuB,GAAG,aAAa,GAAG,WAAW,CAAC;IAC/D,UAAU,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAC7C,WAAW,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;IAClD,0BAA0B;IAC1B,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IACvD,4BAA4B;IAC5B,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC;CACtE;AAaD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAmS7D,CAAC;AAEF,mCAAmC;AACnC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAElE;AAED,mCAAmC;AACnC,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,eAAe,EAAE,CAE5F;AAED,0BAA0B;AAC1B,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agent role definitions for oh-my-codex
|
|
3
|
-
* Each agent has a name, description, default
|
|
3
|
+
* Each agent has a name, description, default reasoning effort, and tool access pattern.
|
|
4
4
|
* Prompt content is loaded from the prompts/ directory at runtime.
|
|
5
5
|
*/
|
|
6
6
|
const EXECUTOR_AGENT = {
|
|
7
7
|
name: 'executor',
|
|
8
8
|
description: 'Code implementation, refactoring, feature work',
|
|
9
|
-
|
|
9
|
+
reasoningEffort: 'medium',
|
|
10
|
+
posture: 'deep-worker',
|
|
11
|
+
modelClass: 'standard',
|
|
12
|
+
routingRole: 'executor',
|
|
10
13
|
tools: 'execution',
|
|
11
14
|
category: 'build',
|
|
12
15
|
};
|
|
@@ -15,35 +18,50 @@ export const AGENT_DEFINITIONS = {
|
|
|
15
18
|
'explore': {
|
|
16
19
|
name: 'explore',
|
|
17
20
|
description: 'Fast codebase search and file/symbol mapping',
|
|
18
|
-
|
|
21
|
+
reasoningEffort: 'low',
|
|
22
|
+
posture: 'fast-lane',
|
|
23
|
+
modelClass: 'fast',
|
|
24
|
+
routingRole: 'specialist',
|
|
19
25
|
tools: 'read-only',
|
|
20
26
|
category: 'build',
|
|
21
27
|
},
|
|
22
28
|
'analyst': {
|
|
23
29
|
name: 'analyst',
|
|
24
30
|
description: 'Requirements clarity, acceptance criteria, hidden constraints',
|
|
25
|
-
|
|
31
|
+
reasoningEffort: 'high',
|
|
32
|
+
posture: 'frontier-orchestrator',
|
|
33
|
+
modelClass: 'frontier',
|
|
34
|
+
routingRole: 'leader',
|
|
26
35
|
tools: 'analysis',
|
|
27
36
|
category: 'build',
|
|
28
37
|
},
|
|
29
38
|
'planner': {
|
|
30
39
|
name: 'planner',
|
|
31
40
|
description: 'Task sequencing, execution plans, risk flags',
|
|
32
|
-
|
|
41
|
+
reasoningEffort: 'high',
|
|
42
|
+
posture: 'frontier-orchestrator',
|
|
43
|
+
modelClass: 'frontier',
|
|
44
|
+
routingRole: 'leader',
|
|
33
45
|
tools: 'analysis',
|
|
34
46
|
category: 'build',
|
|
35
47
|
},
|
|
36
48
|
'architect': {
|
|
37
49
|
name: 'architect',
|
|
38
50
|
description: 'System design, boundaries, interfaces, long-horizon tradeoffs',
|
|
39
|
-
|
|
51
|
+
reasoningEffort: 'high',
|
|
52
|
+
posture: 'frontier-orchestrator',
|
|
53
|
+
modelClass: 'frontier',
|
|
54
|
+
routingRole: 'leader',
|
|
40
55
|
tools: 'read-only',
|
|
41
56
|
category: 'build',
|
|
42
57
|
},
|
|
43
58
|
'debugger': {
|
|
44
59
|
name: 'debugger',
|
|
45
60
|
description: 'Root-cause analysis, regression isolation, failure diagnosis',
|
|
46
|
-
|
|
61
|
+
reasoningEffort: 'medium',
|
|
62
|
+
posture: 'deep-worker',
|
|
63
|
+
modelClass: 'standard',
|
|
64
|
+
routingRole: 'executor',
|
|
47
65
|
tools: 'analysis',
|
|
48
66
|
category: 'build',
|
|
49
67
|
},
|
|
@@ -51,7 +69,10 @@ export const AGENT_DEFINITIONS = {
|
|
|
51
69
|
'verifier': {
|
|
52
70
|
name: 'verifier',
|
|
53
71
|
description: 'Completion evidence, claim validation, test adequacy',
|
|
54
|
-
|
|
72
|
+
reasoningEffort: 'medium',
|
|
73
|
+
posture: 'frontier-orchestrator',
|
|
74
|
+
modelClass: 'standard',
|
|
75
|
+
routingRole: 'leader',
|
|
55
76
|
tools: 'analysis',
|
|
56
77
|
category: 'build',
|
|
57
78
|
},
|
|
@@ -59,42 +80,60 @@ export const AGENT_DEFINITIONS = {
|
|
|
59
80
|
'style-reviewer': {
|
|
60
81
|
name: 'style-reviewer',
|
|
61
82
|
description: 'Formatting, naming, idioms, lint conventions',
|
|
62
|
-
|
|
83
|
+
reasoningEffort: 'low',
|
|
84
|
+
posture: 'fast-lane',
|
|
85
|
+
modelClass: 'fast',
|
|
86
|
+
routingRole: 'specialist',
|
|
63
87
|
tools: 'read-only',
|
|
64
88
|
category: 'review',
|
|
65
89
|
},
|
|
66
90
|
'quality-reviewer': {
|
|
67
91
|
name: 'quality-reviewer',
|
|
68
92
|
description: 'Logic defects, maintainability, anti-patterns',
|
|
69
|
-
|
|
93
|
+
reasoningEffort: 'medium',
|
|
94
|
+
posture: 'frontier-orchestrator',
|
|
95
|
+
modelClass: 'standard',
|
|
96
|
+
routingRole: 'leader',
|
|
70
97
|
tools: 'read-only',
|
|
71
98
|
category: 'review',
|
|
72
99
|
},
|
|
73
100
|
'api-reviewer': {
|
|
74
101
|
name: 'api-reviewer',
|
|
75
102
|
description: 'API contracts, versioning, backward compatibility',
|
|
76
|
-
|
|
103
|
+
reasoningEffort: 'medium',
|
|
104
|
+
posture: 'frontier-orchestrator',
|
|
105
|
+
modelClass: 'standard',
|
|
106
|
+
routingRole: 'leader',
|
|
77
107
|
tools: 'read-only',
|
|
78
108
|
category: 'review',
|
|
79
109
|
},
|
|
80
110
|
'security-reviewer': {
|
|
81
111
|
name: 'security-reviewer',
|
|
82
112
|
description: 'Vulnerabilities, trust boundaries, authn/authz',
|
|
83
|
-
|
|
113
|
+
reasoningEffort: 'medium',
|
|
114
|
+
posture: 'frontier-orchestrator',
|
|
115
|
+
modelClass: 'standard',
|
|
116
|
+
routingRole: 'leader',
|
|
84
117
|
tools: 'read-only',
|
|
85
118
|
category: 'review',
|
|
86
119
|
},
|
|
87
120
|
'performance-reviewer': {
|
|
88
121
|
name: 'performance-reviewer',
|
|
89
122
|
description: 'Hotspots, complexity, memory/latency optimization',
|
|
90
|
-
|
|
123
|
+
reasoningEffort: 'medium',
|
|
124
|
+
posture: 'frontier-orchestrator',
|
|
125
|
+
modelClass: 'standard',
|
|
126
|
+
routingRole: 'leader',
|
|
91
127
|
tools: 'read-only',
|
|
92
128
|
category: 'review',
|
|
93
129
|
},
|
|
94
130
|
'code-reviewer': {
|
|
95
131
|
name: 'code-reviewer',
|
|
96
132
|
description: 'Comprehensive review across all concerns',
|
|
97
|
-
|
|
133
|
+
reasoningEffort: 'high',
|
|
134
|
+
posture: 'frontier-orchestrator',
|
|
135
|
+
modelClass: 'frontier',
|
|
136
|
+
routingRole: 'leader',
|
|
98
137
|
tools: 'read-only',
|
|
99
138
|
category: 'review',
|
|
100
139
|
},
|
|
@@ -102,70 +141,100 @@ export const AGENT_DEFINITIONS = {
|
|
|
102
141
|
'dependency-expert': {
|
|
103
142
|
name: 'dependency-expert',
|
|
104
143
|
description: 'External SDK/API/package evaluation',
|
|
105
|
-
|
|
144
|
+
reasoningEffort: 'medium',
|
|
145
|
+
posture: 'frontier-orchestrator',
|
|
146
|
+
modelClass: 'standard',
|
|
147
|
+
routingRole: 'specialist',
|
|
106
148
|
tools: 'analysis',
|
|
107
149
|
category: 'domain',
|
|
108
150
|
},
|
|
109
151
|
'test-engineer': {
|
|
110
152
|
name: 'test-engineer',
|
|
111
153
|
description: 'Test strategy, coverage, flaky-test hardening',
|
|
112
|
-
|
|
154
|
+
reasoningEffort: 'medium',
|
|
155
|
+
posture: 'deep-worker',
|
|
156
|
+
modelClass: 'standard',
|
|
157
|
+
routingRole: 'executor',
|
|
113
158
|
tools: 'execution',
|
|
114
159
|
category: 'domain',
|
|
115
160
|
},
|
|
116
161
|
'quality-strategist': {
|
|
117
162
|
name: 'quality-strategist',
|
|
118
163
|
description: 'Quality strategy, release readiness, risk assessment',
|
|
119
|
-
|
|
164
|
+
reasoningEffort: 'medium',
|
|
165
|
+
posture: 'frontier-orchestrator',
|
|
166
|
+
modelClass: 'standard',
|
|
167
|
+
routingRole: 'leader',
|
|
120
168
|
tools: 'analysis',
|
|
121
169
|
category: 'domain',
|
|
122
170
|
},
|
|
123
171
|
'build-fixer': {
|
|
124
172
|
name: 'build-fixer',
|
|
125
173
|
description: 'Build/toolchain/type failures resolution',
|
|
126
|
-
|
|
174
|
+
reasoningEffort: 'medium',
|
|
175
|
+
posture: 'deep-worker',
|
|
176
|
+
modelClass: 'standard',
|
|
177
|
+
routingRole: 'executor',
|
|
127
178
|
tools: 'execution',
|
|
128
179
|
category: 'domain',
|
|
129
180
|
},
|
|
130
181
|
'designer': {
|
|
131
182
|
name: 'designer',
|
|
132
183
|
description: 'UX/UI architecture, interaction design',
|
|
133
|
-
|
|
184
|
+
reasoningEffort: 'medium',
|
|
185
|
+
posture: 'deep-worker',
|
|
186
|
+
modelClass: 'standard',
|
|
187
|
+
routingRole: 'executor',
|
|
134
188
|
tools: 'execution',
|
|
135
189
|
category: 'domain',
|
|
136
190
|
},
|
|
137
191
|
'writer': {
|
|
138
192
|
name: 'writer',
|
|
139
193
|
description: 'Documentation, migration notes, user guidance',
|
|
140
|
-
|
|
194
|
+
reasoningEffort: 'low',
|
|
195
|
+
posture: 'fast-lane',
|
|
196
|
+
modelClass: 'fast',
|
|
197
|
+
routingRole: 'specialist',
|
|
141
198
|
tools: 'execution',
|
|
142
199
|
category: 'domain',
|
|
143
200
|
},
|
|
144
201
|
'qa-tester': {
|
|
145
202
|
name: 'qa-tester',
|
|
146
203
|
description: 'Interactive CLI/service runtime validation',
|
|
147
|
-
|
|
204
|
+
reasoningEffort: 'medium',
|
|
205
|
+
posture: 'deep-worker',
|
|
206
|
+
modelClass: 'standard',
|
|
207
|
+
routingRole: 'executor',
|
|
148
208
|
tools: 'execution',
|
|
149
209
|
category: 'domain',
|
|
150
210
|
},
|
|
151
211
|
'git-master': {
|
|
152
212
|
name: 'git-master',
|
|
153
213
|
description: 'Commit strategy, history hygiene, rebasing',
|
|
154
|
-
|
|
214
|
+
reasoningEffort: 'medium',
|
|
215
|
+
posture: 'deep-worker',
|
|
216
|
+
modelClass: 'standard',
|
|
217
|
+
routingRole: 'executor',
|
|
155
218
|
tools: 'execution',
|
|
156
219
|
category: 'domain',
|
|
157
220
|
},
|
|
158
221
|
'code-simplifier': {
|
|
159
222
|
name: 'code-simplifier',
|
|
160
223
|
description: 'Simplifies recently modified code for clarity and consistency without changing behavior',
|
|
161
|
-
|
|
224
|
+
reasoningEffort: 'high',
|
|
225
|
+
posture: 'deep-worker',
|
|
226
|
+
modelClass: 'frontier',
|
|
227
|
+
routingRole: 'executor',
|
|
162
228
|
tools: 'execution',
|
|
163
229
|
category: 'domain',
|
|
164
230
|
},
|
|
165
231
|
'researcher': {
|
|
166
232
|
name: 'researcher',
|
|
167
233
|
description: 'External documentation and reference research',
|
|
168
|
-
|
|
234
|
+
reasoningEffort: 'medium',
|
|
235
|
+
posture: 'fast-lane',
|
|
236
|
+
modelClass: 'standard',
|
|
237
|
+
routingRole: 'specialist',
|
|
169
238
|
tools: 'analysis',
|
|
170
239
|
category: 'domain',
|
|
171
240
|
},
|
|
@@ -173,28 +242,40 @@ export const AGENT_DEFINITIONS = {
|
|
|
173
242
|
'product-manager': {
|
|
174
243
|
name: 'product-manager',
|
|
175
244
|
description: 'Problem framing, personas/JTBD, PRDs',
|
|
176
|
-
|
|
245
|
+
reasoningEffort: 'medium',
|
|
246
|
+
posture: 'frontier-orchestrator',
|
|
247
|
+
modelClass: 'standard',
|
|
248
|
+
routingRole: 'leader',
|
|
177
249
|
tools: 'analysis',
|
|
178
250
|
category: 'product',
|
|
179
251
|
},
|
|
180
252
|
'ux-researcher': {
|
|
181
253
|
name: 'ux-researcher',
|
|
182
254
|
description: 'Heuristic audits, usability, accessibility',
|
|
183
|
-
|
|
255
|
+
reasoningEffort: 'medium',
|
|
256
|
+
posture: 'frontier-orchestrator',
|
|
257
|
+
modelClass: 'standard',
|
|
258
|
+
routingRole: 'specialist',
|
|
184
259
|
tools: 'analysis',
|
|
185
260
|
category: 'product',
|
|
186
261
|
},
|
|
187
262
|
'information-architect': {
|
|
188
263
|
name: 'information-architect',
|
|
189
264
|
description: 'Taxonomy, navigation, findability',
|
|
190
|
-
|
|
265
|
+
reasoningEffort: 'medium',
|
|
266
|
+
posture: 'frontier-orchestrator',
|
|
267
|
+
modelClass: 'standard',
|
|
268
|
+
routingRole: 'specialist',
|
|
191
269
|
tools: 'analysis',
|
|
192
270
|
category: 'product',
|
|
193
271
|
},
|
|
194
272
|
'product-analyst': {
|
|
195
273
|
name: 'product-analyst',
|
|
196
274
|
description: 'Product metrics, funnel analysis, experiments',
|
|
197
|
-
|
|
275
|
+
reasoningEffort: 'medium',
|
|
276
|
+
posture: 'frontier-orchestrator',
|
|
277
|
+
modelClass: 'standard',
|
|
278
|
+
routingRole: 'specialist',
|
|
198
279
|
tools: 'analysis',
|
|
199
280
|
category: 'product',
|
|
200
281
|
},
|
|
@@ -202,14 +283,20 @@ export const AGENT_DEFINITIONS = {
|
|
|
202
283
|
'critic': {
|
|
203
284
|
name: 'critic',
|
|
204
285
|
description: 'Plan/design critical challenge and review',
|
|
205
|
-
|
|
286
|
+
reasoningEffort: 'high',
|
|
287
|
+
posture: 'frontier-orchestrator',
|
|
288
|
+
modelClass: 'frontier',
|
|
289
|
+
routingRole: 'leader',
|
|
206
290
|
tools: 'read-only',
|
|
207
291
|
category: 'coordination',
|
|
208
292
|
},
|
|
209
293
|
'vision': {
|
|
210
294
|
name: 'vision',
|
|
211
295
|
description: 'Image/screenshot/diagram analysis',
|
|
212
|
-
|
|
296
|
+
reasoningEffort: 'medium',
|
|
297
|
+
posture: 'fast-lane',
|
|
298
|
+
modelClass: 'standard',
|
|
299
|
+
routingRole: 'specialist',
|
|
213
300
|
tools: 'read-only',
|
|
214
301
|
category: 'coordination',
|
|
215
302
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/agents/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-config.d.ts","sourceRoot":"","sources":["../../src/agents/native-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAqB,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"native-config.d.ts","sourceRoot":"","sources":["../../src/agents/native-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAqB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AA+FtE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAavF;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACzF,OAAO,CAAC,MAAM,CAAC,CAsCjB"}
|
|
@@ -2,17 +2,80 @@
|
|
|
2
2
|
* Native agent config generator for Codex CLI multi-agent roles
|
|
3
3
|
* Generates per-agent .toml files at ~/.omx/agents/<name>.toml
|
|
4
4
|
*/
|
|
5
|
-
import { readFile, writeFile, mkdir } from 'fs/promises';
|
|
6
|
-
import { join } from 'path';
|
|
7
5
|
import { existsSync } from 'fs';
|
|
6
|
+
import { mkdir, readFile, writeFile } from 'fs/promises';
|
|
7
|
+
import { join } from 'path';
|
|
8
8
|
import { AGENT_DEFINITIONS } from './definitions.js';
|
|
9
9
|
import { omxAgentsConfigDir } from '../utils/paths.js';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
const POSTURE_OVERLAYS = {
|
|
11
|
+
'frontier-orchestrator': [
|
|
12
|
+
'## OMX Posture Overlay',
|
|
13
|
+
'',
|
|
14
|
+
'You are operating in the frontier-orchestrator posture.',
|
|
15
|
+
'- Prioritize intent classification before implementation.',
|
|
16
|
+
'- Default to delegation and orchestration when specialists exist.',
|
|
17
|
+
'- Treat the first decision as a routing problem: research vs planning vs implementation vs verification.',
|
|
18
|
+
'- Challenge flawed user assumptions concisely before execution when the design is likely to cause avoidable problems.',
|
|
19
|
+
'- Preserve explicit executor handoff boundaries: do not absorb deep implementation work when a specialized executor is more appropriate.',
|
|
20
|
+
].join('\n'),
|
|
21
|
+
'deep-worker': [
|
|
22
|
+
'## OMX Posture Overlay',
|
|
23
|
+
'',
|
|
24
|
+
'You are operating in the deep-worker posture.',
|
|
25
|
+
'- Once the task is clearly implementation-oriented, bias toward direct execution and end-to-end completion.',
|
|
26
|
+
'- Explore first, then implement minimal changes that match existing patterns.',
|
|
27
|
+
'- Keep verification strict: diagnostics, tests, and build evidence are mandatory before claiming completion.',
|
|
28
|
+
'- Escalate only after materially different approaches fail or when architecture tradeoffs exceed local implementation scope.',
|
|
29
|
+
].join('\n'),
|
|
30
|
+
'fast-lane': [
|
|
31
|
+
'## OMX Posture Overlay',
|
|
32
|
+
'',
|
|
33
|
+
'You are operating in the fast-lane posture.',
|
|
34
|
+
'- Optimize for fast triage, search, lightweight synthesis, and narrow routing decisions.',
|
|
35
|
+
'- Do not start deep implementation unless the task is tightly bounded and obvious.',
|
|
36
|
+
'- If the task expands beyond quick classification or lightweight execution, escalate to a frontier-orchestrator or deep-worker role.',
|
|
37
|
+
'- Keep responses concise, scope-aware, and conservative under ambiguity.',
|
|
38
|
+
].join('\n'),
|
|
39
|
+
};
|
|
40
|
+
const MODEL_CLASS_OVERLAYS = {
|
|
41
|
+
frontier: [
|
|
42
|
+
'## Model-Class Guidance',
|
|
43
|
+
'',
|
|
44
|
+
'This role is tuned for frontier-class models.',
|
|
45
|
+
'- Use the model\'s steerability for coordination, tradeoff reasoning, and precise delegation.',
|
|
46
|
+
'- Favor clean routing decisions over impulsive implementation.',
|
|
47
|
+
].join('\n'),
|
|
48
|
+
standard: [
|
|
49
|
+
'## Model-Class Guidance',
|
|
50
|
+
'',
|
|
51
|
+
'This role is tuned for standard-capability models.',
|
|
52
|
+
'- Balance autonomy with clear boundaries.',
|
|
53
|
+
'- Prefer explicit verification and narrow scope control over speculative reasoning.',
|
|
54
|
+
].join('\n'),
|
|
55
|
+
fast: [
|
|
56
|
+
'## Model-Class Guidance',
|
|
57
|
+
'',
|
|
58
|
+
'This role is tuned for fast/low-latency models.',
|
|
59
|
+
'- Prefer quick search, synthesis, and routing over prolonged reasoning.',
|
|
60
|
+
'- Escalate rather than bluff when deeper work is required.',
|
|
61
|
+
].join('\n'),
|
|
15
62
|
};
|
|
63
|
+
function buildPromptInstructions(agent, promptContent) {
|
|
64
|
+
const instructions = stripFrontmatter(promptContent);
|
|
65
|
+
return [
|
|
66
|
+
instructions,
|
|
67
|
+
'',
|
|
68
|
+
POSTURE_OVERLAYS[agent.posture],
|
|
69
|
+
'',
|
|
70
|
+
MODEL_CLASS_OVERLAYS[agent.modelClass],
|
|
71
|
+
'',
|
|
72
|
+
`## OMX Agent Metadata`,
|
|
73
|
+
`- role: ${agent.name}`,
|
|
74
|
+
`- posture: ${agent.posture}`,
|
|
75
|
+
`- model_class: ${agent.modelClass}`,
|
|
76
|
+
`- routing_role: ${agent.routingRole}`,
|
|
77
|
+
].join('\n');
|
|
78
|
+
}
|
|
16
79
|
/**
|
|
17
80
|
* Strip YAML frontmatter (between --- markers) from markdown content
|
|
18
81
|
*/
|
|
@@ -35,8 +98,8 @@ function escapeTomlMultiline(s) {
|
|
|
35
98
|
* Generate TOML content for a single agent config file
|
|
36
99
|
*/
|
|
37
100
|
export function generateAgentToml(agent, promptContent) {
|
|
38
|
-
const instructions =
|
|
39
|
-
const effort =
|
|
101
|
+
const instructions = buildPromptInstructions(agent, promptContent);
|
|
102
|
+
const effort = agent.reasoningEffort;
|
|
40
103
|
const escaped = escapeTomlMultiline(instructions);
|
|
41
104
|
return [
|
|
42
105
|
`# oh-my-codex agent: ${agent.name}`,
|