oh-my-customcodex 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/rules/MUST-agent-design.md +31 -7
- package/templates/.claude/rules/MUST-agent-teams.md +4 -0
- package/templates/.claude/rules/MUST-parallel-execution.md +12 -0
- package/templates/.claude/rules/SHOULD-memory-integration.md +12 -0
- package/templates/.claude/skills/agora/SKILL.md +4 -0
- package/templates/.claude/skills/dag-orchestration/SKILL.md +31 -3
- package/templates/.claude/skills/de-lead-routing/SKILL.md +4 -0
- package/templates/.claude/skills/deep-plan/SKILL.md +28 -9
- package/templates/.claude/skills/deep-verify/SKILL.md +1 -0
- package/templates/.claude/skills/dev-lead-routing/SKILL.md +6 -0
- package/templates/.claude/skills/hada-scout/SKILL.md +104 -48
- package/templates/.claude/skills/harness-eval/SKILL.md +4 -0
- package/templates/.claude/skills/omcodex-improve-report/SKILL.md +4 -0
- package/templates/.claude/skills/omcodex-takeover/SKILL.md +4 -0
- package/templates/.claude/skills/optimize-analyze/SKILL.md +4 -0
- package/templates/.claude/skills/optimize-report/SKILL.md +4 -0
- package/templates/.claude/skills/professor-triage/SKILL.md +86 -84
- package/templates/.claude/skills/qa-lead-routing/SKILL.md +4 -0
- package/templates/.claude/skills/research/SKILL.md +1 -0
- package/templates/.claude/skills/roundtable-debate/SKILL.md +4 -0
- package/templates/.claude/skills/scout/SKILL.md +37 -32
- package/templates/.claude/skills/secretary-routing/SKILL.md +7 -1
- package/templates/.claude/skills/task-decomposition/SKILL.md +45 -1
- package/templates/.claude/skills/worker-reviewer-pipeline/SKILL.md +4 -0
- package/templates/manifest.json +1 -1
- package/templates/workflows/auto-dev.yaml +1 -0
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -29,6 +29,9 @@ Extended context suffix: `[1m]` (e.g., `claude-opus-4-6[1m]`) — enables 1M tok
|
|
|
29
29
|
|
|
30
30
|
### Optional Frontmatter
|
|
31
31
|
|
|
32
|
+
Key optional fields: `memory`, `effort`, `skills`, `soul`, `isolation`, `background`, `maxTurns`, `maxTokens`, `mcpServers`, `hooks`, `permissionMode`, `disallowedTools`, `limitations`, `domain`, `disableSkillShellExecution`. Supported since CC v2.1.63+. See full optional frontmatter via Read tool.
|
|
33
|
+
|
|
34
|
+
<!-- DETAIL: Optional Frontmatter (full yaml block)
|
|
32
35
|
```yaml
|
|
33
36
|
memory: project # user | project | local
|
|
34
37
|
effort: high # low | medium | high | xhigh | default | max
|
|
@@ -64,8 +67,7 @@ disableSkillShellExecution: true # Disable inline shell execution in skills (v2
|
|
|
64
67
|
```
|
|
65
68
|
|
|
66
69
|
> **Note**: When `disableSkillShellExecution` is enabled (v2.1.91+), skills that rely on inline shell execution (e.g., `codex-exec`, `gemini-exec`, `rtk-exec`) will have their shell blocks disabled. This is a security hardening option.
|
|
67
|
-
|
|
68
|
-
> **Note**: Optional frontmatter fields supported since CC v2.1.63+. Version-specific features listed in HTML comment below — access via Read tool.
|
|
70
|
+
-->
|
|
69
71
|
|
|
70
72
|
<!-- DETAIL: CC Version Compatibility History
|
|
71
73
|
`isolation`, `background`, `maxTurns`, `maxTokens`, `mcpServers`, `hooks`, `permissionMode`, `disallowedTools`, `limitations` are supported in Claude Code v2.1.63+. Hook types `PostCompact`, `Elicitation`, `ElicitationResult` require v2.1.76+. `CwdChanged`, `FileChanged` hook events and `managed-settings.d/` drop-in directory require v2.1.83+. Conditional `if` field for hooks requires v2.1.85+. `PermissionDenied` hook event requires v2.1.88+. `refreshInterval` setting for status line auto-refresh interval added in v2.1.97+. Monitor tool and subprocess sandboxing (`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`, `CLAUDE_CODE_SCRIPT_CAPS`) added in v2.1.98+. Settings resilience (unrecognized hook event names no longer cause settings.json to be ignored) improved in v2.1.101+. PreCompact hook block support (exit 2 / `{"decision":"block"}`) added in v2.1.105+. Skill description listing cap raised from 250 to 1,536 characters in v2.1.105+. Plugin `monitors` manifest key for background monitors added in v2.1.105+. `ENABLE_PROMPT_CACHING_1H` and `FORCE_PROMPT_CACHING_5M` env vars for prompt cache TTL control added in v2.1.108+. Skill tool can now discover and invoke built-in slash commands (`/init`, `/review`, `/security-review`) in v2.1.108+. `/recap` session context feature and `/undo` alias for `/rewind` added in v2.1.108+. `/tui` command and `tui` setting for fullscreen rendering added in v2.1.110+. PushNotification tool for mobile push notifications (Remote Control + config required) added in v2.1.110+. `autoScrollEnabled` config for fullscreen mode added in v2.1.110+. SDK/headless `TRACEPARENT`/`TRACESTATE` distributed trace linking added in v2.1.110+. Bash tool maximum timeout enforcement added in v2.1.110+. Write tool IDE diff feedback (informs model when user edits proposed content) added in v2.1.110+. `--resume`/`--continue` now resurrects unexpired scheduled tasks in v2.1.110+. `/focus` command (separated from Ctrl+O) added in v2.1.110+. `xhigh` effort level for Opus 4.7 (between `high` and `max`; other models fall back to `high`) added in v2.1.111+. `/effort` interactive slider with arrow-key navigation (when called without arguments) added in v2.1.111+. Auto mode no longer requires `--enable-auto-mode` in v2.1.111+. PowerShell tool progressive rollout (`CLAUDE_CODE_USE_POWERSHELL_TOOL` env var) added in v2.1.111+. Read-only bash commands with glob patterns (`ls *.ts`) and `cd <project-dir> &&` prefix no longer trigger permission prompt in v2.1.111+. `/less-permission-prompts` built-in skill for permission allowlist scanning added in v2.1.111+. `/ultrareview` parallel multi-agent cloud code review added in v2.1.111+. `/skills` menu sorting by estimated token count (press `t`) added in v2.1.111+. `OTEL_LOG_RAW_API_BODIES` env var for full API request/response body logging added in v2.1.111+. Plan files named after prompt content (not random words) in v2.1.111+. Plugin error handling improvements (dependency conflict errors, stale version recovery, install recovery) in v2.1.111+.
|
|
@@ -155,11 +157,7 @@ hooks:
|
|
|
155
157
|
|
|
156
158
|
## Permission Mode Guidance
|
|
157
159
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
1. **Agent frontmatter `permissionMode`**: Declares the agent's intended permission level. CC respects this when the agent is spawned via Agent tool.
|
|
161
|
-
2. **Agent tool `mode` parameter**: Overrides frontmatter at spawn time. Routing skills should pass this explicitly.
|
|
162
|
-
3. **Recommendation**: For agents that modify files, set `permissionMode: bypassPermissions` in frontmatter if the project uses `bypassPermissions` mode.
|
|
160
|
+
CC defaults `mode` to `acceptEdits` if not specified — always pass `mode: "bypassPermissions"` explicitly in Agent tool calls when the session uses bypass permissions. See guidance details via Read tool.
|
|
163
161
|
|
|
164
162
|
| Mode | Behavior |
|
|
165
163
|
|------|----------|
|
|
@@ -170,6 +168,14 @@ When spawning agents via the Agent tool, CC applies a default `mode` of `acceptE
|
|
|
170
168
|
| `dontAsk` | Non-interactive, deny unapproved |
|
|
171
169
|
| `auto` | AI decides safety |
|
|
172
170
|
|
|
171
|
+
<!-- DETAIL: Permission Mode Guidance (reasoning)
|
|
172
|
+
When spawning agents via the Agent tool, CC applies a default `mode` of `acceptEdits` if not explicitly specified. To maintain consistent permission behavior:
|
|
173
|
+
|
|
174
|
+
1. **Agent frontmatter `permissionMode`**: Declares the agent's intended permission level. CC respects this when the agent is spawned via Agent tool.
|
|
175
|
+
2. **Agent tool `mode` parameter**: Overrides frontmatter at spawn time. Routing skills should pass this explicitly.
|
|
176
|
+
3. **Recommendation**: For agents that modify files, set `permissionMode: bypassPermissions` in frontmatter if the project uses `bypassPermissions` mode.
|
|
177
|
+
-->
|
|
178
|
+
|
|
173
179
|
<!-- DETAIL: Isolation/Token/Limitations/Escalation details
|
|
174
180
|
### Isolation Modes
|
|
175
181
|
|
|
@@ -241,6 +247,9 @@ Claude Code treats `.claude/` and `templates/.claude/` as sensitive directories
|
|
|
241
247
|
|
|
242
248
|
This Codex port uses `.codex/` as the active runtime surface, but packaged compatibility templates still live under `templates/.claude/`. Any automation that writes those templates must account for Claude Code permission prompts.
|
|
243
249
|
|
|
250
|
+
**Key rule**: `.claude/` and `templates/.claude/` Bash/Write/Edit targets can trigger sensitive-path prompts regardless of allow rules. In unattended flows, delegated agents must produce artifact bodies in `/tmp/{skill}-{timestamp}.md` first and avoid direct `.claude/**` tool targets.
|
|
251
|
+
|
|
252
|
+
<!-- DETAIL: Sensitive Path Behavior table and Recommended practice
|
|
244
253
|
| Path pattern | Sensitive in Claude Code? | Affected operations |
|
|
245
254
|
|--------------|---------------------------|---------------------|
|
|
246
255
|
| `.claude/**` | Yes | Bash writes, Write, Edit |
|
|
@@ -255,6 +264,13 @@ Recommended practice:
|
|
|
255
264
|
3. Do not run unattended Claude Code release automation that writes `templates/.claude/**` unless the workflow can handle interactive approval.
|
|
256
265
|
4. In this Codex port, update `.codex/...` source files and their `templates/.claude/...` mirrors deliberately instead of bulk-copying with shell commands.
|
|
257
266
|
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.
|
|
267
|
+
-->
|
|
268
|
+
|
|
269
|
+
Delegation prompt requirement:
|
|
270
|
+
|
|
271
|
+
Any prompt that delegates work involving `.claude/**`, `templates/.claude/**`, `.claude/outputs/**`, or read-only measurement of those paths MUST include this block verbatim:
|
|
272
|
+
|
|
273
|
+
> 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.
|
|
258
274
|
|
|
259
275
|
## Separation of Concerns
|
|
260
276
|
|
|
@@ -276,6 +292,9 @@ Fast Mode uses the same model with faster output. Activated via `/fast` toggle o
|
|
|
276
292
|
| Output speed | Standard | ~2.5x faster |
|
|
277
293
|
| Reasoning depth | Full | Reduced |
|
|
278
294
|
|
|
295
|
+
See activation, effort interaction, and default effort change details via Read tool.
|
|
296
|
+
|
|
297
|
+
<!-- DETAIL: Fast Mode Activation, Effort Interaction, Default Effort Change
|
|
279
298
|
### Activation
|
|
280
299
|
|
|
281
300
|
- `/fast` — toggle in current session
|
|
@@ -291,6 +310,7 @@ When Fast Mode is active, it reduces effective reasoning depth but does NOT over
|
|
|
291
310
|
Starting with Claude Code v2.1.94, the default effort level changed from `medium` to `high` for API-key, Bedrock/Vertex/Foundry, Team, and Enterprise users. Console (free-tier) users retain `medium` as the default.
|
|
292
311
|
|
|
293
312
|
This means agents WITHOUT an explicit `effort` field now run at `high` effort by default on paid tiers. To maintain previous behavior, set `effort: medium` explicitly in agent frontmatter.
|
|
313
|
+
-->
|
|
294
314
|
|
|
295
315
|
## Skill Frontmatter
|
|
296
316
|
|
|
@@ -305,6 +325,9 @@ description: Brief desc # One-line summary
|
|
|
305
325
|
|
|
306
326
|
### Optional Fields
|
|
307
327
|
|
|
328
|
+
Key optional fields: `scope`, `context`, `version`, `effort`, `model`, `agent`, `hooks`, `paths`, `shell`, `allowed-tools`, `keep-coding-instructions`. Skill `effort` takes precedence over agent `effort` when both specified. See full optional fields via Read tool.
|
|
329
|
+
|
|
330
|
+
<!-- DETAIL: Skill Optional Fields (full yaml block)
|
|
308
331
|
```yaml
|
|
309
332
|
scope: core # core | harness | package (default: core)
|
|
310
333
|
context: fork # Forked context for isolated execution
|
|
@@ -326,6 +349,7 @@ keep-coding-instructions: true # Preserve coding instructions in plugin outp
|
|
|
326
349
|
```
|
|
327
350
|
|
|
328
351
|
When both an agent and its invoked skill specify `effort`, the skill's value takes precedence (more specific invocation-time setting).
|
|
352
|
+
-->
|
|
329
353
|
|
|
330
354
|
<!-- DETAIL: Skill Effectiveness Tracking
|
|
331
355
|
Skills can optionally track effectiveness metrics via auto-populated fields:
|
|
@@ -271,10 +271,14 @@ When spawning agents that may be blocked:
|
|
|
271
271
|
|
|
272
272
|
## Lifecycle
|
|
273
273
|
|
|
274
|
+
`TeamCreate → TaskCreate → Agent(spawn members) → SendMessage → TaskUpdate → ... → TeamDelete`. See full lifecycle via Read tool.
|
|
275
|
+
|
|
276
|
+
<!-- DETAIL: Lifecycle diagram
|
|
274
277
|
```
|
|
275
278
|
TeamCreate → TaskCreate → Agent(spawn members) → SendMessage(coordinate)
|
|
276
279
|
→ TaskUpdate(progress) → ... → shutdown members → TeamDelete
|
|
277
280
|
```
|
|
281
|
+
-->
|
|
278
282
|
|
|
279
283
|
## Fallback
|
|
280
284
|
|
|
@@ -96,6 +96,9 @@ In that shape, read/search lanes may fan out in parallel, while the push lane re
|
|
|
96
96
|
|
|
97
97
|
Runtime detection and splitting of stalled parallel agents. Complements pre-execution parallelization.
|
|
98
98
|
|
|
99
|
+
See detection signals, splitting rules, and example via Read tool.
|
|
100
|
+
|
|
101
|
+
<!-- DETAIL: Adaptive Parallel Splitting — Detection, Splitting Rules, Example
|
|
99
102
|
### Detection
|
|
100
103
|
|
|
101
104
|
| Signal | Threshold | Action |
|
|
@@ -124,9 +127,13 @@ After (adaptive split):
|
|
|
124
127
|
P4 ████████████████████████████████ (spawned immediately)
|
|
125
128
|
P5 ████████████████████████████████ (spawned immediately)
|
|
126
129
|
```
|
|
130
|
+
-->
|
|
127
131
|
|
|
128
132
|
## Stability Testing Protocol
|
|
129
133
|
|
|
134
|
+
Soft default: 4 concurrent agents; hard cap: 5. Reduce to 4 if latency >2x, failure rate >10%, or context errors. See full protocol via Read tool.
|
|
135
|
+
|
|
136
|
+
<!-- DETAIL: Stability Testing Protocol
|
|
130
137
|
When testing 5 concurrent agents (above the soft default of 4):
|
|
131
138
|
|
|
132
139
|
| Observation | Threshold | Action |
|
|
@@ -136,6 +143,7 @@ When testing 5 concurrent agents (above the soft default of 4):
|
|
|
136
143
|
| Context errors | Any | Reduce to 4 |
|
|
137
144
|
|
|
138
145
|
5-agent concurrency is supported but should be monitored during initial adoption. Fall back to 4 if instability is observed.
|
|
146
|
+
-->
|
|
139
147
|
|
|
140
148
|
## Agent Tool Requirements
|
|
141
149
|
|
|
@@ -157,6 +165,9 @@ Single agent spawns do NOT use the `[N]` prefix.
|
|
|
157
165
|
|
|
158
166
|
## Narrative Announcement Format (Before Spawn)
|
|
159
167
|
|
|
168
|
+
Use markdown list format, not inline comma-separated text, for parallel dispatch announcements. See correct/incorrect examples via Read tool.
|
|
169
|
+
|
|
170
|
+
<!-- DETAIL: Narrative Announcement Format (Before Spawn)
|
|
160
171
|
When announcing a parallel dispatch in prose text (not the Agent tool call itself), use a markdown list rather than inline comma-separated description:
|
|
161
172
|
|
|
162
173
|
### Correct
|
|
@@ -174,6 +185,7 @@ When announcing a parallel dispatch in prose text (not the Agent tool call itsel
|
|
|
174
185
|
```
|
|
175
186
|
|
|
176
187
|
The list form mirrors the tool-call `[N]` prefix pattern and scales better to 3+ concurrent agents.
|
|
188
|
+
-->
|
|
177
189
|
|
|
178
190
|
## Result Aggregation
|
|
179
191
|
|
|
@@ -288,6 +288,9 @@ Save memory IMMEDIATELY upon surprising discovery — do not defer to session en
|
|
|
288
288
|
| Subagent false-positive detected | Save `feedback_*.md` now | Prevent repeat in same session |
|
|
289
289
|
| User correction / feedback | Save `feedback_*.md` now | Honor correction immediately |
|
|
290
290
|
|
|
291
|
+
See rationale and cross-references via Read tool.
|
|
292
|
+
|
|
293
|
+
<!-- DETAIL: Why Immediate? and Cross-reference
|
|
291
294
|
### Why Immediate?
|
|
292
295
|
|
|
293
296
|
Session-end saves lose context: by the time the session ends, multiple discoveries have compounded and nuance is lost. Immediate saves preserve the exact trigger context that makes the memory actionable.
|
|
@@ -300,6 +303,7 @@ Related records from session v0.87.2~v0.88.0 (issue #869):
|
|
|
300
303
|
- `feedback_subagent_pre_existing_claims.md`
|
|
301
304
|
- `feedback_github_workflows_inventory.md`
|
|
302
305
|
- `feedback_bun_mock_module.md`
|
|
306
|
+
-->
|
|
303
307
|
|
|
304
308
|
## Session-End Auto-Save
|
|
305
309
|
|
|
@@ -307,6 +311,9 @@ Related records from session v0.87.2~v0.88.0 (issue #869):
|
|
|
307
311
|
|
|
308
312
|
Session-end detected when user says: "끝", "종료", "마무리", "done", "wrap up", "end session", or explicitly requests session save.
|
|
309
313
|
|
|
314
|
+
See flow diagram, responsibility split, and dual-system save table via Read tool.
|
|
315
|
+
|
|
316
|
+
<!-- DETAIL: Session-End Flow, Responsibility Split, Dual-System Save
|
|
310
317
|
### Flow
|
|
311
318
|
|
|
312
319
|
```
|
|
@@ -340,9 +347,13 @@ MCP tools (claude-mem, episodic-memory) are **orchestrator-scoped** and not inhe
|
|
|
340
347
|
| Native auto-memory | sys-memory-keeper | Write | Update MEMORY.md with session learnings | Yes |
|
|
341
348
|
| claude-mem | Orchestrator | `mcp__plugin_claude-mem_mcp-search__save_memory` | Save session summary with project, tasks, decisions | No (best-effort) |
|
|
342
349
|
| episodic-memory | Automatic | (auto-indexed) | No action needed — conversations are indexed automatically after session ends | N/A |
|
|
350
|
+
-->
|
|
343
351
|
|
|
344
352
|
### Session-End Self-Check (MANDATORY)
|
|
345
353
|
|
|
354
|
+
(1) sys-memory-keeper updated MEMORY.md? (2) claude-mem save attempted? Both are required before confirming session-end to the user. See full self-check via Read tool.
|
|
355
|
+
|
|
356
|
+
<!-- DETAIL: Session-End Self-Check (MANDATORY)
|
|
346
357
|
```
|
|
347
358
|
╔══════════════════════════════════════════════════════════════════╗
|
|
348
359
|
║ BEFORE CONFIRMING SESSION-END TO USER: ║
|
|
@@ -363,6 +374,7 @@ MCP tools (claude-mem, episodic-memory) are **orchestrator-scoped** and not inhe
|
|
|
363
374
|
║ is NOT. ║
|
|
364
375
|
╚══════════════════════════════════════════════════════════════════╝
|
|
365
376
|
```
|
|
377
|
+
-->
|
|
366
378
|
|
|
367
379
|
### Failure Policy
|
|
368
380
|
|
|
@@ -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
|
|
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.
|
|
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 |
|
|
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. **
|
|
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
|
-
|
|
|
89
|
-
|
|
90
|
-
|
|
|
91
|
-
|
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
4
|
-
scope:
|
|
5
|
-
version:
|
|
6
|
-
user-invocable:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
28
|
+
### Phase 1 — Fetch & Parse
|
|
18
29
|
|
|
19
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
51
|
+
## Pre-Scout Prompt Template
|
|
52
|
+
|
|
53
|
+
The haiku agent receives the following system prompt:
|
|
37
54
|
|
|
38
55
|
```
|
|
39
|
-
|
|
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
|
-
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
-
| `
|
|
77
|
-
| `
|
|
78
|
-
| `
|
|
79
|
-
| `
|
|
80
|
-
| `
|
|
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 |
|
|
87
|
-
| R010 |
|
|
88
|
-
|
|
|
89
|
-
|
|
90
|
-
|
|
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.
|
|
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
|
-
###
|
|
130
|
-
|
|
|
131
|
-
|
|
132
|
-
| {
|
|
129
|
+
### 아키텍처 영향
|
|
130
|
+
| 컴포넌트 | 영향 | 위험도 |
|
|
131
|
+
|----------|------|--------|
|
|
132
|
+
| {컴포넌트} | {설명} | {High/Medium/Low} |
|
|
133
133
|
|
|
134
|
-
###
|
|
135
|
-
{
|
|
134
|
+
### 코드 수준 분석
|
|
135
|
+
{Phase 2 코드베이스 분석의 구체적 file:line 참조}
|
|
136
136
|
|
|
137
|
-
###
|
|
138
|
-
-
|
|
139
|
-
-
|
|
137
|
+
### 전략적 평가
|
|
138
|
+
- **실현 가능성**: {근거가 포함된 평가}
|
|
139
|
+
- **우선순위 권장**: {P1/P2/P3 및 근거}
|
|
140
140
|
|
|
141
|
-
###
|
|
142
|
-
|
|
|
143
|
-
|
|
144
|
-
| {
|
|
141
|
+
### 리스크 및 고려사항
|
|
142
|
+
| 리스크 | 가능성 | 완화 방안 |
|
|
143
|
+
|--------|--------|----------|
|
|
144
|
+
| {리스크} | {High/Medium/Low} | {완화 방안} |
|
|
145
145
|
|
|
146
|
-
|
|
146
|
+
**예상 작업량**: {XS/S/M/L/XL}
|
|
147
147
|
|
|
148
148
|
---
|
|
149
|
-
_🏛️ Senior Architect perspective — `/professor-triage` v2.
|
|
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
|
-
###
|
|
158
|
-
{
|
|
157
|
+
### 구현 아이디어
|
|
158
|
+
{구체적 코드 위치 및 file:line 참조가 포함된 변경 제안}
|
|
159
159
|
|
|
160
|
-
###
|
|
161
|
-
- {
|
|
160
|
+
### 놓치기 쉬운 세부사항
|
|
161
|
+
- {이름 충돌, 유효성 검사 우회, 경쟁 조건, 엣지 케이스}
|
|
162
162
|
|
|
163
|
-
###
|
|
164
|
-
1. {
|
|
165
|
-
2. {
|
|
166
|
-
3. {
|
|
163
|
+
### 권장 다음 단계
|
|
164
|
+
1. {구체적 file/function 참조가 포함된 실행 가능한 단계}
|
|
165
|
+
2. {실행 가능한 단계}
|
|
166
|
+
3. {실행 가능한 단계}
|
|
167
167
|
|
|
168
168
|
---
|
|
169
|
-
_🤝 Project Colleague perspective — `/professor-triage` v2.
|
|
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
|
-
###
|
|
180
|
-
|
|
|
181
|
-
|
|
182
|
-
| {
|
|
179
|
+
### 코드베이스 검증
|
|
180
|
+
| 주장 (Architect/Colleague) | 검증 | 근거 |
|
|
181
|
+
|---------------------------|------|------|
|
|
182
|
+
| {주장} | ✅/⚠️/❌ | {file:line 또는 git 근거} |
|
|
183
183
|
|
|
184
|
-
###
|
|
185
|
-
|
|
|
186
|
-
|
|
187
|
-
| {
|
|
184
|
+
### 합의 및 이견
|
|
185
|
+
| 주제 | Architect | Colleague | 판정 |
|
|
186
|
+
|------|-----------|-----------|------|
|
|
187
|
+
| {주제} | {입장} | {입장} | {종합 판단} |
|
|
188
188
|
|
|
189
|
-
###
|
|
190
|
-
|
|
|
191
|
-
|
|
192
|
-
|
|
|
193
|
-
|
|
|
194
|
-
|
|
|
195
|
-
|
|
|
189
|
+
### 우선순위 매트릭스
|
|
190
|
+
| 차원 | 평가 |
|
|
191
|
+
|------|------|
|
|
192
|
+
| 긴급성 | {High/Medium/Low} |
|
|
193
|
+
| 중요성 | {High/Medium/Low} |
|
|
194
|
+
| 규모 | {XS/S/M/L/XL} |
|
|
195
|
+
| 권장 순서 | {배치 내 N/M} |
|
|
196
196
|
|
|
197
|
-
###
|
|
198
|
-
{
|
|
197
|
+
### 누락된 관점
|
|
198
|
+
{Architect나 Colleague 모두 제기하지 않은 고려사항}
|
|
199
199
|
|
|
200
|
-
###
|
|
201
|
-
|
|
|
202
|
-
|
|
203
|
-
| 1 | {
|
|
204
|
-
| 2 | {
|
|
200
|
+
### 실행 로드맵
|
|
201
|
+
| 단계 | 작업 | 파일 | 의존성 |
|
|
202
|
+
|------|------|------|--------|
|
|
203
|
+
| 1 | {작업} | {파일} | — |
|
|
204
|
+
| 2 | {작업} | {파일} | 단계 1 |
|
|
205
205
|
|
|
206
|
-
###
|
|
207
|
-
{
|
|
206
|
+
### 최종 결론
|
|
207
|
+
{확정적 권장 사항이 포함된 2-3문장 종합}
|
|
208
208
|
|
|
209
209
|
---
|
|
210
|
-
_🎓 Professor Synthesis — `/professor-triage` v2.
|
|
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
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
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
|
-
|
|
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
|
|
238
|
+
# Professor Triage 리포트 — YYYY-MM-DD
|
|
237
239
|
|
|
238
|
-
##
|
|
239
|
-
| # |
|
|
240
|
-
|
|
240
|
+
## 분석 대상
|
|
241
|
+
| # | 제목 | 라벨 | 생성일 |
|
|
242
|
+
|---|------|------|--------|
|
|
241
243
|
|
|
242
|
-
##
|
|
244
|
+
## 이슈별 분석
|
|
243
245
|
### #NNN — title
|
|
244
|
-
-
|
|
245
|
-
-
|
|
246
|
-
-
|
|
247
|
-
-
|
|
248
|
-
-
|
|
249
|
-
-
|
|
250
|
-
-
|
|
251
|
-
|
|
252
|
-
##
|
|
253
|
-
###
|
|
254
|
-
###
|
|
255
|
-
###
|
|
256
|
-
###
|
|
257
|
-
|
|
258
|
-
##
|
|
259
|
-
### Architect
|
|
260
|
-
### Colleague
|
|
261
|
-
### Professor Synthesis
|
|
262
|
-
|
|
263
|
-
##
|
|
264
|
-
|
|
|
265
|
-
|
|
266
|
-
##
|
|
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:
|
|
62
|
-
├── Phase 2:
|
|
63
|
-
├── Phase 3:
|
|
64
|
-
└── Phase 4:
|
|
65
|
+
├── Phase 1: 콘텐츠 수집 및 요약
|
|
66
|
+
├── Phase 2: 프로젝트 철학 로드
|
|
67
|
+
├── Phase 3: 적합성 분석 (sonnet)
|
|
68
|
+
└── Phase 4: 이슈 생성
|
|
65
69
|
|
|
66
|
-
|
|
67
|
-
|
|
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
|
|
173
|
+
## Scout 리포트: {title}
|
|
169
174
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
175
|
+
**출처**: {url}
|
|
176
|
+
**판정**: {INTERNALIZE / INTEGRATE / SKIP}
|
|
177
|
+
**우선순위**: {P1 / P2 / P3}
|
|
173
178
|
|
|
174
|
-
##
|
|
175
|
-
{2-3
|
|
179
|
+
## 요약
|
|
180
|
+
{외부 콘텐츠에 대한 2-3문장 요약}
|
|
176
181
|
|
|
177
|
-
##
|
|
178
|
-
|
|
|
179
|
-
|
|
180
|
-
| Compilation metaphor | {check/cross} | {
|
|
181
|
-
| Separation of concerns (R006) | {check/cross} | {
|
|
182
|
-
| Dynamic agent creation | {check/cross} | {
|
|
183
|
-
|
|
|
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
|
-
##
|
|
186
|
-
{
|
|
190
|
+
## 권장 사항
|
|
191
|
+
{구체적 통합 계획 — 어떤 skill/agent/guide를 생성할지, 또는 건너뛰는 이유}
|
|
187
192
|
|
|
188
|
-
##
|
|
189
|
-
- [ ] {
|
|
190
|
-
- [ ] {
|
|
193
|
+
## 다음 단계
|
|
194
|
+
- [ ] {후속 조치 1}
|
|
195
|
+
- [ ] {후속 조치 2}
|
|
191
196
|
|
|
192
197
|
---
|
|
193
|
-
|
|
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]
|
|
202
|
-
└──
|
|
206
|
+
[Advisory] 심층 분석 권장.
|
|
207
|
+
└── 실행 검토: /research {url}
|
|
203
208
|
```
|
|
204
209
|
|
|
205
210
|
## Result Display
|
|
206
211
|
|
|
207
212
|
```
|
|
208
|
-
[Scout
|
|
209
|
-
├──
|
|
210
|
-
├──
|
|
211
|
-
├──
|
|
212
|
-
└──
|
|
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? |
|
package/templates/manifest.json
CHANGED
|
@@ -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
|
|