oh-my-customcode 0.100.0 → 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 CHANGED
@@ -2334,7 +2334,7 @@ var init_package = __esm(() => {
2334
2334
  workspaces: [
2335
2335
  "packages/*"
2336
2336
  ],
2337
- version: "0.100.0",
2337
+ version: "0.101.0",
2338
2338
  description: "Batteries-included agent harness for Claude Code",
2339
2339
  type: "module",
2340
2340
  bin: {
package/dist/index.js CHANGED
@@ -2014,7 +2014,7 @@ var package_default = {
2014
2014
  workspaces: [
2015
2015
  "packages/*"
2016
2016
  ],
2017
- version: "0.100.0",
2017
+ version: "0.101.0",
2018
2018
  description: "Batteries-included agent harness for Claude Code",
2019
2019
  type: "module",
2020
2020
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.100.0",
6
+ "version": "0.101.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -16,7 +16,7 @@ tools:
16
16
  - Read
17
17
  - Grep
18
18
  - Glob
19
- permissionMode: default
19
+ permissionMode: bypassPermissions
20
20
  ---
21
21
 
22
22
  You are a dependency validation specialist ensuring agents have all required skills and guides properly linked.
@@ -30,3 +30,15 @@ Approve?
30
30
  ```
31
31
 
32
32
  On insufficient permission: do not attempt, notify user, suggest alternative.
33
+
34
+ ## Agent Tool Permission Mode
35
+
36
+ When spawning subagents via the Agent tool, always pass `mode: "bypassPermissions"` explicitly. The Agent tool's default mode is `acceptEdits`, which **overrides** the agent frontmatter `permissionMode` field.
37
+
38
+ | Setting | Effect |
39
+ |---------|--------|
40
+ | Agent frontmatter `permissionMode: bypassPermissions` | Ignored if Agent tool `mode` not set |
41
+ | Agent tool `mode: "bypassPermissions"` | **Required** — actually controls subagent permissions |
42
+ | Agent tool `mode` omitted | Defaults to `acceptEdits` → prompts for Bash, WebFetch |
43
+
44
+ Skills that spawn agents MUST include `mode: "bypassPermissions"` in their Agent tool call instructions. This applies to all routing skills, pipeline skills, and any skill that delegates work to subagents.
@@ -1,49 +1,66 @@
1
- # [SHOULD] Ontology-RAG Assisted Routing
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 ontology-RAG's `get_agent_for_task` MCP tool to enrich agent selection with contextual skill suggestions. Ontology-RAG is an enrichment layer it does NOT replace static routing.
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
- ## Integration Pattern
9
+ ## Enrichment Layers
10
10
 
11
- After static routing selects an agent, call `get_agent_for_task(query)` and extract `suggested_skills` from the response. Inject these into the spawned agent's prompt as contextual hints.
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
- "Ontology context suggests these skills may be relevant: {suggested_skills}"
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 with unmodified prompt |
29
- | get_agent_for_task returns empty | Proceed with unmodified prompt |
30
- | Response parsing error | Skip silently, log warning |
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
- **MCP failure MUST NOT block or delay routing.** Ontology-RAG is advisory only.
48
+ **Enrichment failure MUST NOT block or delay routing.** Both layers are advisory only.
33
49
 
34
50
  ## Scope
35
51
 
36
- | Applies to | Details |
37
- |------------|---------|
38
- | secretary-routing | Enriches manager agent selection |
39
- | dev-lead-routing | Enriches language/framework expert selection |
40
- | de-lead-routing | Enriches data engineering expert selection |
41
- | qa-lead-routing | Enriches QA workflow 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 MCP tool; subagent receives enriched prompt |
48
- | R015 | Post-fix confidence (0.30-0.40) remains below R015's 70% threshold; display behavior unchanged |
49
- | R009 | Ontology-RAG call adds ~300 tokens; no parallelism impact |
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 |
@@ -78,3 +78,7 @@ Fix: Recommended remediation
78
78
  - [ ] Do file operations stay within R002-declared access scope?
79
79
  - [ ] Are domain boundaries respected (backend agent not editing frontend files)?
80
80
  - [ ] Could an agent's task contract be tightened without losing functionality?
81
+
82
+ ## Permission Mode
83
+
84
+ When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
@@ -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"` in the Agent tool call if the session uses bypassPermissions. Without explicit mode, CC defaults to `acceptEdits`.
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.
@@ -82,22 +82,39 @@ Phase 2: Reality-Check Planning
82
82
  - Each ADOPT item: Does it already exist? Partially implemented?
83
83
  - Each ADAPT item: What is the current state to adapt from?
84
84
  - Each AVOID item: Are the alternatives already available?
85
- 3. **Gap Analysis**: Build a reconciliation table:
85
+ 3. **Deliverable Dependency Verification**: After exploration, verify inter-deliverable dependencies:
86
+ - For each deliverable pair, check: do they share files, functions, or modules?
87
+ - Classify each pair: `independent` (parallel-safe), `sequential` (order required), `shared-state` (synchronization needed)
88
+ - **Default bias**: Assume `independent` unless exploration finds concrete shared state
89
+ - Build dependency matrix:
86
90
 
87
91
  ```
88
- | Research Finding | Actual Code State | Gap Type | Action |
89
- |-----------------|-------------------|----------|--------|
90
- | "No caching" | Redis client exists | Overestimate | Remove from plan |
91
- | "Need auth middleware" | No auth layer | Real gap | Keep in plan |
92
- | "Migrate to v3" | Already on v3.1 | Overestimate | Remove from plan |
93
- | "Add rate limiting" | Basic limiter exists | Partial gap | Adapt existing |
92
+ | Deliverable A | Deliverable B | Classification | Evidence |
93
+ |---------------|---------------|----------------|----------|
94
+ | D1: Auth | D2: API | independent | No shared files |
95
+ | D1: Auth | D3: Tests | sequential | D3 tests D1 output |
94
96
  ```
95
97
 
96
- 4. **Refined Plan**: Write implementation plan containing ONLY real gaps:
98
+ - **Orchestrator override**: The dependency classification is advisory. The orchestrator or user can reclassify pairs when the automated analysis is overly conservative.
99
+
100
+ 4. **Gap Analysis**: Build a reconciliation table:
101
+
102
+ ```
103
+ | Research Finding | Actual Code State | Gap Type | Action | Dependencies |
104
+ |-----------------|-------------------|----------|--------|-------------|
105
+ | "No caching" | Redis client exists | Overestimate | Remove from plan | — |
106
+ | "Need auth middleware" | No auth layer | Real gap | Keep in plan | D3 (sequential) |
107
+ | "Migrate to v3" | Already on v3.1 | Overestimate | Remove from plan | — |
108
+ | "Add rate limiting" | Basic limiter exists | Partial gap | Adapt existing | independent |
109
+ ```
110
+
111
+ 5. **Refined Plan**: Write implementation plan containing ONLY real gaps:
97
112
  - Remove overestimates (already implemented)
98
113
  - Adjust partial gaps (adapt, don't rebuild)
99
114
  - Prioritize real gaps by impact
100
- 5. **User Approval**: `ExitPlanMode` presents the refined plan for user review
115
+ 6. **User Approval**: `ExitPlanMode` presents the refined plan for user review
116
+ - Include dependency matrix in plan output
117
+ - Display override option: "Dependency classifications are advisory. Reply with reclassifications if needed."
101
118
 
102
119
  ### Phase 3: Plan Verification Research
103
120
 
@@ -342,3 +359,7 @@ phases_completed: 3
342
359
  verdict: PASS|REVISE
343
360
  ---
344
361
  ```
362
+
363
+ ## Permission Mode
364
+
365
+ When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
@@ -109,3 +109,7 @@ Each agent receives the full diff and returns findings as structured JSON:
109
109
  - This skill replaces ad-hoc cross-verification with a repeatable process
110
110
  - Round 7 philosophy check references CLAUDE.md architecture section and R006/R010/R021 rules
111
111
  - Regression check compares function signatures, export lists, and test counts against develop baseline
112
+
113
+ ## Permission Mode
114
+
115
+ When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
@@ -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"` in the Agent tool call if the session uses bypassPermissions. Without explicit mode, CC defaults to `acceptEdits`.
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"
@@ -115,3 +115,7 @@ mgr-gitnerd: gh release create -> create release with notes
115
115
  - Uses git history and gh CLI for data gathering
116
116
  - Claude Code analyzes and generates notes in-context
117
117
  - Resource count changes auto-detected from CLAUDE.md history
118
+
119
+ ## Permission Mode
120
+
121
+ When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
@@ -0,0 +1,166 @@
1
+ name: auto-dev
2
+ description: "Automated development pipeline — from issue triage to release"
3
+ version: "2.0.0"
4
+
5
+ # Design rule: each pipeline run produces ONE bounded release unit (3-7 issues), not all open issues.
6
+ # This pipeline is a project-agnostic template. Project-specific overrides belong in
7
+ # the project's own workflows/auto-dev.yaml (e.g., AgentNav, second-brain).
8
+
9
+ steps:
10
+ - name: pre-triage
11
+ prompt: |
12
+ Phase 1 — Ensure required labels exist, then scan issues.
13
+
14
+ 1. Create labels if missing (idempotent):
15
+ gh label create in-progress --color "FBCA04" --description "Work in progress" --force 2>/dev/null
16
+ gh label create verify-ready --color "0E8A16" --description "Ready for verification" --force 2>/dev/null
17
+ gh label create needs-review --color "D93F0B" --description "Needs manual review" --force 2>/dev/null
18
+
19
+ 2. Scan open GitHub issues:
20
+ gh issue list --state open --limit 100 --json number,title,labels,body,milestone
21
+
22
+ 3. Group by label and compute for each issue:
23
+ - dependencies: parse "see #N", "depends on #N", "#N 참조" from body
24
+ - blocked_by_decision: true if body references any decision-needed issue
25
+ - effort: XS/S/M/L from scope
26
+ - order: topological sort over dependencies
27
+
28
+ 4. Output: dependency-sorted issue table with blocked_by_decision flag.
29
+ description: "Ensure labels exist, scan issues, dependency-analyze"
30
+
31
+ - name: scope-selection
32
+ prompt: |
33
+ Select a single bounded release scope (3-7 issues) for THIS pipeline run.
34
+
35
+ Selection rules:
36
+ 1. Determine release tier:
37
+ - No tags yet → v0.1.0
38
+ - Otherwise: highest-priority open tier (bug → chore → feature)
39
+ 2. Exclude:
40
+ - blocked_by_decision == true
41
+ - Issues requiring manual/human action
42
+ 3. Sort by dependency: prerequisites before dependents
43
+ 4. Cap at 7 issues; if priority issues < 7, stop at that priority (don't mix tiers)
44
+ 5. Minimum 1 issue; if 0 eligible, halt with "no eligible issues for auto-dev run"
45
+
46
+ Create release milestone and assign scoped issues.
47
+ Output markdown release manifest:
48
+ | order | # | title | prerequisite | effort |
49
+
50
+ Persist manifest as pipeline state for subsequent steps.
51
+ description: "Pick 3-7 issues as v{X.Y.Z} scope, create milestone"
52
+ depends_on: pre-triage
53
+
54
+ - name: triage
55
+ skill: professor-triage
56
+ description: "Cross-analysis triage with priority assessment (scoped to release manifest)"
57
+ depends_on: scope-selection
58
+
59
+ - name: plan
60
+ skill: release-plan
61
+ description: "Release unit plan from triaged issues"
62
+ depends_on: triage
63
+
64
+ - name: deep-plan
65
+ skill: deep-plan
66
+ description: "Research-validated implementation plan (research → plan → verify)"
67
+ depends_on: plan
68
+
69
+ - name: implement
70
+ prompt: |
71
+ Execute the deep-plan output for the scoped release manifest.
72
+
73
+ Per-issue lifecycle:
74
+ 1. Start: gh issue edit <N> --add-label in-progress --assignee @me
75
+ 2. Comment: gh issue comment <N> --body "Implementation started via auto-dev pipeline"
76
+ 3. Dispatch specialist agents per file domain:
77
+ - Detect file types in scope and route to matching agent
78
+ - Use specialized agents (lang-*, be-*, fe-*, infra-*) over general-purpose
79
+ 4. TDD via superpowers:test-driven-development when tests apply
80
+ 5. Commit via mgr-gitnerd with `Fixes #<N>` trailer in body
81
+ 6. On success: remove in-progress, add verify-ready
82
+ 7. On failure: remove in-progress, add needs-review, comment error summary
83
+
84
+ Rules:
85
+ - Parallel execution per R009 (max 4 concurrent, respect dependencies)
86
+ - Issues whose prerequisites failed in-run MUST be skipped (log reason)
87
+ - No direct orchestrator writes (R010)
88
+ - All Agent tool calls MUST pass mode: "bypassPermissions" to prevent permission prompts during unattended execution
89
+
90
+ ## Local CI-mimic verification (MUST run before marking implement done)
91
+
92
+ After all implementation tasks complete, run these scripts in sequence and halt on failure:
93
+
94
+ 1. bash .github/scripts/verify-template-sync.sh
95
+ 2. bash .github/scripts/verify-wiki-sync.sh
96
+
97
+ If either fails:
98
+ - For wiki-sync failures: delegate to wiki-curator to generate missing pages (`/omcustom:wiki ingest <path>`)
99
+ - For template-sync failures: delegate to mgr-updater to sync `.claude/` -> `templates/.claude/`
100
+ - After fixes, re-run the scripts until both pass
101
+
102
+ This mirrors CI and prevents the known 1-2 wasted push cycles per release (ref: issue #927, v0.98.0 PR #925).
103
+ description: "Per-issue implementation with lifecycle, specialist routing, and CI-mimic verification"
104
+ depends_on: deep-plan
105
+
106
+ - name: verify-build
107
+ prompt: |
108
+ Project-specific build and test verification.
109
+
110
+ Auto-detect project type and run appropriate checks:
111
+ - Node/Bun: package.json → install + lint + type-check + test
112
+ - Python: py_compile + pytest
113
+ - Go: go build + go vet + go test
114
+ - Docker: docker build (if Dockerfile exists)
115
+ - Static site: file existence + format validation
116
+
117
+ Halt on first failure. Report exact command + stderr.
118
+ Do NOT proceed to release if any check fails.
119
+ description: "Auto-detected build + test verification"
120
+ depends_on: implement
121
+
122
+ - name: deep-verify
123
+ skill: deep-verify
124
+ description: "Multi-angle release quality verification"
125
+ depends_on: verify-build
126
+
127
+ - name: release
128
+ prompt: |
129
+ Create a GitHub Release.
130
+
131
+ 1. Version:
132
+ - No existing tags → v0.1.0
133
+ - Otherwise: semver bump (patch for bugfix, minor for features)
134
+ 2. Release notes via omcustom-release-notes skill
135
+ 3. Delegate to mgr-gitnerd:
136
+ - git tag + push
137
+ - gh release create
138
+ 4. Close milestone
139
+ 5. Close verify-ready issues with "Fixed in v{version}"
140
+ Label needs-review issues as "Deferred from v{version}"
141
+
142
+ Adapt release mechanism to project:
143
+ - npm project: PR + merge + npm publish verification
144
+ - Non-npm: direct tag on main (trunk-based)
145
+ description: "Git tag + GitHub Release + close milestone/issues"
146
+ depends_on: deep-verify
147
+
148
+ - name: ci-check
149
+ prompt: |
150
+ Post-release CI verification.
151
+
152
+ 1. Check if .github/workflows/ has CI workflows
153
+ If NOT: skip with "No CI configured. Skipping." and continue.
154
+ 2. If CI exists:
155
+ - gh run list --limit 5
156
+ - Wait for runs triggered by the new tag/push
157
+ - If failures: diagnose, fix, re-verify
158
+ 3. For npm projects: verify npm publish succeeded (npm view <pkg> version)
159
+ 4. Report final CI status.
160
+ description: "Post-release CI verification and fix loop"
161
+ depends_on: release
162
+
163
+ - name: post-release-followup
164
+ skill: post-release-followup
165
+ description: "Register follow-ups from this release as new issues"
166
+ depends_on: ci-check
@@ -46,9 +46,9 @@ Remove duplicates (same issue referenced from multiple sources). Categorize:
46
46
 
47
47
  | Category | Criteria | Default Action |
48
48
  |----------|----------|----------------|
49
- | **Immediate** | P1/P2 remaining issues, MEDIUM+ verify findings, Critical/High PR review findings | Execute now |
50
- | **Trackable** | P3 issues, LOW verify findings, new TODOs, Medium PR review findings | Register as issue |
51
- | **Informational** | Already-tracked issues, cosmetic notes | Skip |
49
+ | **즉시 실행** | P1/P2 잔여 이슈, MEDIUM+ 검증 발견사항, Critical/High PR 리뷰 발견사항 | 즉시 실행 |
50
+ | **이슈 등록** | P3 이슈, LOW 검증 발견사항, TODO, Medium PR 리뷰 발견사항 | 이슈로 등록 |
51
+ | **참고** | 이미 추적 중인 이슈, 외관 관련 메모 | 건너뛰기 |
52
52
 
53
53
  ### 3. Present to User
54
54
 
@@ -117,8 +117,8 @@ When creating follow-up issues:
117
117
 
118
118
  ```bash
119
119
  gh issue create \
120
- --title "{concise description}" \
121
- --body "## Source\n\nDiscovered during v{version} release workflow.\n\n## Context\n\n{detailed context from triage/verify}\n\n## Suggested Action\n\n{recommendation}" \
120
+ --title "{간결한 설명}" \
121
+ --body "## 출처\n\nv{version} 릴리즈 워크플로우에서 발견.\n\n## 컨텍스트\n\n{triage/verify에서의 상세 컨텍스트}\n\n## 권장 조치\n\n{권장 사항}" \
122
122
  --label "professor"
123
123
  ```
124
124
 
@@ -132,3 +132,7 @@ Add priority label (`P1`, `P2`, `P3`) based on categorization.
132
132
  - Issue creation uses `gh` CLI directly (read-only operation pattern)
133
133
  - If no follow-up candidates found, report "No follow-up actions needed" and complete
134
134
  - PR review feedback is available shortly after PR creation — the omc_pr_analyzer bot comments automatically
135
+
136
+ ## Permission Mode
137
+
138
+ When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
@@ -2,7 +2,7 @@
2
2
  name: professor-triage
3
3
  description: Analyze GitHub issues against current codebase and perform automated triage with priority assessment
4
4
  scope: harness
5
- version: 2.1.0
5
+ version: 2.2.0
6
6
  user-invocable: true
7
7
  effort: high
8
8
  context: fork
@@ -126,27 +126,27 @@ For each analyzed issue, generate multi-perspective analysis comments and artifa
126
126
  ```
127
127
  ## 🏛️ Senior Architect Analysis
128
128
 
129
- ### Architecture Impact
130
- | Component | Impact | Risk |
131
- |-----------|--------|------|
132
- | {component} | {description} | {High/Medium/Low} |
129
+ ### 아키텍처 영향
130
+ | 컴포넌트 | 영향 | 위험도 |
131
+ |----------|------|--------|
132
+ | {컴포넌트} | {설명} | {High/Medium/Low} |
133
133
 
134
- ### Code-Level Analysis
135
- {Specific file:line references from Phase 2 codebase analysis}
134
+ ### 코드 수준 분석
135
+ {Phase 2 코드베이스 분석의 구체적 file:line 참조}
136
136
 
137
- ### Strategic Assessment
138
- - **Feasibility**: {assessment with evidence}
139
- - **Priority recommendation**: {P1/P2/P3 with rationale}
137
+ ### 전략적 평가
138
+ - **실현 가능성**: {근거가 포함된 평가}
139
+ - **우선순위 권장**: {P1/P2/P3 근거}
140
140
 
141
- ### Risk & Considerations
142
- | Risk | Likelihood | Mitigation |
143
- |------|-----------|------------|
144
- | {risk} | {High/Medium/Low} | {mitigation} |
141
+ ### 리스크 고려사항
142
+ | 리스크 | 가능성 | 완화 방안 |
143
+ |--------|--------|----------|
144
+ | {리스크} | {High/Medium/Low} | {완화 방안} |
145
145
 
146
- **Estimated effort**: {XS/S/M/L/XL}
146
+ **예상 작업량**: {XS/S/M/L/XL}
147
147
 
148
148
  ---
149
- _🏛️ Senior Architect perspective — `/professor-triage` v2.1.0_
149
+ _🏛️ Senior Architect perspective — `/professor-triage` v2.2.0_
150
150
  ```
151
151
 
152
152
  **4B: 🤝 Project Colleague Review** — Delegate to arch-documenter (model: sonnet) to post GitHub comment:
@@ -154,19 +154,19 @@ _🏛️ Senior Architect perspective — `/professor-triage` v2.1.0_
154
154
  ```
155
155
  ## 🤝 Project Colleague Review
156
156
 
157
- ### Implementation Ideas
158
- {Concrete code locations and change suggestions with file:line references}
157
+ ### 구현 아이디어
158
+ {구체적 코드 위치 file:line 참조가 포함된 변경 제안}
159
159
 
160
- ### Easy-to-Miss Details
161
- - {Name collisions, validation bypasses, race conditions, edge cases}
160
+ ### 놓치기 쉬운 세부사항
161
+ - {이름 충돌, 유효성 검사 우회, 경쟁 조건, 엣지 케이스}
162
162
 
163
- ### Suggested Next Steps
164
- 1. {Actionable step with specific file/function reference}
165
- 2. {Actionable step}
166
- 3. {Actionable step}
163
+ ### 권장 다음 단계
164
+ 1. {구체적 file/function 참조가 포함된 실행 가능한 단계}
165
+ 2. {실행 가능한 단계}
166
+ 3. {실행 가능한 단계}
167
167
 
168
168
  ---
169
- _🤝 Project Colleague perspective — `/professor-triage` v2.1.0_
169
+ _🤝 Project Colleague perspective — `/professor-triage` v2.2.0_
170
170
  ```
171
171
 
172
172
  Note: Do NOT include a "First Impressions" (첫인상) section in the Colleague Review — this was explicitly excluded per user feedback.
@@ -176,38 +176,38 @@ Note: Do NOT include a "First Impressions" (첫인상) section in the Colleague
176
176
  ```
177
177
  ## 🎓 Professor Synthesis
178
178
 
179
- ### Codebase Verification
180
- | Claim (from Architect/Colleague) | Verified | Evidence |
181
- |----------------------------------|----------|----------|
182
- | {claim} | ✅/⚠️/❌ | {file:line or git evidence} |
179
+ ### 코드베이스 검증
180
+ | 주장 (Architect/Colleague) | 검증 | 근거 |
181
+ |---------------------------|------|------|
182
+ | {주장} | ✅/⚠️/❌ | {file:line 또는 git 근거} |
183
183
 
184
- ### Consensus & Divergence
185
- | Topic | Architect | Colleague | Verdict |
186
- |-------|-----------|-----------|---------|
187
- | {topic} | {position} | {position} | {synthesized judgment} |
184
+ ### 합의 이견
185
+ | 주제 | Architect | Colleague | 판정 |
186
+ |------|-----------|-----------|------|
187
+ | {주제} | {입장} | {입장} | {종합 판단} |
188
188
 
189
- ### Priority Matrix
190
- | Dimension | Assessment |
191
- |-----------|-----------|
192
- | Urgency | {High/Medium/Low} |
193
- | Importance | {High/Medium/Low} |
194
- | Size | {XS/S/M/L/XL} |
195
- | Recommended order | {N of M in batch} |
189
+ ### 우선순위 매트릭스
190
+ | 차원 | 평가 |
191
+ |------|------|
192
+ | 긴급성 | {High/Medium/Low} |
193
+ | 중요성 | {High/Medium/Low} |
194
+ | 규모 | {XS/S/M/L/XL} |
195
+ | 권장 순서 | {배치 N/M} |
196
196
 
197
- ### Missed Perspectives
198
- {Considerations neither Architect nor Colleague raised}
197
+ ### 누락된 관점
198
+ {Architect나 Colleague 모두 제기하지 않은 고려사항}
199
199
 
200
- ### Execution Roadmap
201
- | Phase | Task | Files | Depends on |
202
- |-------|------|-------|-----------|
203
- | 1 | {task} | {files} | — |
204
- | 2 | {task} | {files} | Phase 1 |
200
+ ### 실행 로드맵
201
+ | 단계 | 작업 | 파일 | 의존성 |
202
+ |------|------|------|--------|
203
+ | 1 | {작업} | {파일} | — |
204
+ | 2 | {작업} | {파일} | 단계 1 |
205
205
 
206
- ### Final Conclusion
207
- {2-3 sentence synthesis with definitive recommendation}
206
+ ### 최종 결론
207
+ {확정적 권장 사항이 포함된 2-3문장 종합}
208
208
 
209
209
  ---
210
- _🎓 Professor Synthesis — `/professor-triage` v2.1.0_
210
+ _🎓 Professor Synthesis — `/professor-triage` v2.2.0_
211
211
  ```
212
212
 
213
213
  **4D: Issue Triage Comment (MANDATORY)** — Every analyzed issue MUST receive a triage comment. This is not optional — even for issues created in the same session or with existing analysis. Skipping comments breaks the triage audit trail. Delegate to mgr-gitnerd to post on each analyzed issue:
@@ -215,14 +215,14 @@ _🎓 Professor Synthesis — `/professor-triage` v2.1.0_
215
215
  ```
216
216
  ## 🔬 Professor Triage — Codebase Analysis Result
217
217
 
218
- **Decision**: {Close (Already Resolved) | Close (Not Applicable) | Close (Duplicate of #NNN) | Open — action required | Open — monitoring}
219
- **Rationale**: {1-2 line summary based on codebase findings}
220
- **Affected files**: {N} analyzed — {N}✅ {N}⚠️ {N}❌
221
- **Risk**: {P1/P2/P3} | **Size**: {XS/S/M/L/XL}
222
- **Full report**: {artifact path}
218
+ **결정**: {Close (Already Resolved) | Close (Not Applicable) | Close (Duplicate of #NNN) | Open — action required | Open — monitoring}
219
+ **근거**: {코드베이스 분석 기반 1-2 요약}
220
+ **영향 파일**: {N} 분석 — {N}✅ {N}⚠️ {N}❌
221
+ **리스크**: {P1/P2/P3} | **규모**: {XS/S/M/L/XL}
222
+ **전체 리포트**: {artifact path}
223
223
 
224
224
  ---
225
- _Analyzed by `/professor-triage` v2.1.0 against current codebase with {N} related issues_
225
+ _`/professor-triage` v2.2.0 의해 현재 코드베이스 대비 분석됨 — 관련 이슈 {N}개_
226
226
  ```
227
227
 
228
228
  **4E: Artifact Report** — Delegate to arch-documenter to write:
@@ -233,37 +233,37 @@ Timestamps use local machine time (consistent with other artifact skills).
233
233
 
234
234
  Template:
235
235
  ```
236
- # Professor Triage Report — YYYY-MM-DD
236
+ # Professor Triage 리포트 — YYYY-MM-DD
237
237
 
238
- ## Analysis Target
239
- | # | Title | Labels | Created |
240
- |---|-------|--------|---------|
238
+ ## 분석 대상
239
+ | # | 제목 | 라벨 | 생성일 |
240
+ |---|------|------|--------|
241
241
 
242
- ## Per-Issue Analysis
242
+ ## 이슈별 분석
243
243
  ### #NNN — title
244
- - **Affected files**: N analyzed — N✅ N⚠️ N❌
245
- - **Architecture impact**: ...
246
- - **Implementation path**: ...
247
- - **Risk/Priority**: P1/P2/P3
248
- - **Size**: XS/S/M/L/XL
249
- - **Already resolved?**: Yes/No/Partial — evidence
250
- - **Recommended action**: ...
251
-
252
- ## Cross-Analysis
253
- ### Common Patterns
254
- ### Duplicate/Merge Candidates
255
- ### Conflicting Findings Resolution
256
- ### Priority Matrix
257
-
258
- ## Multi-Perspective Summary
259
- ### Architect Highlights
260
- ### Colleague Highlights
261
- ### Professor Synthesis Key Points
262
-
263
- ## Executed Actions
264
- | Issue | Action | Status |
265
-
266
- ## Pending Actions (Confirmation Required)
244
+ - **영향 파일**: N 분석 — N✅ N⚠️ N❌
245
+ - **아키텍처 영향**: ...
246
+ - **구현 경로**: ...
247
+ - **리스크/우선순위**: P1/P2/P3
248
+ - **규모**: XS/S/M/L/XL
249
+ - **이미 해결됨?**: Yes/No/Partial — 근거
250
+ - **권장 조치**: ...
251
+
252
+ ## 교차 분석
253
+ ### 공통 패턴
254
+ ### 중복/병합 후보
255
+ ### 상충 발견사항 해결
256
+ ### 우선순위 매트릭스
257
+
258
+ ## 다관점 요약
259
+ ### Architect 주요 사항
260
+ ### Colleague 주요 사항
261
+ ### Professor Synthesis 핵심 포인트
262
+
263
+ ## 실행된 조치
264
+ | 이슈 | 조치 | 상태 |
265
+
266
+ ## 보류 중인 조치 (확인 필요)
267
267
  ```
268
268
 
269
269
  ### Phase 4F: Comment Verification Gate
@@ -319,3 +319,7 @@ Present to user and wait for approval before executing:
319
319
  - Phase 4F: Verification gate for all 4 comment types
320
320
  - Phase 5: `mgr-gitnerd` for all GitHub operations
321
321
  - No external dependencies (omc_issue_analyzer removed in v2.0.0, multi-perspective analysis restored in v2.1.0)
322
+
323
+ ## Permission Mode
324
+
325
+ When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
@@ -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"` in the Agent tool call if the session uses bypassPermissions. Without explicit mode, CC defaults to `acceptEdits`.
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.
@@ -131,21 +131,21 @@ Apply semantic versioning to each release group in sequence:
131
131
  For each release group, produce:
132
132
 
133
133
  ```markdown
134
- ## vX.Y.Z Release Plan
134
+ ## vX.Y.Z 릴리즈 계획
135
135
 
136
- **Estimated scope**: {XS|S|M|L total} | **Issues**: N | **Parallelizable**: N
136
+ **예상 범위**: {XS|S|M|L 합계} | **이슈**: N | **병렬 가능**: N
137
137
 
138
- | # | Priority | Size | Title | Dependencies |
139
- |---|----------|------|-------|-------------|
140
- | #NNN | P2 | S | issue title | none |
141
- | #NNN | P1 | XS | issue title | none |
138
+ | # | 우선순위 | 규모 | 제목 | 의존성 |
139
+ |---|----------|------|------|--------|
140
+ | #NNN | P2 | S | 이슈 제목 | 없음 |
141
+ | #NNN | P1 | XS | 이슈 제목 | 없음 |
142
142
 
143
- ### Implementation Order
144
- 1. #NNN — {one-line description} (suggested agent: {agent-type})
145
- 2. #NNN — {one-line description} (suggested agent: {agent-type})
143
+ ### 구현 순서
144
+ 1. #NNN — {한줄 설명} (권장 에이전트: {agent-type})
145
+ 2. #NNN — {한줄 설명} (권장 에이전트: {agent-type})
146
146
 
147
- ### Notes
148
- - {any dependency constraints, breaking changes, or risks}
147
+ ### 참고 사항
148
+ - {의존성 제약, 호환성 이슈, 리스크 }
149
149
  ```
150
150
 
151
151
  ### Completeness Check
@@ -159,18 +159,18 @@ Before generating the plan document, verify:
159
159
  If any issue is missing from release bins, halt and report the discrepancy.
160
160
 
161
161
  **Agent suggestion heuristic**:
162
- | Issue domain | Suggested agent |
163
- |--------------|----------------|
164
- | Docs, CLAUDE.md, README | arch-documenter |
165
- | Rules (R00x) | mgr-claude-code-bible |
166
- | Agents (.claude/agents/) | mgr-creator / mgr-updater |
167
- | Skills (.claude/skills/) | mgr-creator / mgr-updater |
162
+ | 이슈 도메인 | 권장 에이전트 |
163
+ |-------------|--------------|
164
+ | 문서, CLAUDE.md, README | arch-documenter |
165
+ | 규칙 (R00x) | mgr-claude-code-bible |
166
+ | 에이전트 (.claude/agents/) | mgr-creator / mgr-updater |
167
+ | 스킬 (.claude/skills/) | mgr-creator / mgr-updater |
168
168
  | CI, GitHub Actions | mgr-gitnerd |
169
169
  | TypeScript/Node | lang-typescript-expert |
170
170
  | Python | lang-python-expert |
171
171
  | Go | lang-golang-expert |
172
- | Testing | qa-engineer |
173
- | General fix | general-purpose |
172
+ | 테스트 | qa-engineer |
173
+ | 일반 수정 | general-purpose |
174
174
 
175
175
  ### Phase 7: Output
176
176
 
@@ -184,16 +184,16 @@ Use today's date and the first planned release version in the filename.
184
184
 
185
185
  File header format:
186
186
  ```markdown
187
- # Release PlanGenerated YYYY-MM-DD
187
+ # 릴리즈 계획 — YYYY-MM-DD 생성
188
188
 
189
- > Source: open issues labeled `verify-done` as of YYYY-MM-DD
190
- > Issues excluded (already in open PRs): #NNN, #NNN
189
+ > 출처: YYYY-MM-DD 기준 `verify-done` 라벨 오픈 이슈
190
+ > 제외된 이슈 (이미 오픈 PR에 포함): #NNN, #NNN
191
191
 
192
- {release groups follow}
192
+ {릴리즈 그룹}
193
193
 
194
- ## Summary
195
- | Release | Issues | Size | P1 | P2 | P3 |
196
- |---------|--------|------|----|----|-----|
194
+ ## 요약
195
+ | 릴리즈 | 이슈 | 규모 | P1 | P2 | P3 |
196
+ |--------|---------|------|----|----|-----|
197
197
  | vX.Y.Z | N | S | 0 | 3 | 1 |
198
198
  ```
199
199
 
@@ -205,3 +205,7 @@ File header format:
205
205
  - User confirms before any downstream action (implementation, commits)
206
206
  - Zero network calls except `gh` CLI (local API)
207
207
  - If no eligible issues found, report and stop — do not generate empty plan
208
+
209
+ ## Permission Mode
210
+
211
+ When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
@@ -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"` in the Agent tool call if the session uses bypassPermissions. Without explicit mode, CC defaults to `acceptEdits`.
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
 
@@ -190,6 +190,10 @@ rm -f /tmp/.claude-dev-stage # Clear (disable blocking)
190
190
  - **Single session**: The fixed path `/tmp/.claude-dev-stage` does not support concurrent Claude Code sessions. Running multiple sessions simultaneously may cause stage state conflicts.
191
191
  - **World-writable path**: The `/tmp/` directory is accessible to all users. For multi-user environments, consider using a user-scoped path like `/tmp/.claude-dev-stage-$(id -u)`.
192
192
 
193
+ ## Permission Mode
194
+
195
+ When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
196
+
193
197
  ## Display Format
194
198
 
195
199
  ```
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.100.0",
2
+ "version": "0.101.0",
3
3
  "lastUpdated": "2026-04-18T00:00:00.000Z",
4
4
  "components": [
5
5
  {