oh-my-customcode 0.17.1 → 0.18.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.
- package/package.json +1 -1
- package/templates/.claude/skills/codex-exec/SKILL.md +29 -1
- package/templates/.claude/skills/codex-exec/scripts/codex-wrapper.cjs +17 -0
- package/templates/.claude/skills/intent-detection/SKILL.md +62 -0
- package/templates/.claude/skills/intent-detection/patterns/agent-triggers.yaml +36 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: codex-exec
|
|
3
3
|
description: Execute OpenAI Codex CLI prompts and return results
|
|
4
|
-
argument-hint: "<prompt> [--json] [--output <path>] [--model <name>] [--timeout <ms>]"
|
|
4
|
+
argument-hint: "<prompt> [--json] [--output <path>] [--model <name>] [--timeout <ms>] [--effort <level>]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Codex Exec Skill
|
|
@@ -18,6 +18,10 @@ Execute OpenAI Codex CLI prompts in non-interactive mode and return structured r
|
|
|
18
18
|
--timeout <ms> Execution timeout (default: 120000, max: 600000)
|
|
19
19
|
--full-auto Enable auto-approval mode (codex -a full-auto)
|
|
20
20
|
--working-dir Working directory for Codex execution
|
|
21
|
+
--effort <level> Set reasoning effort level (minimal, low, medium, high, xhigh)
|
|
22
|
+
Maps to Codex CLI's model_reasoning_effort config
|
|
23
|
+
Default: uses Codex CLI's configured default
|
|
24
|
+
Recommended: xhigh for research/analysis tasks
|
|
21
25
|
```
|
|
22
26
|
|
|
23
27
|
## Workflow
|
|
@@ -147,3 +151,27 @@ Orchestrator delegates generation task
|
|
|
147
151
|
→ Reviewer validates quality
|
|
148
152
|
→ Iterate if needed
|
|
149
153
|
```
|
|
154
|
+
|
|
155
|
+
## Research Workflow
|
|
156
|
+
|
|
157
|
+
When the orchestrator detects a research/information gathering request:
|
|
158
|
+
|
|
159
|
+
1. **Check Codex availability**: Verify `codex` binary and `OPENAI_API_KEY`
|
|
160
|
+
2. **If available**: Execute with xhigh reasoning effort for thorough research
|
|
161
|
+
3. **If unavailable**: Fall back to Claude's WebFetch/WebSearch
|
|
162
|
+
|
|
163
|
+
### Research Command Pattern
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
/codex-exec "Research and analyze: {topic}. Provide structured findings with sources." --effort xhigh --full-auto --json
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### Effort Level Guide
|
|
170
|
+
|
|
171
|
+
| Level | Use Case | Speed | Depth |
|
|
172
|
+
|-------|----------|-------|-------|
|
|
173
|
+
| minimal | Quick lookups | Fastest | Surface |
|
|
174
|
+
| low | Simple queries | Fast | Basic |
|
|
175
|
+
| medium | General tasks | Balanced | Standard |
|
|
176
|
+
| high | Complex analysis | Slower | Deep |
|
|
177
|
+
| xhigh | Research & investigation | Slowest | Maximum |
|
|
@@ -51,6 +51,7 @@ function parseArgs() {
|
|
|
51
51
|
timeout: DEFAULT_TIMEOUT_MS,
|
|
52
52
|
fullAuto: false,
|
|
53
53
|
workingDir: null,
|
|
54
|
+
effort: null,
|
|
54
55
|
};
|
|
55
56
|
|
|
56
57
|
for (let i = 2; i < process.argv.length; i++) {
|
|
@@ -91,6 +92,12 @@ function parseArgs() {
|
|
|
91
92
|
args.workingDir = process.argv[++i];
|
|
92
93
|
}
|
|
93
94
|
break;
|
|
95
|
+
case '--effort':
|
|
96
|
+
case '--reasoning-effort':
|
|
97
|
+
if (i + 1 < process.argv.length) {
|
|
98
|
+
args.effort = process.argv[++i];
|
|
99
|
+
}
|
|
100
|
+
break;
|
|
94
101
|
}
|
|
95
102
|
}
|
|
96
103
|
|
|
@@ -160,6 +167,16 @@ function buildCommand(options) {
|
|
|
160
167
|
args.push('-C', options.workingDir);
|
|
161
168
|
}
|
|
162
169
|
|
|
170
|
+
// Reasoning effort (maps to -c model_reasoning_effort="value")
|
|
171
|
+
if (options.effort) {
|
|
172
|
+
const validEfforts = ['minimal', 'low', 'medium', 'high', 'xhigh'];
|
|
173
|
+
if (validEfforts.includes(options.effort)) {
|
|
174
|
+
args.push('-c', `model_reasoning_effort="${options.effort}"`);
|
|
175
|
+
} else {
|
|
176
|
+
process.stderr.write(`Warning: Invalid effort level "${options.effort}". Valid: ${validEfforts.join(', ')}\n`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
163
180
|
// Add prompt as last argument
|
|
164
181
|
args.push(options.prompt);
|
|
165
182
|
|
|
@@ -228,3 +228,65 @@ intent_detection:
|
|
|
228
228
|
max_alternatives: 3
|
|
229
229
|
korean_support: true
|
|
230
230
|
```
|
|
231
|
+
|
|
232
|
+
## Research Intent Routing
|
|
233
|
+
|
|
234
|
+
When a research/information gathering intent is detected:
|
|
235
|
+
|
|
236
|
+
### Detection Keywords
|
|
237
|
+
|
|
238
|
+
```yaml
|
|
239
|
+
# Korean
|
|
240
|
+
korean:
|
|
241
|
+
- "조사" → research
|
|
242
|
+
- "검색" → search
|
|
243
|
+
- "리서치" → research
|
|
244
|
+
- "탐색" → explore
|
|
245
|
+
- "찾아" → look up
|
|
246
|
+
- "알아봐" → find out
|
|
247
|
+
- "자료" → gather materials
|
|
248
|
+
- "정보 수집" → gather information
|
|
249
|
+
|
|
250
|
+
# English
|
|
251
|
+
english:
|
|
252
|
+
- "research"
|
|
253
|
+
- "investigate"
|
|
254
|
+
- "search for"
|
|
255
|
+
- "look up"
|
|
256
|
+
- "gather information"
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### Routing Logic
|
|
260
|
+
|
|
261
|
+
```
|
|
262
|
+
Research intent detected (confidence >= 70%)
|
|
263
|
+
↓
|
|
264
|
+
Check Codex CLI availability
|
|
265
|
+
├─ Available (codex binary + OPENAI_API_KEY)
|
|
266
|
+
│ → Use codex-exec skill with --effort xhigh
|
|
267
|
+
│ → Prompt: "Research and analyze: {user_request}"
|
|
268
|
+
│ → Returns: structured findings for orchestrator
|
|
269
|
+
└─ Unavailable
|
|
270
|
+
→ Fall back to Claude's WebFetch/WebSearch
|
|
271
|
+
→ Orchestrator handles directly or via general-purpose agent
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
### Confidence Scoring
|
|
275
|
+
|
|
276
|
+
| Factor | Weight | Example |
|
|
277
|
+
|--------|--------|---------|
|
|
278
|
+
| Research keyword match | +40 | "조사해줘", "research" |
|
|
279
|
+
| Action verb match | +30 | "찾아", "investigate" |
|
|
280
|
+
| URL/topic present | +20 | specific URL or topic mentioned |
|
|
281
|
+
| Context (previous research) | +10 | follow-up research request |
|
|
282
|
+
|
|
283
|
+
### Output Format
|
|
284
|
+
|
|
285
|
+
```
|
|
286
|
+
[Intent Detected]
|
|
287
|
+
├── Input: "{user input}"
|
|
288
|
+
├── Workflow: research-workflow
|
|
289
|
+
├── Confidence: {percentage}%
|
|
290
|
+
├── Method: codex-exec (xhigh) | WebFetch fallback
|
|
291
|
+
└── Reason: {explanation}
|
|
292
|
+
```
|
|
@@ -288,6 +288,42 @@ agents:
|
|
|
288
288
|
supported_actions: [save, recall, remember]
|
|
289
289
|
base_confidence: 40
|
|
290
290
|
|
|
291
|
+
# ---------------------------------------------------------------------------
|
|
292
|
+
# Research / Information Gathering (skill-based, not agent)
|
|
293
|
+
# ---------------------------------------------------------------------------
|
|
294
|
+
research-workflow:
|
|
295
|
+
keywords:
|
|
296
|
+
korean:
|
|
297
|
+
- 조사
|
|
298
|
+
- 검색
|
|
299
|
+
- 리서치
|
|
300
|
+
- 탐색
|
|
301
|
+
- 찾아
|
|
302
|
+
- 알아봐
|
|
303
|
+
- 자료
|
|
304
|
+
- 정보 수집
|
|
305
|
+
- 웹에서
|
|
306
|
+
english:
|
|
307
|
+
- research
|
|
308
|
+
- investigate
|
|
309
|
+
- search for
|
|
310
|
+
- look up
|
|
311
|
+
- gather information
|
|
312
|
+
- web fetch
|
|
313
|
+
- find out
|
|
314
|
+
- explore topic
|
|
315
|
+
file_patterns: []
|
|
316
|
+
supported_actions:
|
|
317
|
+
- search
|
|
318
|
+
- fetch
|
|
319
|
+
- investigate
|
|
320
|
+
- research
|
|
321
|
+
- analyze
|
|
322
|
+
- gather
|
|
323
|
+
base_confidence: 50
|
|
324
|
+
action_weight: 30
|
|
325
|
+
routing_note: "Uses codex-exec skill with xhigh effort when available, falls back to WebFetch/WebSearch"
|
|
326
|
+
|
|
291
327
|
# Managers (continued)
|
|
292
328
|
mgr-gitnerd:
|
|
293
329
|
keywords:
|