oh-my-customcodex 0.4.3 → 0.4.5

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 (26) hide show
  1. package/dist/cli/index.js +1 -1
  2. package/dist/index.js +1 -1
  3. package/package.json +1 -1
  4. package/templates/.claude/rules/MUST-agent-design.md +6 -0
  5. package/templates/.claude/skills/agora/SKILL.md +4 -0
  6. package/templates/.claude/skills/dag-orchestration/SKILL.md +31 -3
  7. package/templates/.claude/skills/de-lead-routing/SKILL.md +4 -0
  8. package/templates/.claude/skills/deep-plan/SKILL.md +28 -9
  9. package/templates/.claude/skills/deep-verify/SKILL.md +1 -0
  10. package/templates/.claude/skills/dev-lead-routing/SKILL.md +6 -0
  11. package/templates/.claude/skills/hada-scout/SKILL.md +104 -48
  12. package/templates/.claude/skills/harness-eval/SKILL.md +4 -0
  13. package/templates/.claude/skills/omcodex-improve-report/SKILL.md +4 -0
  14. package/templates/.claude/skills/omcodex-takeover/SKILL.md +4 -0
  15. package/templates/.claude/skills/optimize-analyze/SKILL.md +4 -0
  16. package/templates/.claude/skills/optimize-report/SKILL.md +4 -0
  17. package/templates/.claude/skills/professor-triage/SKILL.md +86 -84
  18. package/templates/.claude/skills/qa-lead-routing/SKILL.md +4 -0
  19. package/templates/.claude/skills/research/SKILL.md +1 -0
  20. package/templates/.claude/skills/roundtable-debate/SKILL.md +4 -0
  21. package/templates/.claude/skills/scout/SKILL.md +37 -32
  22. package/templates/.claude/skills/secretary-routing/SKILL.md +7 -1
  23. package/templates/.claude/skills/task-decomposition/SKILL.md +45 -1
  24. package/templates/.claude/skills/worker-reviewer-pipeline/SKILL.md +4 -0
  25. package/templates/manifest.json +1 -1
  26. package/templates/workflows/auto-dev.yaml +1 -0
package/dist/cli/index.js CHANGED
@@ -3091,7 +3091,7 @@ var init_package = __esm(() => {
3091
3091
  workspaces: [
3092
3092
  "packages/*"
3093
3093
  ],
3094
- version: "0.4.3",
3094
+ version: "0.4.5",
3095
3095
  description: "Batteries-included agent harness on top of GPT Codex + OMX",
3096
3096
  type: "module",
3097
3097
  bin: {
package/dist/index.js CHANGED
@@ -2180,7 +2180,7 @@ var package_default = {
2180
2180
  workspaces: [
2181
2181
  "packages/*"
2182
2182
  ],
2183
- version: "0.4.3",
2183
+ version: "0.4.5",
2184
2184
  description: "Batteries-included agent harness on top of GPT Codex + OMX",
2185
2185
  type: "module",
2186
2186
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.4.3",
6
+ "version": "0.4.5",
7
7
  "description": "Batteries-included agent harness on top of GPT Codex + OMX",
8
8
  "type": "module",
9
9
  "bin": {
@@ -256,6 +256,12 @@ Recommended practice:
256
256
  4. In this Codex port, update `.codex/...` source files and their `templates/.claude/...` mirrors deliberately instead of bulk-copying with shell commands.
257
257
  5. For unattended Claude compatibility-template writes, use a reviewed temporary script wrapper and verify the resulting diff; direct Bash/Write/Edit targets under `templates/.claude/**` can all trigger the sensitive-path guard.
258
258
 
259
+ Delegation prompt requirement:
260
+
261
+ Any prompt that delegates work involving `.claude/**`, `templates/.claude/**`, `.claude/outputs/**`, or read-only measurement of those paths MUST include this block verbatim:
262
+
263
+ > Sensitive-path artifact protocol (mandatory): do not ask a subagent to call Read, Bash, Write, or Edit directly on `.claude/**` or `templates/.claude/**` paths. If Claude compatibility artifacts are required, have the subagent produce the artifact body in `/tmp/{skill}-{timestamp}.md`, then use a reviewed temporary script wrapper or managed file-write API for the final checked-in path. Do not use direct Write/Edit/Bash targets under `.claude/**` in unattended flows.
264
+
259
265
  ## Separation of Concerns
260
266
 
261
267
  | Location | Purpose | Contains |
@@ -23,6 +23,10 @@ source:
23
23
  - `gemini-exec` skill (Gemini 호출)
24
24
  - Agent Teams enabled (`OMCODEX_AGENT_TEAMS=1`) or Agent tool available
25
25
 
26
+ ## Sensitive-Path Delegation
27
+
28
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
29
+
26
30
  ## Usage
27
31
 
28
32
  ```
@@ -57,7 +57,7 @@ nodes:
57
57
  depends_on: [test, review, docs]
58
58
 
59
59
  config:
60
- max_parallel: 4 # R009 limit
60
+ max_parallel: 4 # R009 soft default (hard cap: 5)
61
61
  failure_strategy: stop # stop | skip | retry
62
62
  retry_count: 2 # Max retries per node (if strategy=retry)
63
63
  timeout_per_node: 300 # Seconds per node (0 = no limit)
@@ -76,19 +76,28 @@ config:
76
76
  c. On completion:
77
77
  - Success → decrement in-degree of dependents
78
78
  - Failure → apply failure_strategy
79
- d. Enqueue newly-ready nodes (in-degree = 0)
79
+ d. Stall check:
80
+ - If running node duration > 2x average completed duration
81
+ - AND pending nodes exist with in-degree = 0 (ignoring stalled node's edges)
82
+ - THEN enqueue those independent nodes immediately (adaptive split)
83
+ e. Enqueue newly-ready nodes (in-degree = 0)
80
84
  6. Verify all nodes executed (detect unreachable nodes)
81
85
  ```
82
86
 
87
+ ## Sensitive-Path Delegation
88
+
89
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
90
+
83
91
  ## Execution Rules
84
92
 
85
93
  | Rule | Detail |
86
94
  |------|--------|
87
- | Max parallel | 4 concurrent nodes (R009) |
95
+ | Max parallel | 5 concurrent nodes max, 4 default (R009) |
88
96
  | Agent Teams gate | 3+ parallel nodes → check R018 eligibility |
89
97
  | Orchestrator only | DAG scheduling runs in main conversation (R010) |
90
98
  | Node execution | Each node = one Task tool call to specified agent |
91
99
  | State tracking | `/tmp/.codex-dag-$PPID.json` |
100
+ | Stall detection | Running node > 2x avg completed duration → enqueue independent pending nodes early |
92
101
 
93
102
  ## Failure Strategies
94
103
 
@@ -219,3 +228,22 @@ See `.codex/agents/tracker-checkpoint.md` for the agent contract.
219
228
  - Max 20 nodes per workflow (complexity guard)
220
229
  - Nested DAGs not supported (flatten instead)
221
230
  - Cross-workflow dependencies not supported
231
+
232
+ ## External References
233
+
234
+ ### Multica — Managed Agent Platform
235
+
236
+ > Reference: [Multica](https://github.com/multica-ai/multica) — managed agent platform for Claude Code/Codex.
237
+ > Verdict: INTEGRATE (external reference, not internalize)
238
+
239
+ Multica's task lifecycle pattern (enqueue → claim → start → complete/fail) is a useful reference for DAG node state management:
240
+
241
+ | Multica State | DAG Equivalent | Notes |
242
+ |---------------|---------------|-------|
243
+ | enqueue | pending | Node waiting for dependencies |
244
+ | claim | ready | Dependencies resolved, ready to execute |
245
+ | start | running | Agent spawned and executing |
246
+ | complete | completed | Node finished successfully |
247
+ | fail | failed | Node execution failed |
248
+
249
+ Consider this pattern when extending DAG node state tracking or implementing retry logic.
@@ -219,6 +219,10 @@ Delegate to mgr-creator with context:
219
219
  - Unfamiliar data formats or connectors
220
220
  - Data tool detected in project but no specialist agent
221
221
 
222
+ ## Sensitive-Path Delegation
223
+
224
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
225
+
222
226
  ## Usage
223
227
 
224
228
  This skill is NOT user-invocable. It should be automatically triggered when the main conversation detects data engineering intent.
@@ -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
 
@@ -332,6 +349,8 @@ Phase 3 verification report is persisted by the final synthesis agent:
332
349
  .codex/outputs/sessions/{YYYY-MM-DD}/deep-plan-{HHmmss}.md
333
350
  ```
334
351
 
352
+ Sensitive-path artifact protocol (mandatory): if any research, planning, or verification delegate must touch `.claude/**`, `.claude/outputs/**`, or `templates/.claude/**`, include the protocol directly in that delegate prompt. The delegate must write artifact bodies to `/tmp/deep-plan-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
353
+
335
354
  With metadata header:
336
355
  ```markdown
337
356
  ---
@@ -73,6 +73,7 @@ Each agent receives the full diff and returns findings as structured JSON:
73
73
  - Verify all changes align with project's compilation metaphor (Skills=source, Agents=artifacts, Rules=spec)
74
74
  - Check separation of concerns: no agents containing skill logic, no skills with agent definitions
75
75
  - Verify orchestrator rules: no new file writes from orchestrator context
76
+ - Verify sensitive-path delegation: prompts that touch `.claude/**`, `.claude/outputs/**`, or `templates/.claude/**` include the exact phrase `Sensitive-path artifact protocol (mandatory)`, require an explicit `/tmp/{skill}-{timestamp}.md` artifact body path, mention `Read, Bash, Write, or Edit` coverage, and do not rely on a single vague `/tmp` recommendation
76
77
  - Check advisory-first: no new hard-blocking hooks introduced
77
78
  - Confirm no feature regressions: existing APIs preserved, test coverage maintained
78
79
  - Performance sanity: no O(n^2) on large datasets, no missing indexes for new queries
@@ -8,6 +8,10 @@ context: fork
8
8
 
9
9
  # Dev Lead Routing
10
10
 
11
+ ## Sensitive-Path Delegation
12
+
13
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
14
+
11
15
  ## Engineers
12
16
 
13
17
  | Type | Agents |
@@ -20,6 +24,7 @@ context: fork
20
24
  | Architect | arch-documenter, arch-speckit-agent |
21
25
  | Security | sec-codeql-expert |
22
26
  | Infra | infra-docker-expert, infra-aws-expert |
27
+ | Slack | slack-cli-expert |
23
28
 
24
29
  ## File Extension Mapping
25
30
 
@@ -74,6 +79,7 @@ context: fork
74
79
  | security, codeql, cve, vulnerability, sarif, sast, security audit | sec-codeql-expert |
75
80
  | architecture, adr, openapi, swagger, diagram | arch-documenter |
76
81
  | spec, specification, tdd, requirements | arch-speckit-agent |
82
+ | slack, slack-cli, slack app, slack deploy, slack trigger, slack datastore | slack-cli-expert |
77
83
 
78
84
  ## Model Selection
79
85
 
@@ -1,92 +1,148 @@
1
1
  ---
2
2
  name: hada-scout
3
- description: hada.io RSS feed monitoring for AI agent/harness articles with automated /scout analysis
4
- scope: package
5
- version: 1.0.0
6
- user-invocable: false
3
+ description: hada.io RSS feed monitoring with LLM pre-scout filtering for oh-my-customcodex relevance
4
+ scope: core
5
+ version: 2.0.0
6
+ user-invocable: true
7
+ argument-hint: "[--limit N] [--threshold N]"
7
8
  ---
8
9
 
9
10
  # hada-scout
10
11
 
11
- Automated pipeline that monitors hada.io (via feedburner RSS) for AI agent, harness, benchmark, and eval-related articles, then runs `/scout` analysis on each match.
12
+ 3-phase in-session pipeline that monitors hada.io (via feedburner RSS) for relevant articles,
13
+ uses a haiku LLM batch to pre-score relevance, and dispatches full `/scout` analysis only on
14
+ high-scoring candidates.
15
+
16
+ ## Sensitive-Path Delegation
17
+
18
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
12
19
 
13
20
  ## Purpose
14
21
 
15
- Complement geeknews-scout with harness/eval-focused coverage from hada.io. While geeknews-scout casts a broad net over AI agent news, hada-scout narrows to benchmark/evaluation framework content — the domain most relevant to oh-my-customcodex's harness and agent-eval subsystems.
22
+ Replace the v1.0 keyword-regex approach with context-aware LLM pre-scoring. Haiku evaluates
23
+ all feed titles in a single batch call, reducing false positives from ~30-40% to ~5-10% and
24
+ eliminating the external CronJob dependency for user-invoked runs.
25
+
26
+ ## Architecture: 3-Phase In-Session Pipeline
16
27
 
17
- ## Architecture: 2-Layer Hybrid
28
+ ### Phase 1 — Fetch & Parse
18
29
 
19
- ### Layer 1 check-feed.sh (feed → issues)
30
+ 1. WebFetch the hada.io RSS feed (`https://feeds.feedburner.com/geeknews-feed`)
31
+ 2. Parse all items: title, URL, publication date
32
+ 3. Default: latest 50 items (configurable via `--limit` or `HADA_SCOUT_LIMIT`)
20
33
 
21
- 1. Fetch hada.io feedburner RSS
22
- 2. Filter entries by keyword regex (case-insensitive)
23
- 3. Dedup against existing `hada-scout` issues
24
- 4. Create GitHub issue per match with labels `hada-scout` + `pending-scout`
34
+ ### Phase 2 Pre-Scout (haiku batch)
25
35
 
26
- ### Layer 2 scout-runner.sh (issues /scout)
36
+ 1. Spawn 1 haiku agent with ALL item titles as a single batch input
37
+ 2. Agent evaluates each title against oh-my-customcodex's domain (see prompt template below)
38
+ 3. Returns relevance score (0–100) and a 1-line reason for each item
39
+ 4. Threshold: ≥ 60 passes to Phase 3 (configurable via `--threshold` or `HADA_SCOUT_THRESHOLD`)
40
+ 5. Cost: ~$0.01–0.05 for 50 items
27
41
 
28
- 1. Find open issues with `pending-scout` label
29
- 2. Extract source URL from issue body
30
- 3. Run `claude -p "/scout {url}"` (max 5 executions per run)
31
- 4. Parse verdict from /scout output
32
- 5. Apply verdict label, remove `pending-scout`
42
+ ### Phase 3 Scout Dispatch
33
43
 
34
- ## Keyword Strategy
44
+ 1. Dedup: check existing `hada-scout` labeled issues via `gh issue list --label hada-scout`
45
+ 2. For each passing item (max 5 per run, configurable via `MAX_SCOUT_PER_RUN`):
46
+ - Run full `/scout` analysis via Skill tool invocation
47
+ - Scout creates GitHub issue with verdict label on `baekenough/oh-my-customcodex`
48
+ - Add `hada-scout` label to the created issue
49
+ 3. Dispatch up to 4 scouts in parallel per R009
35
50
 
36
- hada-scout uses harness/benchmark/eval focused keywords, distinct from geeknews-scout's broader AI agent coverage:
51
+ ## Pre-Scout Prompt Template
52
+
53
+ The haiku agent receives the following system prompt:
37
54
 
38
55
  ```
39
- harness|benchmark|eval|evaluation framework|agent framework|코드 리뷰 자동화|하네스|벤치마크|평가
56
+ You are a relevance filter for the oh-my-customcodex project — an AI agent harness/orchestration
57
+ system built on GPT Codex + OMX with 44 agents, 74 skills.
58
+
59
+ Project domains (HIGH relevance):
60
+ - AI agent orchestration, multi-agent systems, agent design patterns
61
+ - Harness, benchmark, evaluation frameworks for AI agents
62
+ - GPT Codex, OMX, MCP protocol
63
+ - Code review automation, development workflow automation
64
+ - Agent sandbox, isolation, security patterns
65
+ - LLM-assisted development tools and methodologies
66
+
67
+ Project domains (MEDIUM relevance):
68
+ - General AI/ML tooling that could be adapted for agent workflows
69
+ - DevOps automation patterns applicable to agent infrastructure
70
+ - New programming paradigms for AI-assisted development
71
+
72
+ NOT relevant:
73
+ - Pure frontend/UI frameworks without agent connection
74
+ - Business/management topics
75
+ - Hardware, networking, non-AI infrastructure
76
+ - Social media, marketing tools
77
+
78
+ For each item below, return: score (0-100) | reason (1 line)
79
+
80
+ Items:
81
+ {numbered_item_list}
40
82
  ```
41
83
 
42
- Geeknews-scout handles: `Claude|Anthropic|MCP|AI agent|에이전트|agentic|multi-agent|...`
84
+ ## Display Format
85
+
86
+ ```
87
+ [hada-scout] Scanning hada.io feed...
88
+ ├── Phase 1: Fetched {n} items
89
+ ├── Phase 2: Pre-scout → {passed}/{total} items passed (threshold: {t}%)
90
+ │ ├── ✓ {title1} (score: {s1}%)
91
+ │ ├── ✓ {title2} (score: {s2}%)
92
+ │ └── ✗ {title3} (score: {s3}%) — skipped
93
+ ├── Phase 3: Scout dispatch ({n} items, max 5)
94
+ │ ├── [1] /scout {url1} → {verdict}
95
+ │ └── [2] /scout {url2} → {verdict}
96
+ └── [Done] {created}/{dispatched} issues created
97
+ ```
43
98
 
44
99
  ## Label Scheme
45
100
 
46
101
  | Label | Purpose |
47
102
  |-------|---------|
48
103
  | `hada-scout` | Source identification — all hada-scout created issues |
49
- | `pending-scout` | Awaiting /scout analysis (set by Layer 1, cleared by Layer 2) |
50
104
  | `scout:internalize` | /scout verdict: adopt into project |
51
105
  | `scout:integrate` | /scout verdict: use as external dependency |
52
106
  | `scout:skip` | /scout verdict: not relevant |
53
107
 
54
108
  ## Cost Controls
55
109
 
56
- - Layer 2 runs at most **5 /scout executions per cron invocation**
57
- - Each /scout call costs ~$0.5–1.5 (sonnet)
58
- - Remaining `pending-scout` issues are processed in the next scheduled run
59
-
60
- ## Deployment
61
-
62
- - Pattern: same K8s CronJob structure as `infra/geeknews-scout/`
63
- - Host: `ubuntu-ext` cluster
64
- - Infrastructure files: `infra/hada-scout/`
65
- - `check-feed.sh` — Layer 1 feed poller
66
- - `scout-runner.sh` — Layer 2 /scout executor
67
- - `Dockerfile`
68
- - `cronjob.template.yaml`
69
- - `deploy.sh`
70
- - `.env.example`
110
+ | Stage | Model | Estimated Cost |
111
+ |-------|-------|----------------|
112
+ | Pre-scout (Phase 2) | haiku | ~$0.01–0.05 per run (50 items) |
113
+ | Full scout (Phase 3) | sonnet | ~$0.5–1.5 per item, max 5 per run |
114
+ | Total max per invocation | — | ~$8 |
71
115
 
72
116
  ## Environment Variables
73
117
 
74
118
  | Variable | Default | Description |
75
119
  |----------|---------|-------------|
76
- | `GH_TOKEN` | (required) | GitHub PAT for issue creation |
77
- | `REPO` | `baekenough/oh-my-customcodex` | Target repo |
78
- | `FEED_URL` | `http://feeds.feedburner.com/geeknews-feed` | hada.io RSS feed |
79
- | `KEYWORDS` | (see above) | Pipe-separated keyword regex |
80
- | `MAX_SCOUT_PER_RUN` | `5` | Max /scout executions per Layer 2 run |
120
+ | `FEED_URL` | `https://feeds.feedburner.com/geeknews-feed` | RSS feed URL |
121
+ | `HADA_SCOUT_THRESHOLD` | `60` | Pre-scout score threshold (0–100) |
122
+ | `HADA_SCOUT_LIMIT` | `50` | Max feed items to fetch and score |
123
+ | `MAX_SCOUT_PER_RUN` | `5` | Max /scout executions per invocation |
124
+ | `GH_TOKEN` | (required) | GitHub PAT for issue creation and dedup |
81
125
 
82
126
  ## Integration
83
127
 
84
128
  | Rule | How |
85
129
  |------|-----|
86
- | R009 | Layer 1 and Layer 2 run as independent CronJobs |
87
- | R010 | Skill defines the architecture; implementation delegated to infra-docker-expert for K8s manifests |
88
- | scout skill | Layer 2 invokes `/scout` via `claude -p` subprocess |
89
-
90
- ## Tracking Issue
130
+ | R009 | Phase 3 scout dispatches run in parallel (up to 4 concurrent) |
131
+ | R010 | Orchestrator manages phases; analysis delegated to haiku/sonnet agents |
132
+ | R015 | Pre-scout scores and reasons displayed before dispatching full scouts |
133
+ | scout skill | Phase 3 invokes `/scout` via Skill tool for each candidate URL |
134
+
135
+ ## Differences from v1.0
136
+
137
+ | Aspect | v1.0 (keyword) | v2.0 (LLM pre-scout) |
138
+ |--------|----------------|----------------------|
139
+ | Filtering | Regex keyword match | LLM relevance scoring (haiku) |
140
+ | Invocation | External CronJob only | User-invocable `/hada-scout` + CronJob |
141
+ | Precision | Low (keyword false positives) | High (context-aware scoring) |
142
+ | Cost per scan | $0 (regex) + $2.5–7.5 (/scout) | $0.05 (pre-scout) + $2.5–7.5 (/scout) |
143
+ | False positive rate | ~30–40% | ~5–10% |
144
+ | Scope | `package` | `core` |
145
+
146
+ ## Tracking
91
147
 
92
148
  GitHub Issue #841
@@ -14,6 +14,10 @@ version: 1.0.0
14
14
 
15
15
  Evaluate agent quality using 15 structured software engineering task definitions with quantitative scoring. Based on research from [revfactory/claude-code-harness](https://github.com/revfactory/claude-code-harness) which demonstrated 60% improvement (49.5 → 79.3 points) through structured pre-configuration.
16
16
 
17
+ ## Sensitive-Path Delegation
18
+
19
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
20
+
17
21
  ## Usage
18
22
 
19
23
  ```
@@ -13,6 +13,10 @@ Display improvement suggestions from eval-core analysis engine as read-only repo
13
13
 
14
14
  Surface actionable improvement suggestions gathered by the eval-core analysis engine. Reads from eval-core's local database and renders insights as structured markdown. Useful for understanding routing quality, skill effectiveness, and agent usage patterns.
15
15
 
16
+ ## Sensitive-Path Delegation
17
+
18
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
19
+
16
20
  ## Usage
17
21
 
18
22
  ```
@@ -14,6 +14,10 @@ Extract a canonical specification from an existing agent or skill file. Inspired
14
14
 
15
15
  When an agent or skill has evolved organically without a formal spec, `omcodex:takeover` reverse-engineers a structured specification that captures its intent, invariants, workflow contract, and I/O contract.
16
16
 
17
+ ## Sensitive-Path Delegation
18
+
19
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
20
+
17
21
  ## Usage
18
22
 
19
23
  ```
@@ -22,6 +22,10 @@ target Build output path or project root (optional, auto-detects)
22
22
  --verbose, -v Show detailed analysis
23
23
  ```
24
24
 
25
+ ## Sensitive-Path Delegation
26
+
27
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
28
+
25
29
  ## Workflow
26
30
 
27
31
  ```
@@ -18,6 +18,10 @@ Generate comprehensive optimization report with analysis, metrics, and recommend
18
18
  Default: text
19
19
  ```
20
20
 
21
+ ## Sensitive-Path Delegation
22
+
23
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
24
+
21
25
  ## Workflow
22
26
 
23
27
  ```
@@ -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:
@@ -231,39 +231,41 @@ Path: `.codex/outputs/sessions/YYYY-MM-DD/professor-triage-HHmmss.md`
231
231
 
232
232
  Timestamps use local machine time (consistent with other artifact skills).
233
233
 
234
+ Sensitive-path artifact protocol (mandatory): if a delegated agent must create or inspect Claude compatibility artifacts under `.claude/**`, `.claude/outputs/**`, or `templates/.claude/**`, include this protocol in the delegated prompt. The agent must produce artifact bodies in `/tmp/professor-triage-{timestamp}.md` first and must not call Read, Bash, Write, or Edit directly on `.claude/**` paths in unattended flows. Codex-native `.codex/outputs/**` artifacts continue to use managed file-write APIs that create parents.
235
+
234
236
  Template:
235
237
  ```
236
- # Professor Triage Report — YYYY-MM-DD
238
+ # Professor Triage 리포트 — YYYY-MM-DD
237
239
 
238
- ## Analysis Target
239
- | # | Title | Labels | Created |
240
- |---|-------|--------|---------|
240
+ ## 분석 대상
241
+ | # | 제목 | 라벨 | 생성일 |
242
+ |---|------|------|--------|
241
243
 
242
- ## Per-Issue Analysis
244
+ ## 이슈별 분석
243
245
  ### #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)
246
+ - **영향 파일**: N 분석 — N✅ N⚠️ N❌
247
+ - **아키텍처 영향**: ...
248
+ - **구현 경로**: ...
249
+ - **리스크/우선순위**: P1/P2/P3
250
+ - **규모**: XS/S/M/L/XL
251
+ - **이미 해결됨?**: Yes/No/Partial — 근거
252
+ - **권장 조치**: ...
253
+
254
+ ## 교차 분석
255
+ ### 공통 패턴
256
+ ### 중복/병합 후보
257
+ ### 상충 발견사항 해결
258
+ ### 우선순위 매트릭스
259
+
260
+ ## 다관점 요약
261
+ ### Architect 주요 사항
262
+ ### Colleague 주요 사항
263
+ ### Professor Synthesis 핵심 포인트
264
+
265
+ ## 실행된 조치
266
+ | 이슈 | 조치 | 상태 |
267
+
268
+ ## 보류 중인 조치 (확인 필요)
267
269
  ```
268
270
 
269
271
  ### Phase 4F: Comment Verification Gate
@@ -92,6 +92,10 @@ Delegate to mgr-creator with context:
92
92
  - Specialized QA methodologies (e.g., "뮤테이션 테스트 전략 만들어줘")
93
93
  - Performance/security testing tools not covered by existing agents
94
94
 
95
+ ## Sensitive-Path Delegation
96
+
97
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
98
+
95
99
  ## Usage
96
100
 
97
101
  This skill is NOT user-invocable. It should be automatically triggered when the main conversation detects QA intent.
@@ -214,6 +214,7 @@ Convergence expected by round 3. Hard stop at round 30.
214
214
  ---
215
215
  ```
216
216
  The agent writes the artifact file using a file-write API that creates missing parent directories; do not run any Bash directory-creation pre-step for session outputs (R010 compliance).
217
+ Sensitive-path artifact protocol (mandatory): if a delegated research agent must inspect or create Claude compatibility artifacts under `.claude/**`, `.claude/outputs/**`, or `templates/.claude/**`, the delegated prompt must require `/tmp/research-{timestamp}.md` as the first artifact body target and must forbid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
217
218
  3. GitHub issue auto-created with findings
218
219
  4. Action items with effort estimates
219
220
 
@@ -20,6 +20,10 @@ Run a bounded debate when convergence would hide useful disagreement. Unlike `ag
20
20
  - Review work where anchoring or groupthink is likely.
21
21
  - Decisions where a minority risk could be more important than the majority preference.
22
22
 
23
+ ## Sensitive-Path Delegation
24
+
25
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
26
+
23
27
  ## Workflow
24
28
 
25
29
  1. **Independent-first analysis**: spawn 3-5 reviewers in parallel. Do not share intermediate opinions before each reviewer submits an initial view.
@@ -11,6 +11,10 @@ argument-hint: "<url>"
11
11
 
12
12
  Analyze an external URL (tech blog, tool, library, methodology) to evaluate its fit with the oh-my-customcodex project and auto-create a GitHub issue with a structured verdict.
13
13
 
14
+ ## Sensitive-Path Delegation
15
+
16
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
17
+
14
18
  ## Usage
15
19
 
16
20
  ```
@@ -58,13 +62,13 @@ Before execution, show the plan:
58
62
 
59
63
  ```
60
64
  [Scout] {url}
61
- ├── Phase 1: Fetch & Summarize
62
- ├── Phase 2: Load Project Philosophy
63
- ├── Phase 3: Fit Analysis (sonnet)
64
- └── Phase 4: Issue Creation
65
+ ├── Phase 1: 콘텐츠 수집 및 요약
66
+ ├── Phase 2: 프로젝트 철학 로드
67
+ ├── Phase 3: 적합성 분석 (sonnet)
68
+ └── Phase 4: 이슈 생성
65
69
 
66
- Estimated: ~1 min | Cost: ~$0.5-1.5
67
- Execute? [Y/n]
70
+ 예상: ~1 | 비용: ~$0.5-1.5
71
+ 실행하시겠습니까? [Y/n]
68
72
  ```
69
73
 
70
74
  ## Workflow
@@ -135,6 +139,7 @@ Return a structured verdict:
135
139
  - philosophy_table: criterion/fit/rationale for each dimension
136
140
  - recommendation: specific integration plan or skip reason
137
141
  - next_steps: 2-3 actionable items
142
+ - IMPORTANT: Write all analysis output in Korean. Technical terms, code references, label names, and skill/agent names stay in English.
138
143
  - escalation: true/false (INTERNALIZE + M/L effort = true)
139
144
  ```
140
145
 
@@ -165,32 +170,32 @@ gh issue close {number} -c "Auto-closed: scout verdict is SKIP"
165
170
  ### Issue Body Template
166
171
 
167
172
  ```markdown
168
- ## Scout Report: {title}
173
+ ## Scout 리포트: {title}
169
174
 
170
- **Source**: {url}
171
- **Verdict**: {INTERNALIZE / INTEGRATE / SKIP}
172
- **Priority**: {P1 / P2 / P3}
175
+ **출처**: {url}
176
+ **판정**: {INTERNALIZE / INTEGRATE / SKIP}
177
+ **우선순위**: {P1 / P2 / P3}
173
178
 
174
- ## Summary
175
- {2-3 sentence summary of the external content}
179
+ ## 요약
180
+ {외부 콘텐츠에 대한 2-3문장 요약}
176
181
 
177
- ## Philosophy Alignment
178
- | Criterion | Fit | Rationale |
179
- |-----------|-----|-----------|
180
- | Compilation metaphor | {check/cross} | {explanation} |
181
- | Separation of concerns (R006) | {check/cross} | {explanation} |
182
- | Dynamic agent creation | {check/cross} | {explanation} |
183
- | Existing skill overlap | {check/cross} | {overlapping skills list} |
182
+ ## 프로젝트 철학 정합성
183
+ | 기준 | 적합 | 근거 |
184
+ |------|------|------|
185
+ | Compilation metaphor | {check/cross} | {설명} |
186
+ | Separation of concerns (R006) | {check/cross} | {설명} |
187
+ | Dynamic agent creation | {check/cross} | {설명} |
188
+ | 기존 스킬 중복 | {check/cross} | {중복 스킬 목록} |
184
189
 
185
- ## Recommendation
186
- {Specific integration planwhich skill/agent/guide to create, or why to skip}
190
+ ## 권장 사항
191
+ {구체적 통합 계획어떤 skill/agent/guide 생성할지, 또는 건너뛰는 이유}
187
192
 
188
- ## Next Steps
189
- - [ ] {follow-up action 1}
190
- - [ ] {follow-up action 2}
193
+ ## 다음 단계
194
+ - [ ] {후속 조치 1}
195
+ - [ ] {후속 조치 2}
191
196
 
192
197
  ---
193
- Generated by `/scout`
198
+ `/scout`에 의해 생성됨
194
199
  ```
195
200
 
196
201
  ## Escalation
@@ -198,18 +203,18 @@ Generated by `/scout`
198
203
  When verdict is `INTERNALIZE` and integration effort is M or L:
199
204
 
200
205
  ```
201
- [Advisory] Deep analysis recommended.
202
- └── Consider running: /research {url}
206
+ [Advisory] 심층 분석 권장.
207
+ └── 실행 검토: /research {url}
203
208
  ```
204
209
 
205
210
  ## Result Display
206
211
 
207
212
  ```
208
- [Scout Complete] {title}
209
- ├── Verdict: {INTERNALIZE / INTEGRATE / SKIP}
210
- ├── Priority: {P1 / P2 / P3}
211
- ├── Issue: #{number}
212
- └── Escalation: {/research recommended | none}
213
+ [Scout 완료] {title}
214
+ ├── 판정: {INTERNALIZE / INTEGRATE / SKIP}
215
+ ├── 우선순위: {P1 / P2 / P3}
216
+ ├── 이슈: #{number}
217
+ └── 에스컬레이션: {/research 권장 | 없음}
213
218
  ```
214
219
 
215
220
  ## Model Selection
@@ -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" |
@@ -45,6 +45,8 @@ Before routing via Task tool, evaluate Agent Teams eligibility first:
45
45
  User Input → Routing → Manager Agent
46
46
 
47
47
  create → mgr-creator
48
+ create skill → mgr-creator
49
+ create guide → mgr-creator
48
50
  update → mgr-updater
49
51
  audit → mgr-supplier
50
52
  git → mgr-gitnerd
@@ -130,6 +132,10 @@ Evaluate: Is this a specialized management/tooling task?
130
132
  - New monitoring tool setup (e.g., "Grafana 대시보드 관리")
131
133
  - Unfamiliar package manager operations
132
134
 
135
+ ## Sensitive-Path Delegation
136
+
137
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
138
+
133
139
  ## Usage
134
140
 
135
141
  This skill is NOT user-invocable. It is automatically triggered when the main conversation detects agent management intent.
@@ -10,6 +10,10 @@ user-invocable: false
10
10
 
11
11
  Analyzes task complexity and decomposes large tasks into smaller, parallelizable subtasks compatible with the DAG orchestration skill. The orchestrator uses this as a planning frontend before execution.
12
12
 
13
+ ## Sensitive-Path Delegation
14
+
15
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
16
+
13
17
  ## Trigger Conditions
14
18
 
15
19
  Decomposition is **recommended** when any of these thresholds are met:
@@ -48,6 +52,12 @@ Before decomposing, select the appropriate workflow pattern:
48
52
  ├── Map subtasks to agents (use routing skills)
49
53
  └── Generate DAG workflow spec
50
54
 
55
+ 2.5. Validate granularity against pipeline-guards limits:
56
+ ├── For each subtask, estimate file count
57
+ ├── If files > 10 → emit advisory: [Guard] ⚠ Subtask "{id}" assigned {n} files (> 10) — splitting by layer
58
+ ├── If files > 15 → emit hard warning: [Guard] 🛑 Subtask "{id}" assigned {n} files (> 15) — must split
59
+ └── Auto-split oversized subtasks by layer/domain until all ≤ 10
60
+
51
61
  3. Present plan to user (R015 transparency)
52
62
  ├── Show decomposed subtasks with agents
53
63
  ├── Show dependency graph
@@ -172,10 +182,43 @@ A subtask is **atomic** when it meets ALL of:
172
182
  - Single concern (one logical change)
173
183
  - Independently testable outcome
174
184
  - < 15 minutes estimated duration
175
- - < 3 files affected
185
+ - < 3 files affected (ideal atomic size)
186
+ - MUST NOT exceed 10 files (pipeline-guards advisory threshold)
187
+ - If > 10 files unavoidable → emit [Guard] warning and split by layer/domain
188
+ - > 15 files is a hard violation — always split further (pipeline-guards hard cap)
176
189
 
177
190
  If a subtask is not atomic → decompose further (max 2 levels deep).
178
191
 
192
+ ## Granularity Validation
193
+
194
+ After decomposition, validate each subtask against pipeline-guards file limits:
195
+
196
+ | Subtask Files | Action |
197
+ |---------------|--------|
198
+ | ≤ 3 | Ideal atomic size — no action |
199
+ | 4-10 | Acceptable — proceed without warning |
200
+ | 11-15 | Advisory warning, attempt further split |
201
+ | > 15 | Hard warning, MUST split before execution |
202
+
203
+ ### Validation Process
204
+
205
+ For each decomposed subtask:
206
+ 1. Count estimated files
207
+ 2. If > 10:
208
+ a. Emit: `[Guard] ⚠ Subtask "{id}" assigned {n} files (> 10) — splitting by layer`
209
+ b. Attempt split by: layer (domain → adapter → handler) or domain separation
210
+ c. Re-validate split results
211
+ 3. If > 15 after split attempt:
212
+ a. Emit: `[Guard] 🛑 Subtask "{id}" still has {n} files (> 15) — requires user override`
213
+ b. Pause for user confirmation before proceeding
214
+
215
+ ### Generated DAG Adjustment
216
+
217
+ When granularity validation triggers a split, update the DAG spec:
218
+ - Original node is replaced by 2+ child nodes
219
+ - Dependencies are preserved (children inherit parent's deps)
220
+ - `max_parallel` in config respects R009 limits (soft: 4, hard: 5)
221
+
179
222
  ## Skip Decomposition When
180
223
 
181
224
  | Condition | Reason |
@@ -195,3 +238,4 @@ If a subtask is not atomic → decompose further (max 2 levels deep).
195
238
  | R010 | Decomposition happens in orchestrator only |
196
239
  | R015 | Plan displayed before execution for user approval |
197
240
  | R018 | 3+ agents in plan → check Agent Teams eligibility |
241
+ | pipeline-guards | Validates subtask file count against 10/15 granularity limits |
@@ -12,6 +12,10 @@ Defines an iterative Worker→Reviewer pipeline where one agent implements chang
12
12
 
13
13
  **Orchestrator-only** — only the main conversation activates this pipeline (R010). Worker and Reviewer are subagents.
14
14
 
15
+ ## Sensitive-Path Delegation
16
+
17
+ Sensitive-path artifact protocol (mandatory): if this skill delegates work that touches `.claude/**`, `.claude/outputs/**`, `templates/.claude/**`, or read-only measurements of those paths, include this protocol directly in the delegated prompt. The delegate must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and must avoid direct Read, Bash, Write, or Edit targets under `.claude/**` in unattended flows.
18
+
15
19
  ## When to Activate
16
20
 
17
21
  | Condition | Activate? |
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.4.3",
2
+ "version": "0.4.5",
3
3
  "lastUpdated": "2026-04-27T02:00:00.000Z",
4
4
  "components": [
5
5
  {
@@ -36,6 +36,7 @@ steps:
36
36
  - Codex-managed `.codex/` edits use the normal edit/patch flow.
37
37
  - Do not adopt upstream Claude-only `/tmp` bypass guidance as the default path.
38
38
  - If a port requires `.claude` template parity changes, make the change explicit and verify sensitive-path guard tests.
39
+ - Sensitive-path artifact protocol (mandatory): delegated prompts that touch `.claude/**`, `templates/.claude/**`, `.claude/outputs/**`, or read-only measurements of those paths must instruct the subagent to produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and avoid direct Read/Bash/Write/Edit targets under `.claude/**` in unattended flows.
39
40
  description: Execute implementation plan with appropriate agents
40
41
  foreach: planned-issue
41
42