oh-my-customcode 0.100.1 → 0.101.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/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/rules/SHOULD-ontology-rag-routing.md +37 -20
- package/templates/.claude/skills/de-lead-routing/SKILL.md +11 -1
- package/templates/.claude/skills/dev-lead-routing/SKILL.md +17 -1
- package/templates/.claude/skills/intent-detection/SKILL.md +15 -0
- package/templates/.claude/skills/intent-detection/patterns/agent-triggers.yaml +320 -0
- package/templates/.claude/skills/qa-lead-routing/SKILL.md +10 -1
- package/templates/.claude/skills/secretary-routing/SKILL.md +18 -2
- package/templates/manifest.json +1 -1
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,49 +1,66 @@
|
|
|
1
|
-
# [SHOULD]
|
|
1
|
+
# [SHOULD] Routing Enrichment Rules
|
|
2
2
|
|
|
3
3
|
> **Priority**: SHOULD | **ID**: R019
|
|
4
4
|
|
|
5
5
|
## Core Rule
|
|
6
6
|
|
|
7
|
-
Routing skills SHOULD use
|
|
7
|
+
Routing skills SHOULD use enrichment layers to improve agent/skill/guide selection accuracy. Two enrichment sources are available — they complement each other and both are advisory only.
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Enrichment Layers
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
### Layer 1: Ontology-RAG (MCP-based)
|
|
12
|
+
|
|
13
|
+
When the `ontology-rag` MCP server is available, routing skills call `get_agent_for_task(query)` to get `suggested_skills` from the ontology graph. Inject suggestions into the spawned agent's prompt.
|
|
12
14
|
|
|
13
15
|
```
|
|
14
16
|
Static routing → agent selected
|
|
15
17
|
↓
|
|
16
|
-
get_agent_for_task(original_query)
|
|
18
|
+
get_agent_for_task(original_query) [MCP]
|
|
17
19
|
↓
|
|
18
20
|
Extract suggested_skills
|
|
19
21
|
↓
|
|
20
|
-
Prepend to spawned agent prompt
|
|
21
|
-
|
|
22
|
+
Prepend to spawned agent prompt
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Layer 2: Wiki-RAG (wiki index-based)
|
|
26
|
+
|
|
27
|
+
When routing confidence is below 90%, query `wiki/index.yaml` for relevant agent/skill/guide pages. Inject findings as supplementary routing signals.
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
Static routing → ambiguous (confidence < 90%)
|
|
31
|
+
↓
|
|
32
|
+
wiki/index.yaml search for matching pages
|
|
33
|
+
↓
|
|
34
|
+
Extract agent/skill/guide suggestions
|
|
35
|
+
↓
|
|
36
|
+
Inject as suggested_context in agent prompt
|
|
22
37
|
```
|
|
23
38
|
|
|
24
39
|
## Failure Handling
|
|
25
40
|
|
|
26
41
|
| Scenario | Action |
|
|
27
42
|
|----------|--------|
|
|
28
|
-
| MCP server unavailable | Skip silently, proceed
|
|
29
|
-
|
|
|
30
|
-
|
|
|
43
|
+
| MCP server unavailable | Skip silently, proceed without ontology enrichment |
|
|
44
|
+
| wiki/index.yaml missing | Skip silently, proceed without wiki enrichment |
|
|
45
|
+
| Either returns empty | Proceed with unmodified prompt |
|
|
46
|
+
| Parsing error | Skip silently, log warning |
|
|
31
47
|
|
|
32
|
-
**
|
|
48
|
+
**Enrichment failure MUST NOT block or delay routing.** Both layers are advisory only.
|
|
33
49
|
|
|
34
50
|
## Scope
|
|
35
51
|
|
|
36
|
-
| Applies to |
|
|
37
|
-
|
|
38
|
-
| secretary-routing |
|
|
39
|
-
| dev-lead-routing |
|
|
40
|
-
| de-lead-routing |
|
|
41
|
-
| qa-lead-routing |
|
|
52
|
+
| Applies to | Ontology-RAG | Wiki-RAG |
|
|
53
|
+
|------------|:------------:|:--------:|
|
|
54
|
+
| secretary-routing | ✓ | ✓ |
|
|
55
|
+
| dev-lead-routing | ✓ | ✓ |
|
|
56
|
+
| de-lead-routing | ✓ | ✓ |
|
|
57
|
+
| qa-lead-routing | ✓ | ✓ |
|
|
42
58
|
|
|
43
59
|
## Interaction with Other Rules
|
|
44
60
|
|
|
45
61
|
| Rule | Interaction |
|
|
46
62
|
|------|-------------|
|
|
47
|
-
| R010 | Orchestrator calls
|
|
48
|
-
| R015 |
|
|
49
|
-
| R009 |
|
|
63
|
+
| R010 | Orchestrator calls enrichment tools; subagent receives enriched prompt |
|
|
64
|
+
| R015 | Enrichment does not change R015 confidence thresholds — display behavior unchanged |
|
|
65
|
+
| R009 | Each enrichment call adds ~300 tokens; no parallelism impact |
|
|
66
|
+
| R022 | Wiki-RAG depends on up-to-date wiki pages — stale wiki reduces enrichment quality |
|
|
@@ -84,12 +84,22 @@ For **new pipeline code**, **DAG scaffolding**, or **SQL model generation**:
|
|
|
84
84
|
### Step 3: Expert Selection
|
|
85
85
|
Route to appropriate DE expert based on tool/framework detection.
|
|
86
86
|
|
|
87
|
-
> **Permission Mode**: When spawning agents, pass `mode: "bypassPermissions"
|
|
87
|
+
> **Permission Mode**: When spawning agents via Agent tool, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
|
|
88
88
|
|
|
89
89
|
### Step 4: Ontology-RAG Enrichment (R019)
|
|
90
90
|
|
|
91
91
|
If `get_agent_for_task` MCP tool is available, call it with the original query and inject `suggested_skills` into the agent prompt. Skip silently on failure.
|
|
92
92
|
|
|
93
|
+
### Step 4b: Wiki-RAG Enrichment
|
|
94
|
+
|
|
95
|
+
For ambiguous routing (confidence < 90%), query the wiki for context:
|
|
96
|
+
|
|
97
|
+
1. Search `wiki/index.yaml` for DE-related pages matching the request
|
|
98
|
+
2. Inject relevant skill/guide suggestions into the spawned agent's prompt
|
|
99
|
+
3. Particularly useful for cross-domain DE tasks (e.g., Kafka + Spark)
|
|
100
|
+
|
|
101
|
+
Advisory only — skip silently if wiki unavailable.
|
|
102
|
+
|
|
93
103
|
### Step 5: Soul Injection (R006)
|
|
94
104
|
|
|
95
105
|
If the selected agent has `soul: true` in frontmatter, read and prepend `.claude/agents/souls/{agent-name}.soul.md` content to the prompt. Skip silently if file doesn't exist.
|
|
@@ -20,6 +20,7 @@ context: fork
|
|
|
20
20
|
| Architect | arch-documenter, arch-speckit-agent |
|
|
21
21
|
| Security | sec-codeql-expert |
|
|
22
22
|
| Infra | infra-docker-expert, infra-aws-expert |
|
|
23
|
+
| Slack | slack-cli-expert |
|
|
23
24
|
|
|
24
25
|
## File Extension Mapping
|
|
25
26
|
|
|
@@ -74,6 +75,7 @@ context: fork
|
|
|
74
75
|
| security, codeql, cve, vulnerability, sarif, sast, security audit | sec-codeql-expert |
|
|
75
76
|
| architecture, adr, openapi, swagger, diagram | arch-documenter |
|
|
76
77
|
| spec, specification, tdd, requirements | arch-speckit-agent |
|
|
78
|
+
| slack, slack-cli, slack app, slack deploy, slack trigger, slack datastore | slack-cli-expert |
|
|
77
79
|
|
|
78
80
|
## Model Selection
|
|
79
81
|
|
|
@@ -121,12 +123,26 @@ For **new file creation**, **boilerplate**, or **test code generation**:
|
|
|
121
123
|
### Step 3: Expert Agent Selection
|
|
122
124
|
Route to appropriate language/framework expert based on file extension and keyword mapping.
|
|
123
125
|
|
|
124
|
-
> **Permission Mode**: When spawning agents, pass `mode: "bypassPermissions"
|
|
126
|
+
> **Permission Mode**: When spawning agents via Agent tool, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
|
|
125
127
|
|
|
126
128
|
### Step 4: Ontology-RAG Enrichment (R019)
|
|
127
129
|
|
|
128
130
|
If `get_agent_for_task` MCP tool is available, call it with the original query and inject `suggested_skills` into the agent prompt. Skip silently on failure.
|
|
129
131
|
|
|
132
|
+
### Step 4b: Wiki-RAG Enrichment
|
|
133
|
+
|
|
134
|
+
For ambiguous routing (confidence < 90%), query the wiki for context:
|
|
135
|
+
|
|
136
|
+
1. Search `wiki/index.yaml` for agent/skill pages matching detected keywords
|
|
137
|
+
2. If wiki suggests a specific skill or guide for the task, inject as `suggested_context` in the agent prompt
|
|
138
|
+
3. This helps agents receive relevant guide references automatically
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
wiki-rag query: "{user_request}" → wiki agent/skill pages → suggested_context injection
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Advisory only — skip silently if wiki unavailable.
|
|
145
|
+
|
|
130
146
|
### Step 5: Soul Injection (R006)
|
|
131
147
|
|
|
132
148
|
If the selected agent has `soul: true` in frontmatter, read and prepend `.claude/agents/souls/{agent-name}.soul.md` content to the prompt. Skip silently if file doesn't exist.
|
|
@@ -175,6 +175,21 @@ Each agent defines:
|
|
|
175
175
|
- weights (scoring factors)
|
|
176
176
|
```
|
|
177
177
|
|
|
178
|
+
### With Skill Triggers
|
|
179
|
+
|
|
180
|
+
```
|
|
181
|
+
Skill triggers are defined in agent-triggers.yaml alongside agent triggers.
|
|
182
|
+
Each skill trigger has a `routing_rule` field that specifies which skill to invoke.
|
|
183
|
+
|
|
184
|
+
When a skill trigger matches with confidence >= 70%:
|
|
185
|
+
1. Display the intent detection output with skill name
|
|
186
|
+
2. Invoke the skill via Skill tool instead of spawning an agent
|
|
187
|
+
3. If confidence < 70%, list skill options for user selection
|
|
188
|
+
|
|
189
|
+
Skill triggers use the `skill-` prefix in their YAML key to distinguish
|
|
190
|
+
from agent triggers.
|
|
191
|
+
```
|
|
192
|
+
|
|
178
193
|
## Error Handling
|
|
179
194
|
|
|
180
195
|
### No Match (< 30% confidence)
|
|
@@ -436,3 +436,323 @@ agents:
|
|
|
436
436
|
file_patterns: []
|
|
437
437
|
supported_actions: [optimize, compress, proxy]
|
|
438
438
|
base_confidence: 85
|
|
439
|
+
|
|
440
|
+
# ---------------------------------------------------------------------------
|
|
441
|
+
# Skill Triggers — route user intent to skill invocation
|
|
442
|
+
# ---------------------------------------------------------------------------
|
|
443
|
+
|
|
444
|
+
# Development workflow skills
|
|
445
|
+
skill-tdd:
|
|
446
|
+
keywords:
|
|
447
|
+
korean: [TDD, 테스트 주도, 테스트 먼저]
|
|
448
|
+
english: [tdd, "test driven", "test first", "write tests first"]
|
|
449
|
+
file_patterns: []
|
|
450
|
+
supported_actions: [implement, test, develop]
|
|
451
|
+
base_confidence: 80
|
|
452
|
+
routing_rule: "Invoke superpowers:test-driven-development skill"
|
|
453
|
+
|
|
454
|
+
skill-sdd:
|
|
455
|
+
keywords:
|
|
456
|
+
korean: [SDD, 스펙 주도, 스펙 기반]
|
|
457
|
+
english: [sdd, "spec driven", specification, "spec first"]
|
|
458
|
+
file_patterns: ["sdd/**"]
|
|
459
|
+
supported_actions: [plan, spec, design]
|
|
460
|
+
base_confidence: 80
|
|
461
|
+
routing_rule: "Invoke sdd-dev skill"
|
|
462
|
+
|
|
463
|
+
skill-structured-dev:
|
|
464
|
+
keywords:
|
|
465
|
+
korean: [구조화 개발, 6단계, 단계별]
|
|
466
|
+
english: ["structured dev", "6 stage", "stage-based"]
|
|
467
|
+
file_patterns: []
|
|
468
|
+
supported_actions: [implement, develop]
|
|
469
|
+
base_confidence: 75
|
|
470
|
+
routing_rule: "Invoke structured-dev-cycle skill"
|
|
471
|
+
|
|
472
|
+
# Review and verification skills
|
|
473
|
+
skill-deep-verify:
|
|
474
|
+
keywords:
|
|
475
|
+
korean: [딥검증, 릴리즈 검증, 다각도 검증]
|
|
476
|
+
english: ["deep verify", "release verify", "multi-angle"]
|
|
477
|
+
file_patterns: []
|
|
478
|
+
supported_actions: [verify, review, check]
|
|
479
|
+
base_confidence: 80
|
|
480
|
+
routing_rule: "Invoke deep-verify skill"
|
|
481
|
+
|
|
482
|
+
skill-adversarial-review:
|
|
483
|
+
keywords:
|
|
484
|
+
korean: [보안 리뷰, 적대적 리뷰, 공격자 관점]
|
|
485
|
+
english: ["security review", adversarial, "attacker mindset", "trust boundary"]
|
|
486
|
+
file_patterns: []
|
|
487
|
+
supported_actions: [review, audit, security]
|
|
488
|
+
base_confidence: 80
|
|
489
|
+
routing_rule: "Invoke adversarial-review skill"
|
|
490
|
+
|
|
491
|
+
skill-code-review:
|
|
492
|
+
keywords:
|
|
493
|
+
korean: [코드 리뷰, 베스트 프랙티스 리뷰]
|
|
494
|
+
english: ["code review", "best practice review", "dev review"]
|
|
495
|
+
file_patterns: []
|
|
496
|
+
supported_actions: [review, check]
|
|
497
|
+
base_confidence: 70
|
|
498
|
+
routing_rule: "Invoke dev-review skill"
|
|
499
|
+
|
|
500
|
+
# Planning skills
|
|
501
|
+
skill-deep-plan:
|
|
502
|
+
keywords:
|
|
503
|
+
korean: [딥플랜, 연구 계획, 검증 계획]
|
|
504
|
+
english: ["deep plan", "research plan", "validated plan"]
|
|
505
|
+
file_patterns: []
|
|
506
|
+
supported_actions: [plan, research, design]
|
|
507
|
+
base_confidence: 80
|
|
508
|
+
routing_rule: "Invoke deep-plan skill"
|
|
509
|
+
|
|
510
|
+
skill-release-plan:
|
|
511
|
+
keywords:
|
|
512
|
+
korean: [릴리즈 계획, 배포 계획]
|
|
513
|
+
english: ["release plan", "deployment plan"]
|
|
514
|
+
file_patterns: []
|
|
515
|
+
supported_actions: [plan, release]
|
|
516
|
+
base_confidence: 85
|
|
517
|
+
routing_rule: "Invoke release-plan skill"
|
|
518
|
+
|
|
519
|
+
# Pipeline and automation skills
|
|
520
|
+
skill-pipeline:
|
|
521
|
+
keywords:
|
|
522
|
+
korean: [파이프라인, 자동 개발, 자동화]
|
|
523
|
+
english: [pipeline, "auto dev", automation]
|
|
524
|
+
file_patterns: ["workflows/*.yaml"]
|
|
525
|
+
supported_actions: [run, execute, automate]
|
|
526
|
+
base_confidence: 85
|
|
527
|
+
routing_rule: "Invoke pipeline skill"
|
|
528
|
+
|
|
529
|
+
skill-evaluator-optimizer:
|
|
530
|
+
keywords:
|
|
531
|
+
korean: [평가, 최적화 루프, 루브릭, 반복 개선]
|
|
532
|
+
english: [evaluator, optimizer, rubric, "iterative improvement", "ralph loop", "ralph wiggum"]
|
|
533
|
+
file_patterns: []
|
|
534
|
+
supported_actions: [evaluate, optimize, iterate]
|
|
535
|
+
base_confidence: 80
|
|
536
|
+
routing_rule: "Invoke evaluator-optimizer skill"
|
|
537
|
+
|
|
538
|
+
# Analysis and triage skills
|
|
539
|
+
skill-professor-triage:
|
|
540
|
+
keywords:
|
|
541
|
+
korean: [트리아지, 이슈 분석, 프로페서]
|
|
542
|
+
english: [triage, "issue analysis", professor, "cross analysis"]
|
|
543
|
+
file_patterns: []
|
|
544
|
+
supported_actions: [analyze, triage, assess]
|
|
545
|
+
base_confidence: 85
|
|
546
|
+
routing_rule: "Invoke professor-triage skill"
|
|
547
|
+
|
|
548
|
+
skill-scout:
|
|
549
|
+
keywords:
|
|
550
|
+
korean: [스카우트, URL 평가, 외부 분석]
|
|
551
|
+
english: [scout, "url analysis", "external evaluation"]
|
|
552
|
+
file_patterns: []
|
|
553
|
+
supported_actions: [scout, analyze, evaluate]
|
|
554
|
+
base_confidence: 85
|
|
555
|
+
routing_rule: "Invoke scout skill"
|
|
556
|
+
|
|
557
|
+
skill-idea:
|
|
558
|
+
keywords:
|
|
559
|
+
korean: [아이디어, 이슈 제안]
|
|
560
|
+
english: [idea, "issue proposal", "feature idea"]
|
|
561
|
+
file_patterns: []
|
|
562
|
+
supported_actions: [propose, ideate, suggest]
|
|
563
|
+
base_confidence: 80
|
|
564
|
+
routing_rule: "Invoke idea skill"
|
|
565
|
+
|
|
566
|
+
# Wiki and knowledge skills
|
|
567
|
+
skill-wiki:
|
|
568
|
+
keywords:
|
|
569
|
+
korean: [위키, 지식 베이스, 위키 생성]
|
|
570
|
+
english: [wiki, "knowledge base", "wiki generate", "wiki ingest"]
|
|
571
|
+
file_patterns: ["wiki/**"]
|
|
572
|
+
supported_actions: [generate, ingest, lint, update]
|
|
573
|
+
base_confidence: 85
|
|
574
|
+
routing_rule: "Invoke wiki skill"
|
|
575
|
+
|
|
576
|
+
skill-wiki-rag:
|
|
577
|
+
keywords:
|
|
578
|
+
korean: [위키 검색, 프로젝트 질문, 아키텍처 질문, 어떻게 작동]
|
|
579
|
+
english: ["wiki search", "how does", "which agent", "what rule", architecture, workflow]
|
|
580
|
+
file_patterns: []
|
|
581
|
+
supported_actions: [search, query, ask]
|
|
582
|
+
base_confidence: 75
|
|
583
|
+
routing_rule: "Invoke wiki-rag skill"
|
|
584
|
+
|
|
585
|
+
# Token and optimization skills
|
|
586
|
+
skill-token-efficiency:
|
|
587
|
+
keywords:
|
|
588
|
+
korean: [토큰 효율, 토큰 감사, 토큰 절감]
|
|
589
|
+
english: ["token efficiency", "token audit", "token saving", "token defense"]
|
|
590
|
+
file_patterns: []
|
|
591
|
+
supported_actions: [audit, optimize, monitor]
|
|
592
|
+
base_confidence: 85
|
|
593
|
+
routing_rule: "Invoke token-efficiency-audit skill"
|
|
594
|
+
|
|
595
|
+
skill-simplify:
|
|
596
|
+
keywords:
|
|
597
|
+
korean: [단순화, 코드 정리, 중복 제거]
|
|
598
|
+
english: [simplify, cleanup, deduplicate, "reduce complexity"]
|
|
599
|
+
file_patterns: []
|
|
600
|
+
supported_actions: [simplify, clean, reduce]
|
|
601
|
+
base_confidence: 75
|
|
602
|
+
routing_rule: "Invoke simplify skill"
|
|
603
|
+
|
|
604
|
+
# Memory skills
|
|
605
|
+
skill-memory-save:
|
|
606
|
+
keywords:
|
|
607
|
+
korean: [메모리 저장, 기억해, 저장해]
|
|
608
|
+
english: ["save memory", "remember this", "store this"]
|
|
609
|
+
file_patterns: []
|
|
610
|
+
supported_actions: [save, store, remember]
|
|
611
|
+
base_confidence: 85
|
|
612
|
+
routing_rule: "Invoke memory-management skill"
|
|
613
|
+
|
|
614
|
+
skill-memory-recall:
|
|
615
|
+
keywords:
|
|
616
|
+
korean: [메모리 검색, 기억 찾기, 회상]
|
|
617
|
+
english: ["recall memory", "search memory", "find memory", "what did we"]
|
|
618
|
+
file_patterns: []
|
|
619
|
+
supported_actions: [recall, search, find]
|
|
620
|
+
base_confidence: 85
|
|
621
|
+
routing_rule: "Invoke memory-recall skill"
|
|
622
|
+
|
|
623
|
+
# Harness management skills
|
|
624
|
+
skill-analysis:
|
|
625
|
+
keywords:
|
|
626
|
+
korean: [프로젝트 분석, 하네스 분석, 에이전트 분석]
|
|
627
|
+
english: ["project analysis", "harness analysis", "agent analysis", "analyze project"]
|
|
628
|
+
file_patterns: []
|
|
629
|
+
supported_actions: [analyze, configure, optimize]
|
|
630
|
+
base_confidence: 80
|
|
631
|
+
routing_rule: "Invoke analysis skill"
|
|
632
|
+
|
|
633
|
+
skill-adaptive-harness:
|
|
634
|
+
keywords:
|
|
635
|
+
korean: [하네스 최적화, 에이전트 비활성화, 프로젝트 프로필]
|
|
636
|
+
english: ["harness optimize", "deactivate agents", "project profile", "adaptive harness"]
|
|
637
|
+
file_patterns: []
|
|
638
|
+
supported_actions: [optimize, profile, adapt]
|
|
639
|
+
base_confidence: 80
|
|
640
|
+
routing_rule: "Invoke adaptive-harness skill"
|
|
641
|
+
|
|
642
|
+
# Worker-reviewer skills
|
|
643
|
+
skill-worker-reviewer:
|
|
644
|
+
keywords:
|
|
645
|
+
korean: [워커 리뷰어, 반복 리뷰, 리뷰 사이클]
|
|
646
|
+
english: ["worker reviewer", "review cycle", "iterative review"]
|
|
647
|
+
file_patterns: []
|
|
648
|
+
supported_actions: [review, iterate, cycle]
|
|
649
|
+
base_confidence: 75
|
|
650
|
+
routing_rule: "Invoke worker-reviewer-pipeline skill"
|
|
651
|
+
|
|
652
|
+
skill-agora:
|
|
653
|
+
keywords:
|
|
654
|
+
korean: [아고라, 합의, 적대적 합의, 다중 LLM]
|
|
655
|
+
english: [agora, consensus, "adversarial consensus", "multi llm"]
|
|
656
|
+
file_patterns: []
|
|
657
|
+
supported_actions: [debate, consensus, verify]
|
|
658
|
+
base_confidence: 85
|
|
659
|
+
routing_rule: "Invoke agora skill"
|
|
660
|
+
|
|
661
|
+
# Debugging skill
|
|
662
|
+
skill-debugging:
|
|
663
|
+
keywords:
|
|
664
|
+
korean: [디버깅, 버그 찾기, 재현]
|
|
665
|
+
english: [debug, "find bug", reproduce, "root cause"]
|
|
666
|
+
file_patterns: []
|
|
667
|
+
supported_actions: [debug, reproduce, diagnose]
|
|
668
|
+
base_confidence: 80
|
|
669
|
+
routing_rule: "Invoke systematic-debugging skill"
|
|
670
|
+
|
|
671
|
+
skill-stuck-recovery:
|
|
672
|
+
keywords:
|
|
673
|
+
korean: [멈춤, 루프, 무한 반복, 복구]
|
|
674
|
+
english: [stuck, loop, "infinite loop", recovery, "not progressing"]
|
|
675
|
+
file_patterns: []
|
|
676
|
+
supported_actions: [recover, unstick, diagnose]
|
|
677
|
+
base_confidence: 85
|
|
678
|
+
routing_rule: "Invoke stuck-recovery skill"
|
|
679
|
+
|
|
680
|
+
# CVE and security skills
|
|
681
|
+
skill-cve-triage:
|
|
682
|
+
keywords:
|
|
683
|
+
korean: [CVE, 취약점, 보안 취약점]
|
|
684
|
+
english: [cve, vulnerability, "security vulnerability", "cve triage"]
|
|
685
|
+
file_patterns: []
|
|
686
|
+
supported_actions: [triage, analyze, patch]
|
|
687
|
+
base_confidence: 85
|
|
688
|
+
routing_rule: "Invoke cve-triage skill"
|
|
689
|
+
|
|
690
|
+
skill-npm-audit:
|
|
691
|
+
keywords:
|
|
692
|
+
korean: [npm 감사, 의존성 보안, 패키지 취약점]
|
|
693
|
+
english: ["npm audit", "dependency security", "package vulnerability"]
|
|
694
|
+
file_patterns: ["package.json", "package-lock.json"]
|
|
695
|
+
supported_actions: [audit, scan, fix]
|
|
696
|
+
base_confidence: 85
|
|
697
|
+
routing_rule: "Invoke npm-audit skill"
|
|
698
|
+
|
|
699
|
+
# Best practices skills (framework-specific)
|
|
700
|
+
skill-best-practices:
|
|
701
|
+
keywords:
|
|
702
|
+
korean: [베스트 프랙티스, 모범 사례, 패턴]
|
|
703
|
+
english: ["best practices", "best practice", pattern, convention]
|
|
704
|
+
file_patterns: []
|
|
705
|
+
supported_actions: [review, apply, check]
|
|
706
|
+
base_confidence: 60
|
|
707
|
+
routing_rule: "Route to language/framework specific best-practices skill based on file context"
|
|
708
|
+
|
|
709
|
+
# Monitoring skill
|
|
710
|
+
skill-monitoring:
|
|
711
|
+
keywords:
|
|
712
|
+
korean: [모니터링, 텔레메트리, 사용량 추적]
|
|
713
|
+
english: [monitoring, telemetry, "usage tracking", opentelemetry]
|
|
714
|
+
file_patterns: []
|
|
715
|
+
supported_actions: [setup, enable, disable, configure]
|
|
716
|
+
base_confidence: 80
|
|
717
|
+
routing_rule: "Invoke monitoring-setup skill"
|
|
718
|
+
|
|
719
|
+
# Deployment skill
|
|
720
|
+
skill-vercel-deploy:
|
|
721
|
+
keywords:
|
|
722
|
+
korean: [버셀 배포, 프리뷰, 프로덕션 배포]
|
|
723
|
+
english: ["vercel deploy", preview, "production deploy"]
|
|
724
|
+
file_patterns: ["vercel.json"]
|
|
725
|
+
supported_actions: [deploy, preview, promote]
|
|
726
|
+
base_confidence: 85
|
|
727
|
+
routing_rule: "Invoke vercel-deploy skill"
|
|
728
|
+
|
|
729
|
+
# ---------------------------------------------------------------------------
|
|
730
|
+
# Guide Reference Triggers — route user questions to relevant guides
|
|
731
|
+
# ---------------------------------------------------------------------------
|
|
732
|
+
|
|
733
|
+
guide-claude-code:
|
|
734
|
+
keywords:
|
|
735
|
+
korean: [클로드 코드, CC 가이드, 에이전트 가이드, 스킬 가이드, 훅 가이드]
|
|
736
|
+
english: ["claude code", "cc guide", "agent guide", "skill guide", "hook guide"]
|
|
737
|
+
file_patterns: []
|
|
738
|
+
supported_actions: [explain, reference, lookup]
|
|
739
|
+
base_confidence: 70
|
|
740
|
+
routing_rule: "Reference guides/claude-code/ directory"
|
|
741
|
+
|
|
742
|
+
guide-development:
|
|
743
|
+
keywords:
|
|
744
|
+
korean: [개발 가이드, 코딩 가이드, 개발 패턴]
|
|
745
|
+
english: ["dev guide", "coding guide", "development pattern"]
|
|
746
|
+
file_patterns: []
|
|
747
|
+
supported_actions: [reference, lookup]
|
|
748
|
+
base_confidence: 65
|
|
749
|
+
routing_rule: "Reference guides/development/ directory"
|
|
750
|
+
|
|
751
|
+
guide-best-practices:
|
|
752
|
+
keywords:
|
|
753
|
+
korean: [참조 가이드, 레퍼런스]
|
|
754
|
+
english: ["reference guide", "best practice guide"]
|
|
755
|
+
file_patterns: []
|
|
756
|
+
supported_actions: [reference, lookup]
|
|
757
|
+
base_confidence: 60
|
|
758
|
+
routing_rule: "Reference appropriate guides/ subdirectory"
|
|
@@ -45,12 +45,21 @@ quality_analysis → qa-planner + qa-engineer (parallel)
|
|
|
45
45
|
full_qa_cycle → all agents (sequential)
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
> **Permission Mode**: When spawning agents, pass `mode: "bypassPermissions"
|
|
48
|
+
> **Permission Mode**: When spawning agents via Agent tool, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
|
|
49
49
|
|
|
50
50
|
### Ontology-RAG Enrichment (R019)
|
|
51
51
|
|
|
52
52
|
If `get_agent_for_task` MCP tool is available, call it with the original query and inject `suggested_skills` into the agent prompt. Skip silently on failure.
|
|
53
53
|
|
|
54
|
+
### Wiki-RAG Enrichment
|
|
55
|
+
|
|
56
|
+
For ambiguous routing (confidence < 90%), query the wiki for context:
|
|
57
|
+
|
|
58
|
+
1. Search `wiki/index.yaml` for QA-related pages matching the request
|
|
59
|
+
2. Inject relevant skill/guide suggestions into the spawned agent's prompt
|
|
60
|
+
|
|
61
|
+
Advisory only — skip silently if wiki unavailable.
|
|
62
|
+
|
|
54
63
|
### Step 5: Soul Injection (R006)
|
|
55
64
|
|
|
56
65
|
If the selected agent has `soul: true` in frontmatter, read and prepend `.claude/agents/souls/{agent-name}.soul.md` content to the prompt. Skip silently if file doesn't exist.
|
|
@@ -16,7 +16,7 @@ Routes agent management tasks to the appropriate manager agent. This skill conta
|
|
|
16
16
|
|
|
17
17
|
| Agent | Purpose | Triggers |
|
|
18
18
|
|-------|---------|----------|
|
|
19
|
-
| mgr-creator | Create new agents | "create agent", "new agent" |
|
|
19
|
+
| mgr-creator | Create new agents, skills, guides | "create agent", "new agent", "create skill", "new skill", "create guide", "new guide" |
|
|
20
20
|
| mgr-updater | Update external agents | "update agent", "sync" |
|
|
21
21
|
| mgr-supplier | Validate dependencies | "audit", "check deps" |
|
|
22
22
|
| mgr-gitnerd | Git operations | "commit", "push", "pr" |
|
|
@@ -44,6 +44,8 @@ Before routing via Task tool, evaluate Agent Teams eligibility first:
|
|
|
44
44
|
User Input → Routing → Manager Agent
|
|
45
45
|
|
|
46
46
|
create → mgr-creator
|
|
47
|
+
create skill → mgr-creator
|
|
48
|
+
create guide → mgr-creator
|
|
47
49
|
update → mgr-updater
|
|
48
50
|
audit → mgr-supplier
|
|
49
51
|
git → mgr-gitnerd
|
|
@@ -64,6 +66,20 @@ batch → multiple (parallel)
|
|
|
64
66
|
|
|
65
67
|
If `get_agent_for_task` MCP tool is available, call it with the original query and inject `suggested_skills` into the agent prompt. Skip silently on failure.
|
|
66
68
|
|
|
69
|
+
### Step 4b: Wiki-RAG Enrichment
|
|
70
|
+
|
|
71
|
+
If the user's request is ambiguous or confidence is below 90%, query the wiki for additional context:
|
|
72
|
+
|
|
73
|
+
1. Search `wiki/index.yaml` for pages matching the detected domain keywords
|
|
74
|
+
2. Extract relevant agent/skill/guide recommendations from wiki pages
|
|
75
|
+
3. Inject findings into the routing decision as supplementary signals
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
wiki-rag query: "{user_request}" → wiki pages → agent/skill/guide suggestions
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Wiki-RAG enrichment is advisory — it supplements but does not override keyword matching. Skip silently if wiki/index.yaml doesn't exist.
|
|
82
|
+
|
|
67
83
|
### Step 5: Soul Injection (R006)
|
|
68
84
|
|
|
69
85
|
If the selected agent has `soul: true` in frontmatter, read and prepend `.claude/agents/souls/{agent-name}.soul.md` content to the prompt. Skip silently if file doesn't exist.
|
|
@@ -80,7 +96,7 @@ If the selected agent has `soul: true` in frontmatter, read and prepend `.claude
|
|
|
80
96
|
5. Report result to user
|
|
81
97
|
```
|
|
82
98
|
|
|
83
|
-
> **Permission Mode**: When spawning agents, pass `mode: "bypassPermissions"
|
|
99
|
+
> **Permission Mode**: When spawning agents via Agent tool, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
|
|
84
100
|
|
|
85
101
|
### 2. Batch/Parallel Task Routing
|
|
86
102
|
|
package/templates/manifest.json
CHANGED