oh-my-customcode 0.12.4 → 0.13.1

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 (34) hide show
  1. package/README.md +1 -0
  2. package/dist/index.js +0 -16
  3. package/package.json +1 -1
  4. package/templates/.claude/agents/arch-documenter.md +0 -1
  5. package/templates/.claude/agents/arch-speckit-agent.md +0 -1
  6. package/templates/.claude/agents/be-express-expert.md +0 -1
  7. package/templates/.claude/agents/be-nestjs-expert.md +0 -1
  8. package/templates/.claude/agents/db-supabase-expert.md +2 -2
  9. package/templates/.claude/agents/fe-svelte-agent.md +0 -1
  10. package/templates/.claude/agents/fe-vuejs-agent.md +0 -1
  11. package/templates/.claude/agents/lang-java21-expert.md +0 -1
  12. package/templates/.claude/agents/mgr-creator.md +15 -0
  13. package/templates/.claude/agents/mgr-gitnerd.md +0 -1
  14. package/templates/.claude/agents/qa-engineer.md +0 -1
  15. package/templates/.claude/agents/qa-planner.md +0 -1
  16. package/templates/.claude/agents/qa-writer.md +0 -1
  17. package/templates/.claude/agents/sys-naggy.md +0 -1
  18. package/templates/.claude/agents/tool-bun-expert.md +0 -1
  19. package/templates/.claude/rules/MUST-continuous-improvement.md +1 -1
  20. package/templates/.claude/rules/MUST-intent-transparency.md +1 -1
  21. package/templates/.claude/rules/MUST-orchestrator-coordination.md +79 -3
  22. package/templates/.claude/rules/MUST-sync-verification.md +1 -1
  23. package/templates/.claude/rules/SHOULD-agent-teams.md +82 -14
  24. package/templates/.claude/rules/index.yaml +4 -4
  25. package/templates/.claude/skills/codex-exec/SKILL.md +27 -1
  26. package/templates/.claude/skills/create-agent/SKILL.md +1 -0
  27. package/templates/.claude/skills/de-lead-routing/SKILL.md +23 -0
  28. package/templates/.claude/skills/dev-lead-routing/SKILL.md +23 -0
  29. package/templates/.claude/skills/intent-detection/SKILL.md +16 -1
  30. package/templates/.claude/skills/qa-lead-routing/SKILL.md +22 -0
  31. package/templates/.claude/skills/secretary-routing/SKILL.md +20 -0
  32. package/templates/CLAUDE.md.en +24 -9
  33. package/templates/CLAUDE.md.ko +24 -9
  34. package/templates/manifest.json +2 -2
package/README.md CHANGED
@@ -26,6 +26,7 @@ Like oh-my-zsh transformed shell customization, oh-my-customcode makes personali
26
26
  | **Dead Simple Customization** | Create a folder + markdown file = new agent or skill |
27
27
  | **Mix and Match** | Use built-in components, create your own, or combine both |
28
28
  | **Non-Destructive** | Your customizations live alongside defaults, never overwritten |
29
+ | **Dynamic Agent Creation** | No matching expert? The system creates one on-the-fly, connecting relevant skills and guides |
29
30
 
30
31
  ## Quick Start
31
32
 
package/dist/index.js CHANGED
@@ -1,20 +1,4 @@
1
1
  import { createRequire } from "node:module";
2
- var __create = Object.create;
3
- var __getProtoOf = Object.getPrototypeOf;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __toESM = (mod, isNodeMode, target) => {
8
- target = mod != null ? __create(__getProtoOf(mod)) : {};
9
- const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
- for (let key of __getOwnPropNames(mod))
11
- if (!__hasOwnProp.call(to, key))
12
- __defProp(to, key, {
13
- get: () => mod[key],
14
- enumerable: true
15
- });
16
- return to;
17
- };
18
2
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
19
3
 
20
4
  // src/core/config.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-customcode",
3
- "version": "0.12.4",
3
+ "version": "0.13.1",
4
4
  "description": "Batteries-included agent harness for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {
@@ -4,7 +4,6 @@ description: Use for generating architecture documentation, API specifications (
4
4
  model: sonnet
5
5
  memory: project
6
6
  effort: high
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -4,7 +4,6 @@ description: Use for spec-driven development, transforming requirements into exe
4
4
  model: sonnet
5
5
  memory: project
6
6
  effort: high
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -4,7 +4,6 @@ description: Expert Express.js developer for production-ready Node.js APIs follo
4
4
  model: sonnet
5
5
  memory: project
6
6
  effort: high
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -4,7 +4,6 @@ description: Expert NestJS developer for opinionated, scalable Node.js applicati
4
4
  model: sonnet
5
5
  memory: project
6
6
  effort: high
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -4,6 +4,8 @@ description: Supabase and PostgreSQL expert. Use when working with Supabase proj
4
4
  model: sonnet
5
5
  memory: user
6
6
  effort: high
7
+ skills:
8
+ - supabase-postgres-best-practices
7
9
  tools:
8
10
  - Read
9
11
  - Write
@@ -11,8 +13,6 @@ tools:
11
13
  - Grep
12
14
  - Glob
13
15
  - Bash
14
- skills:
15
- - supabase-postgres-best-practices
16
16
  ---
17
17
 
18
18
  You are an expert in Supabase and PostgreSQL for performant, secure database-driven applications.
@@ -4,7 +4,6 @@ description: Use for Svelte compiler-based reactivity, reactive statements ($:),
4
4
  model: sonnet
5
5
  memory: project
6
6
  effort: medium
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -4,7 +4,6 @@ description: Use for Vue 3 Composition API development, single-file components,
4
4
  model: sonnet
5
5
  memory: project
6
6
  effort: medium
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -4,7 +4,6 @@ description: Expert Java 21 developer for modern Java with Virtual Threads, Patt
4
4
  model: sonnet
5
5
  memory: project
6
6
  effort: high
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -37,3 +37,18 @@ No registry update needed - agents auto-discovered from `.claude/agents/*.md`.
37
37
 
38
38
  - R000: All files in English
39
39
  - R006: Agent file = role/capabilities only; skills = instructions; guides = reference docs
40
+
41
+ ## Dynamic Creation Mode
42
+
43
+ When invoked as routing fallback (not explicit `/create-agent`):
44
+
45
+ 1. Receive context: detected domain, keywords, file patterns
46
+ 2. Auto-discover: scan `.claude/skills/` for matching skills
47
+ 3. Auto-connect: scan `guides/` for relevant reference docs
48
+ 4. Create minimal viable agent with:
49
+ - Detected skills and relevant guides
50
+ - `sonnet` model (default)
51
+ - `project` memory scope
52
+ 5. Agent is persisted (not ephemeral) for future reuse
53
+
54
+ Dynamic mode skips user confirmation and creates the agent immediately to fulfill the pending task.
@@ -4,7 +4,6 @@ description: Use when you need to handle Git operations and GitHub workflow mana
4
4
  model: sonnet
5
5
  memory: project
6
6
  effort: medium
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -4,7 +4,6 @@ description: Use when you need to execute tests based on detailed plans and docu
4
4
  model: sonnet
5
5
  memory: project
6
6
  effort: medium
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -4,7 +4,6 @@ description: Use when you need to create detailed QA plans from requirements and
4
4
  model: sonnet
5
5
  memory: project
6
6
  effort: high
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -4,7 +4,6 @@ description: Use when you need to create comprehensive QA documentation from det
4
4
  model: sonnet
5
5
  memory: project
6
6
  effort: medium
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -4,7 +4,6 @@ description: Use when you need TODO list management and task tracking with proac
4
4
  model: sonnet
5
5
  memory: local
6
6
  effort: low
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -4,7 +4,6 @@ description: Use for Bun runtime development, bunfig.toml configuration, Bun tes
4
4
  model: sonnet
5
5
  memory: project
6
6
  effort: medium
7
- skills: []
8
7
  tools:
9
8
  - Read
10
9
  - Write
@@ -1,6 +1,6 @@
1
1
  # [MUST] Continuous Improvement Rules
2
2
 
3
- > **Priority**: MUST | **ID**: R015 | **Trigger**: User points out rule violation
3
+ > **Priority**: MUST | **ID**: R016 | **Trigger**: User points out rule violation
4
4
 
5
5
  ## Core Rule
6
6
 
@@ -1,6 +1,6 @@
1
1
  # [MUST] Intent Transparency Rules
2
2
 
3
- > **Priority**: MUST | **ID**: R014
3
+ > **Priority**: MUST | **ID**: R015
4
4
 
5
5
  ## Core Rule
6
6
 
@@ -6,17 +6,74 @@
6
6
 
7
7
  The main conversation is the **sole orchestrator**. It uses routing skills to delegate tasks to subagents via the Task tool. Subagents CANNOT spawn other subagents.
8
8
 
9
+ **The orchestrator MUST NEVER directly write, edit, or create files. ALL file modifications MUST be delegated to appropriate subagents.**
10
+
11
+ ## Self-Check (Mandatory Before File Modification)
12
+
13
+ ```
14
+ ╔══════════════════════════════════════════════════════════════════╗
15
+ ║ BEFORE MODIFYING ANY FILE, ASK YOURSELF: ║
16
+ ║ ║
17
+ ║ 1. Am I the orchestrator (main conversation)? ║
18
+ ║ YES → I MUST NOT write/edit files directly ║
19
+ ║ NO → I am a subagent, proceed with task ║
20
+ ║ ║
21
+ ║ 2. Have I identified the correct specialized agent? ║
22
+ ║ YES → Delegate via Task tool ║
23
+ ║ NO → Check delegation table below ║
24
+ ║ ║
25
+ ║ 3. Am I about to use Write/Edit tool from orchestrator? ║
26
+ ║ YES → STOP. This is a VIOLATION. Delegate instead. ║
27
+ ║ NO → Good. Continue. ║
28
+ ║ ║
29
+ ║ If ANY answer is wrong → DO NOT PROCEED ║
30
+ ╚══════════════════════════════════════════════════════════════════╝
31
+ ```
32
+
9
33
  ## Architecture
10
34
 
11
35
  ```
12
36
  Main Conversation (orchestrator)
13
37
  ├─ secretary-routing → mgr-creator, mgr-updater, mgr-supplier, mgr-gitnerd, sys-memory-keeper
14
38
  ├─ dev-lead-routing → lang-*/be-*/fe-* experts
39
+ ├─ de-lead-routing → de-* experts
15
40
  └─ qa-lead-routing → qa-planner, qa-writer, qa-engineer
16
41
 
17
42
  Task tool spawns subagents (flat, no hierarchy)
18
43
  ```
19
44
 
45
+ ## Common Violations
46
+
47
+ ```
48
+ ❌ WRONG: Orchestrator writes files directly
49
+ Main conversation → Write("src/main.go", content)
50
+ Main conversation → Edit("package.json", old, new)
51
+
52
+ ✓ CORRECT: Orchestrator delegates to specialist
53
+ Main conversation → Task(lang-golang-expert) → Write("src/main.go", content)
54
+ Main conversation → Task(tool-npm-expert) → Edit("package.json", old, new)
55
+
56
+ ❌ WRONG: Orchestrator runs git commands directly
57
+ Main conversation → Bash("git commit -m 'fix'")
58
+ Main conversation → Bash("git push origin main")
59
+
60
+ ✓ CORRECT: Orchestrator delegates to mgr-gitnerd
61
+ Main conversation → Task(mgr-gitnerd) → git commit
62
+ Main conversation → Task(mgr-gitnerd) → git push
63
+
64
+ ❌ WRONG: Using general-purpose when specialist exists
65
+ Main conversation → Task(general-purpose) → "Write Go code"
66
+
67
+ ✓ CORRECT: Using the right specialist
68
+ Main conversation → Task(lang-golang-expert) → "Write Go code"
69
+
70
+ ❌ WRONG: Orchestrator creates files "just this once"
71
+ "It's just a small config file, I'll write it directly..."
72
+
73
+ ✓ CORRECT: Always delegate, no matter how small
74
+ Task(appropriate-agent) → create config file
75
+ ```
76
+
20
77
  ## Session Continuity
21
78
 
22
79
  After restart/compaction: re-read CLAUDE.md, all delegation rules still apply. Never write code directly from orchestrator.
@@ -40,11 +97,13 @@ After restart/compaction: re-read CLAUDE.md, all delegation rules still apply. N
40
97
  | Docker/Infra | infra-docker-expert |
41
98
  | AWS | infra-aws-expert |
42
99
  | Database schema | db-supabase-expert |
100
+ | Unmatched specialized task | mgr-creator → dynamic agent creation |
43
101
 
44
102
  **Rules:**
45
103
  - All file modifications MUST be delegated (orchestrator only uses Read/Glob/Grep)
46
104
  - Use specialized agents, not general-purpose, when one exists
47
105
  - general-purpose only for truly generic tasks (file moves, simple scripts)
106
+ - NO EXCEPTIONS for "small" or "quick" changes
48
107
 
49
108
  ### System Agents Reference
50
109
 
@@ -56,11 +115,28 @@ After restart/compaction: re-read CLAUDE.md, all delegation rules still apply. N
56
115
  ## Exception: Simple Tasks
57
116
 
58
117
  Subagent NOT required for:
59
- - Reading files for analysis
118
+ - Reading files for analysis (Read, Glob, Grep only)
60
119
  - Simple file searches
61
120
  - Direct questions answered by main conversation
62
121
 
63
- For specialized work, ALWAYS delegate to appropriate subagent.
122
+ **IMPORTANT:** "Simple" means READ-ONLY operations. If the task involves ANY file creation, modification, or deletion, it MUST be delegated. There is no "too small to delegate" exception for write operations.
123
+
124
+ ## Dynamic Agent Creation (No-Match Fallback)
125
+
126
+ When routing detects no matching agent for a specialized task:
127
+
128
+ 1. **Evaluate**: Is this a specialized task requiring domain expertise?
129
+ - YES → proceed to step 2
130
+ - NO → use general-purpose agent
131
+ 2. **Delegate**: Orchestrator delegates to `mgr-creator` with context:
132
+ - Detected domain keywords
133
+ - File patterns found
134
+ - Required capabilities
135
+ 3. **Create**: `mgr-creator` auto-discovers relevant skills/guides, creates agent
136
+ 4. **Execute**: Orchestrator uses newly created agent for the original task
137
+
138
+ This is the core oh-my-customcode philosophy:
139
+ > "No expert? CREATE one, connect knowledge, and USE it."
64
140
 
65
141
  ## Model Selection
66
142
 
@@ -117,7 +193,7 @@ The skill's WORKFLOW is followed, but git EXECUTION is delegated to mgr-gitnerd
117
193
 
118
194
  ## Agent Teams (when enabled)
119
195
 
120
- When `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`: use Agent Teams for 3+ agent coordinated tasks. See R017 for decision matrix. Task tool remains fallback for simple/independent tasks.
196
+ When `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`: prefer Agent Teams for 2+ agent coordinated tasks requiring shared state or inter-agent communication. See R018 for the decision matrix. Task tool remains fallback for simple/independent tasks.
121
197
 
122
198
  ## Announcement Format
123
199
 
@@ -1,6 +1,6 @@
1
1
  # [MUST] Sync Verification Rules
2
2
 
3
- > **Priority**: MUST - ENFORCED | **ID**: R016
3
+ > **Priority**: MUST - ENFORCED | **ID**: R017
4
4
 
5
5
  ## Core Rule
6
6
 
@@ -1,6 +1,6 @@
1
1
  # [SHOULD] Agent Teams Rules
2
2
 
3
- > **Priority**: SHOULD | **ID**: R017 | **Condition**: Agent Teams enabled locally
3
+ > **Priority**: SHOULD | **ID**: R018 | **Condition**: Agent Teams enabled locally
4
4
 
5
5
  ## Detection
6
6
 
@@ -8,32 +8,100 @@ Available when `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` or TeamCreate/SendMessag
8
8
 
9
9
  ## Decision Matrix
10
10
 
11
- | Scenario | Preferred |
12
- |----------|-----------|
13
- | Simple independent subtasks | Task Tool |
14
- | Multi-step with shared state | Agent Teams |
15
- | Research requiring discussion | Agent Teams |
16
- | Cost-sensitive batch ops | Task Tool |
17
- | Complex debugging across modules | Agent Teams |
18
- | Code review + fix cycle | Agent Teams |
19
- | Single file operations | Task Tool |
11
+ | Scenario | Preferred | Reason |
12
+ |----------|-----------|--------|
13
+ | Simple independent subtasks | Task Tool | Lower cost, no coordination overhead |
14
+ | Multi-step with shared state | **Agent Teams** | Shared task list, peer messaging |
15
+ | Research requiring discussion | **Agent Teams** | Iterative discovery, synthesis |
16
+ | Cost-sensitive batch ops | Task Tool | Minimal token overhead |
17
+ | Complex debugging across modules | **Agent Teams** | Cross-module state sharing |
18
+ | Code review + fix cycle | **Agent Teams** | Review → fix → re-review loop |
19
+ | Single file operations | Task Tool | Overkill for simple tasks |
20
+ | Dynamic agent creation + usage | **Agent Teams** | Create → test → iterate cycle |
20
21
 
21
- **Self-check before Task tool:** Is Agent Teams available? Does task need 3+ agents, shared state, or inter-agent communication? If yes, use Agent Teams.
22
+ **ACTIVELY prefer Agent Teams for qualifying tasks.** The coordination richness justifies the token cost for complex work.
23
+
24
+ ## Self-Check (Mandatory Before Task Tool)
25
+
26
+ BEFORE using Task tool for 2+ agent tasks, CHECK:
27
+
28
+ ```
29
+ ╔════════════════════════════════════════════════════════╗
30
+ ║ AGENT TEAMS CHECK: ║
31
+ ║ ║
32
+ ║ 1. Is Agent Teams available? ║
33
+ ║ 2. Does task need 3+ agents? ║
34
+ ║ 3. Do agents need shared state? ║
35
+ ║ 4. Is inter-agent communication needed? ║
36
+ ║ 5. Is there a review/fix/iterate cycle? ║
37
+ ║ ║
38
+ ║ If YES to #1 AND any of #2-#5 → USE Agent Teams ║
39
+ ╚════════════════════════════════════════════════════════╝
40
+ ```
22
41
 
23
42
  ## Team Patterns
24
43
 
44
+ ### Standard Patterns
45
+
25
46
  - **Research**: researcher-1 + researcher-2 + synthesizer
26
47
  - **Development**: implementer + reviewer + tester
27
48
  - **Debug**: investigator-1 + investigator-2 + fixer
28
49
 
50
+ ### Hybrid Patterns
51
+
52
+ - **Review+Fix**: reviewer + implementer (reviewer finds issues → implementer fixes → reviewer re-checks)
53
+ - **Create+Validate**: mgr-creator + qa-engineer (create agent → validate → iterate)
54
+ - **Multi-Expert**: expert-1 + expert-2 + coordinator (cross-domain tasks requiring multiple specialties)
55
+
56
+ ### Dynamic Patterns
57
+
58
+ - **Dynamic Creation**: mgr-creator + domain-expert (create new agent → immediately use for pending task)
59
+ - **Codex Hybrid**: codex-exec-agent + claude-reviewer (Codex generates → Claude reviews/refines)
60
+
61
+ ## Codex-Exec Integration
62
+
63
+ When both Agent Teams and codex-exec are available:
64
+
65
+ ```
66
+ Hybrid Workflow:
67
+ 1. Claude agent analyzes requirements
68
+ 2. codex-exec generates implementation (Codex strength: code generation)
69
+ 3. Claude agent reviews and refines (Claude strength: reasoning, quality)
70
+ 4. Iterate via team messaging until quality meets standards
71
+ ```
72
+
73
+ | Step | Agent | Model |
74
+ |------|-------|-------|
75
+ | Analysis | Claude team member | sonnet/opus |
76
+ | Generation | codex-exec | o3/o4-mini |
77
+ | Review | Claude team member | sonnet |
78
+ | Refinement | Appropriate expert | sonnet |
79
+
80
+ ## Dynamic Agent Creation in Teams
81
+
82
+ When Agent Teams creates a new agent via mgr-creator:
83
+
84
+ 1. Team lead identifies missing expertise
85
+ 2. Spawns mgr-creator as team member
86
+ 3. mgr-creator creates agent with auto-discovered skills
87
+ 4. New agent joins team immediately
88
+ 5. Team continues with expanded capabilities
89
+
29
90
  ## Lifecycle
30
91
 
31
- TeamCreate → TaskCreate → Task(spawn) → SendMessage(coordinate) → TaskUpdate → shutdown → cleanup
92
+ ```
93
+ TeamCreate → TaskCreate → Task(spawn members) → SendMessage(coordinate)
94
+ → TaskUpdate(progress) → ... → shutdown members → TeamDelete
95
+ ```
32
96
 
33
97
  ## Fallback
34
98
 
35
99
  When Agent Teams unavailable: use Task tool with R009/R010 rules. Both approaches produce results; Agent Teams adds coordination richness.
36
100
 
37
- ## Cost
101
+ ## Cost Awareness
38
102
 
39
- Agent Teams uses more tokens (full context per member + message passing). Use Task tool if task < 3 min or no inter-agent communication needed.
103
+ Agent Teams uses more tokens (full context per member + message passing). Use Task tool when:
104
+ - Task takes < 3 minutes
105
+ - No inter-agent communication needed
106
+ - Simple independent subtasks only
107
+ - Cost is the primary concern
@@ -62,7 +62,7 @@ rules:
62
62
  scope: agents
63
63
 
64
64
  # Intent Transparency - MUST
65
- - id: R014
65
+ - id: R015
66
66
  name: intent-transparency
67
67
  title: Intent Transparency Rules
68
68
  path: ./MUST-intent-transparency.md
@@ -70,7 +70,7 @@ rules:
70
70
  scope: orchestrator
71
71
 
72
72
  # Continuous Improvement - MUST
73
- - id: R015
73
+ - id: R016
74
74
  name: continuous-improvement
75
75
  title: Continuous Improvement Rules
76
76
  path: ./MUST-continuous-improvement.md
@@ -78,7 +78,7 @@ rules:
78
78
  scope: all
79
79
 
80
80
  # Sync Verification - MUST
81
- - id: R016
81
+ - id: R017
82
82
  name: sync-verification
83
83
  title: Sync Verification Rules
84
84
  path: ./MUST-sync-verification.md
@@ -125,7 +125,7 @@ rules:
125
125
  scope: all
126
126
 
127
127
  # Agent Teams - SHOULD
128
- - id: R017
128
+ - id: R018
129
129
  name: agent-teams
130
130
  title: Agent Teams Rules
131
131
  path: ./SHOULD-agent-teams.md
@@ -2,7 +2,6 @@
2
2
  name: codex-exec
3
3
  description: Execute OpenAI Codex CLI prompts and return results
4
4
  argument-hint: "<prompt> [--json] [--output <path>] [--model <name>] [--timeout <ms>]"
5
- disable-model-invocation: true
6
5
  ---
7
6
 
8
7
  # Codex Exec Skill
@@ -121,3 +120,30 @@ Works with the orchestrator pattern:
121
120
  - Main conversation delegates Codex execution via this skill
122
121
  - Results are returned to the main conversation for further processing
123
122
  - Can be chained with other skills (e.g., dev-review after Codex generates code)
123
+
124
+ ## Availability Check
125
+
126
+ codex-exec requires the Codex CLI binary to be installed and authenticated. The skill is only usable when:
127
+
128
+ 1. `codex` binary is found in PATH (`which codex` succeeds)
129
+ 2. Authentication is valid (OPENAI_API_KEY set or `codex` logged in)
130
+
131
+ If either check fails, this skill cannot be used. Fall back to Claude agents for the task.
132
+
133
+ > **Note**: `disable-model-invocation: true` is set intentionally. This skill must be explicitly invoked via `/codex-exec` or delegated by the orchestrator. It is NOT auto-invoked by the model.
134
+
135
+ ## Agent Teams Integration
136
+
137
+ When used within Agent Teams (requires explicit invocation):
138
+
139
+ 1. **As delegated task**: orchestrator explicitly delegates codex-exec for code generation
140
+ 2. **Hybrid workflow**: Claude team member analyzes → orchestrator invokes codex-exec → Claude reviews
141
+ 3. **Iteration**: Team messaging enables review-fix cycles between Claude and Codex outputs
142
+
143
+ ```
144
+ Orchestrator delegates generation task
145
+ → /codex-exec invoked explicitly
146
+ → Output returned to orchestrator
147
+ → Reviewer validates quality
148
+ → Iterate if needed
149
+ ```
@@ -23,6 +23,7 @@ Create a new agent with complete directory structure, files, and registration.
23
23
  --source, -s External source URL (for external agents)
24
24
  --desc, -d Description
25
25
  --skills Comma-separated skills to include
26
+ --dynamic Auto-discover skills and guides from context (used by routing fallback)
26
27
  ```
27
28
 
28
29
  ## Workflow
@@ -219,6 +219,29 @@ Pipeline design completed.
219
219
  - **secretary-routing**: DE agents accessible through secretary for management tasks
220
220
  - **qa-lead-routing**: Coordinates with QA for data quality testing
221
221
 
222
+ ## No Match Fallback
223
+
224
+ When a data engineering tool is detected but no matching agent exists:
225
+
226
+ ```
227
+ User Input → No matching DE agent
228
+
229
+ Detect: DE tool keyword or config file pattern
230
+
231
+ Delegate to mgr-creator with context:
232
+ domain: detected DE tool
233
+ type: de-engineer
234
+ keywords: extracted tool names
235
+ file_patterns: detected config patterns
236
+ skills: auto-discover from .claude/skills/
237
+ guides: auto-discover from guides/
238
+ ```
239
+
240
+ **Examples of dynamic creation triggers:**
241
+ - New data tools (e.g., "Dagster DAG 만들어줘", "Flink 스트리밍 설정해줘")
242
+ - Unfamiliar data formats or connectors
243
+ - Data tool detected in project but no specialist agent
244
+
222
245
  ## Agent Teams Awareness
223
246
 
224
247
  Before routing via Task tool, check if Agent Teams is available (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` or TeamCreate/SendMessage tools present).
@@ -77,6 +77,29 @@ user-invocable: false
77
77
 
78
78
  Multi-language: detect all languages, route to parallel experts (max 4). Single-language: route to matching expert. Cross-layer (frontend + backend): multiple experts in parallel.
79
79
 
80
+ ## No Match Fallback
81
+
82
+ When file extension or keyword doesn't match any existing agent:
83
+
84
+ ```
85
+ User Input → No matching development agent
86
+
87
+ Detect: File extension (.rb, .swift, .dart, etc.) or language keyword
88
+
89
+ Delegate to mgr-creator with context:
90
+ domain: detected language/framework
91
+ type: sw-engineer
92
+ keywords: extracted from user input
93
+ file_patterns: detected extensions
94
+ skills: auto-discover from .claude/skills/
95
+ guides: auto-discover from guides/
96
+ ```
97
+
98
+ **Examples of dynamic creation triggers:**
99
+ - Unrecognized file extension (e.g., `.rb` → Ruby expert, `.swift` → Swift expert)
100
+ - New framework keyword (e.g., "Flutter 앱 리뷰해줘", "Rails API 만들어줘")
101
+ - Language detected but no specialist exists
102
+
80
103
  ## Agent Teams Awareness
81
104
 
82
105
  Before routing via Task tool, check if Agent Teams is available (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` or TeamCreate/SendMessage tools present).
@@ -176,8 +176,9 @@ Each agent defines:
176
176
 
177
177
  ## Error Handling
178
178
 
179
- ### No Match
179
+ ### No Match (< 30% confidence)
180
180
 
181
+ **Generic task** (no identifiable domain):
181
182
  ```
182
183
  [Intent Unclear]
183
184
  ├── Input: "도와줘"
@@ -190,6 +191,20 @@ How can I help? Please be more specific:
190
191
  - What file or project?
191
192
  ```
192
193
 
194
+ **Specialized task with identifiable domain** (keywords/files detected but no matching agent):
195
+ ```
196
+ [No Matching Agent]
197
+ ├── Input: "Terraform 모듈 리뷰해줘"
198
+ ├── Domain: terraform (detected from keywords)
199
+ ├── Matching Agent: none
200
+ └── Action: Trigger dynamic agent creation
201
+
202
+ → Delegating to mgr-creator with context:
203
+ domain: terraform
204
+ keywords: ["terraform", "모듈"]
205
+ file_patterns: ["*.tf"]
206
+ ```
207
+
193
208
  ### Ambiguous Match
194
209
 
195
210
  ```
@@ -265,6 +265,28 @@ metrics:
265
265
  test_case_count: number
266
266
  ```
267
267
 
268
+ ## No Match Fallback
269
+
270
+ When a QA task involves unfamiliar testing patterns or tools:
271
+
272
+ ```
273
+ User Input → QA task with unrecognized tool/pattern
274
+
275
+ Detect: Testing framework or QA methodology keyword
276
+
277
+ Delegate to mgr-creator with context:
278
+ domain: detected QA tool/methodology
279
+ type: qa-engineer
280
+ keywords: extracted testing terms
281
+ skills: auto-discover from .claude/skills/
282
+ guides: auto-discover from guides/
283
+ ```
284
+
285
+ **Examples of dynamic creation triggers:**
286
+ - New testing frameworks (e.g., "Cypress E2E 테스트 작성해줘", "k6 부하 테스트 설계해줘")
287
+ - Specialized QA methodologies (e.g., "뮤테이션 테스트 전략 만들어줘")
288
+ - Performance/security testing tools not covered by existing agents
289
+
268
290
  ## Agent Teams Awareness
269
291
 
270
292
  Before routing via Task tool, check if Agent Teams is available (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` or TeamCreate/SendMessage tools present).
@@ -92,6 +92,26 @@ Before routing via Task tool, check if Agent Teams is available (`CLAUDE_CODE_EX
92
92
  | Multi-round verification (sauron) | Task Tool |
93
93
  | Agent audit + fix cycle | Agent Teams |
94
94
 
95
+ ## No Match Fallback
96
+
97
+ When no manager agent matches the request but the task is clearly management-related:
98
+
99
+ ```
100
+ User Input → No matching manager agent
101
+
102
+ Evaluate: Is this a specialized management/tooling task?
103
+ YES → Delegate to mgr-creator with context:
104
+ domain: detected tool/technology
105
+ type: manager
106
+ skills: auto-discover from .claude/skills/
107
+ NO → Ask user for clarification
108
+ ```
109
+
110
+ **Examples of dynamic creation triggers:**
111
+ - New CI/CD tool management (e.g., "ArgoCD 배포 관리해줘")
112
+ - New monitoring tool setup (e.g., "Grafana 대시보드 관리")
113
+ - Unfamiliar package manager operations
114
+
95
115
  ## Usage
96
116
 
97
117
  This skill is NOT user-invocable. It is automatically triggered when the main conversation detects agent management intent.
@@ -95,9 +95,12 @@ When task requires multiple agents:
95
95
  -> Main conversation (orchestrator) MUST coordinate
96
96
  -> Main conversation assigns tasks to appropriate agents
97
97
  -> Main conversation aggregates results
98
+ -> Orchestrator MUST NEVER directly modify files
98
99
 
99
100
  Flow:
100
101
  User -> Main conversation -> [agent-1, agent-2, agent-3] -> Main conversation -> User
102
+
103
+ Violation = immediate correction. No exception for "small changes".
101
104
  ```
102
105
 
103
106
  ---
@@ -117,8 +120,8 @@ Flow:
117
120
  | R008 | Tool Identification | **ENFORCED** - Display agent when using ANY tool |
118
121
  | R009 | Parallel Execution | **ENFORCED** - Parallel execution, large task decomposition |
119
122
  | R010 | Orchestrator Coordination | **ENFORCED** - Orchestrator coordination, session continuity, direct action prohibition |
120
- | R015 | Continuous Improvement | **ENFORCED** - Update rules when violations occur |
121
- | R016 | Sync Verification | **ENFORCED** - Verify sync before structural changes |
123
+ | R016 | Continuous Improvement | **ENFORCED** - Update rules when violations occur |
124
+ | R017 | Sync Verification | **ENFORCED** - Verify sync before structural changes |
122
125
 
123
126
  ### SHOULD (Strongly recommended)
124
127
  | ID | Rule | Description |
@@ -128,8 +131,8 @@ Flow:
128
131
  | R011 | Memory Integration | Session persistence with claude-mem |
129
132
  | R012 | HUD Statusline | Real-time status display |
130
133
  | R013 | Ecomode | Token efficiency for batch ops |
131
- | R014 | Intent Transparency | **MUST** - Transparent agent routing |
132
- | R017 | Agent Teams | Active use of Agent Teams when enabled |
134
+ | R015 | Intent Transparency | **MUST** - Transparent agent routing |
135
+ | R018 | Agent Teams | Active use of Agent Teams when enabled |
133
136
 
134
137
  ### MAY (Optional)
135
138
  | ID | Rule | Description |
@@ -159,7 +162,7 @@ Flow:
159
162
  | `/optimize-analyze` | Analyze bundle and performance |
160
163
  | `/optimize-bundle` | Optimize bundle size |
161
164
  | `/optimize-report` | Generate optimization report |
162
- | `/sauron-watch` | Full R016 verification |
165
+ | `/sauron-watch` | Full R017 verification |
163
166
  | `/lists` | Show all available commands |
164
167
  | `/status` | Show system status |
165
168
  | `/help` | Show help information |
@@ -171,8 +174,8 @@ project/
171
174
  +-- CLAUDE.md # Entry point
172
175
  +-- .claude/
173
176
  | +-- agents/ # Subagent definitions (42 files)
174
- | +-- skills/ # Skills (51 directories)
175
- | +-- rules/ # Global rules (R000-R017)
177
+ | +-- skills/ # Skills (52 directories)
178
+ | +-- rules/ # Global rules (R000-R018)
176
179
  | +-- hooks/ # Hook scripts (memory, HUD)
177
180
  | +-- contexts/ # Context files (ecomode)
178
181
  +-- guides/ # Reference docs (22 topics)
@@ -188,6 +191,17 @@ Orchestration is handled by routing skills in the main conversation:
188
191
 
189
192
  The main conversation acts as the sole orchestrator. Subagents cannot spawn other subagents.
190
193
 
194
+ ### Dynamic Agent Creation
195
+
196
+ When no existing agent matches a specialized task, the system automatically creates one:
197
+
198
+ 1. Routing skill detects no matching expert
199
+ 2. Orchestrator delegates to mgr-creator with detected context
200
+ 3. mgr-creator auto-discovers relevant skills and guides
201
+ 4. New agent is created and used immediately
202
+
203
+ This is the core oh-my-customcode philosophy: **"No expert? CREATE one, connect knowledge, and USE it."**
204
+
191
205
  ## Agents Summary
192
206
 
193
207
  | Type | Count | Agents |
@@ -216,8 +230,9 @@ When Claude Code's Agent Teams feature is enabled (`CLAUDE_CODE_EXPERIMENTAL_AGE
216
230
  | Best for | Focused tasks | Research, review, debugging |
217
231
  | Token cost | Lower | Higher |
218
232
 
219
- **When enabled, actively use Agent Teams for complex collaborative tasks.**
220
- See R017 (SHOULD-agent-teams.md) for the decision matrix.
233
+ **When enabled, ACTIVELY prefer Agent Teams for qualifying collaborative tasks.**
234
+ See R018 (SHOULD-agent-teams.md) for the decision matrix.
235
+ Hybrid patterns (Claude + Codex, Dynamic Creation + Teams) are supported.
221
236
  Task tool + routing skills remain the fallback for simple/cost-sensitive tasks.
222
237
 
223
238
  ## Quick Reference
@@ -95,9 +95,12 @@ oh-my-customcode로 구동됩니다.
95
95
  -> 메인 대화 (오케스트레이터)가 반드시 조율
96
96
  -> 메인 대화가 적절한 에이전트에 작업 할당
97
97
  -> 메인 대화가 결과 집계
98
+ -> 오케스트레이터는 절대 직접 파일을 수정하지 않음
98
99
 
99
100
  흐름:
100
101
  사용자 -> 메인 대화 -> [agent-1, agent-2, agent-3] -> 메인 대화 -> 사용자
102
+
103
+ 위반 시 즉시 수정. "작은 변경"도 예외 없음.
101
104
  ```
102
105
 
103
106
  ---
@@ -117,8 +120,8 @@ oh-my-customcode로 구동됩니다.
117
120
  | R008 | 도구 식별 | **강제** - 모든 도구 사용 시 에이전트 표시 |
118
121
  | R009 | 병렬 실행 | **강제** - 병렬 실행, 대규모 작업 분해 |
119
122
  | R010 | 오케스트레이터 조율 | **강제** - 오케스트레이터 조율, 세션 연속성, 직접 실행 금지 |
120
- | R015 | 지속적 개선 | **강제** - 위반 발생 시 규칙 업데이트 |
121
- | R016 | 동기화 검증 | **강제** - 구조 변경 전 검증 |
123
+ | R016 | 지속적 개선 | **강제** - 위반 발생 시 규칙 업데이트 |
124
+ | R017 | 동기화 검증 | **강제** - 구조 변경 전 검증 |
122
125
 
123
126
  ### SHOULD (강력 권장)
124
127
  | ID | 규칙 | 설명 |
@@ -128,8 +131,8 @@ oh-my-customcode로 구동됩니다.
128
131
  | R011 | 메모리 통합 | claude-mem을 통한 세션 지속성 |
129
132
  | R012 | HUD 상태줄 | 실시간 상태 표시 |
130
133
  | R013 | Ecomode | 배치 작업 토큰 효율성 |
131
- | R014 | 의도 투명성 | **필수** - 투명한 에이전트 라우팅 |
132
- | R017 | Agent Teams | 활성화 시 Agent Teams 적극 사용 |
134
+ | R015 | 의도 투명성 | **필수** - 투명한 에이전트 라우팅 |
135
+ | R018 | Agent Teams | 활성화 시 Agent Teams 적극 사용 |
133
136
 
134
137
  ### MAY (선택)
135
138
  | ID | 규칙 | 설명 |
@@ -159,7 +162,7 @@ oh-my-customcode로 구동됩니다.
159
162
  | `/optimize-analyze` | 번들 및 성능 분석 |
160
163
  | `/optimize-bundle` | 번들 크기 최적화 |
161
164
  | `/optimize-report` | 최적화 리포트 생성 |
162
- | `/sauron-watch` | 전체 R016 검증 |
165
+ | `/sauron-watch` | 전체 R017 검증 |
163
166
  | `/lists` | 모든 사용 가능한 커맨드 표시 |
164
167
  | `/status` | 시스템 상태 표시 |
165
168
  | `/help` | 도움말 표시 |
@@ -171,8 +174,8 @@ project/
171
174
  +-- CLAUDE.md # 진입점
172
175
  +-- .claude/
173
176
  | +-- agents/ # 서브에이전트 정의 (42 파일)
174
- | +-- skills/ # 스킬 (51 디렉토리)
175
- | +-- rules/ # 전역 규칙 (R000-R017)
177
+ | +-- skills/ # 스킬 (52 디렉토리)
178
+ | +-- rules/ # 전역 규칙 (R000-R018)
176
179
  | +-- hooks/ # 훅 스크립트 (메모리, HUD)
177
180
  | +-- contexts/ # 컨텍스트 파일 (ecomode)
178
181
  +-- guides/ # 레퍼런스 문서 (22 토픽)
@@ -188,6 +191,17 @@ project/
188
191
 
189
192
  메인 대화가 유일한 오케스트레이터 역할을 합니다. 서브에이전트는 다른 서브에이전트를 생성할 수 없습니다.
190
193
 
194
+ ### 동적 에이전트 생성
195
+
196
+ 기존 에이전트 중 작업에 맞는 전문가가 없으면 자동으로 생성합니다:
197
+
198
+ 1. 라우팅 스킬이 매칭 전문가 없음을 감지
199
+ 2. 오케스트레이터가 mgr-creator에 컨텍스트와 함께 위임
200
+ 3. mgr-creator가 관련 skills/guides를 자동 탐색
201
+ 4. 새 에이전트 생성 후 즉시 사용
202
+
203
+ 이것이 oh-my-customcode의 핵심 철학입니다: **"전문가가 없으면? 만들고, 지식을 연결하고, 사용한다."**
204
+
191
205
  ## 에이전트 요약
192
206
 
193
207
  | 타입 | 수량 | 에이전트 |
@@ -216,8 +230,9 @@ Claude Code의 Agent Teams 기능이 활성화되어 있으면 (`CLAUDE_CODE_EXP
216
230
  | 적합한 작업 | 집중된 작업 | 리서치, 리뷰, 디버깅 |
217
231
  | 토큰 비용 | 낮음 | 높음 |
218
232
 
219
- **활성화 시, 복잡한 협업 작업에 Agent Teams를 적극 사용합니다.**
220
- 결정 매트릭스는 R017 (SHOULD-agent-teams.md)을 참조하세요.
233
+ **활성화 시, 적격한 협업 작업에 Agent Teams를 적극적으로 우선 사용합니다.**
234
+ 결정 매트릭스는 R018 (SHOULD-agent-teams.md)을 참조하세요.
235
+ 하이브리드 패턴 (Claude + Codex, 동적 생성 + Teams)이 지원됩니다.
221
236
  단순/비용 민감 작업에는 Task tool + 라우팅 스킬이 폴백으로 유지됩니다.
222
237
 
223
238
  ## 빠른 참조
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "0.2.0",
3
- "lastUpdated": "2026-02-08T07:00:00.000Z",
3
+ "lastUpdated": "2026-02-17T07:30:00.000Z",
4
4
  "components": [
5
5
  {
6
6
  "name": "rules",
@@ -36,7 +36,7 @@
36
36
  "name": "contexts",
37
37
  "path": ".claude/contexts",
38
38
  "description": "Context configuration files",
39
- "files": 1
39
+ "files": 4
40
40
  }
41
41
  ],
42
42
  "source": "https://github.com/baekenough/oh-my-customcode"