oh-my-customcode 1.1.101 → 1.1.103

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 (52) hide show
  1. package/dist/cli/index.js +518 -53
  2. package/dist/index.js +135 -6
  3. package/package.json +1 -1
  4. package/templates/.claude/output-styles/korean-engineer.md +1 -1
  5. package/templates/.claude/rules/MUST-agent-design.md +2 -2
  6. package/templates/.claude/rules/MUST-agent-teams.md +13 -2
  7. package/templates/.claude/rules/MUST-orchestrator-coordination.md +41 -29
  8. package/templates/.claude/rules/MUST-permissions.md +12 -9
  9. package/templates/.claude/skills/action-validator/SKILL.md +2 -2
  10. package/templates/.claude/skills/adaptive-harness/SKILL.md +2 -2
  11. package/templates/.claude/skills/adversarial-review/SKILL.md +1 -1
  12. package/templates/.claude/skills/agent-eval-framework/SKILL.md +2 -2
  13. package/templates/.claude/skills/de-lead-routing/SKILL.md +2 -2
  14. package/templates/.claude/skills/deep-plan/SKILL.md +4 -4
  15. package/templates/.claude/skills/deep-verify/SKILL.md +3 -3
  16. package/templates/.claude/skills/design-shotgun/SKILL.md +1 -1
  17. package/templates/.claude/skills/dev-lead-routing/SKILL.md +2 -2
  18. package/templates/.claude/skills/dev-review/SKILL.md +2 -2
  19. package/templates/.claude/skills/evaluator-optimizer/SKILL.md +1 -1
  20. package/templates/.claude/skills/fsd/SKILL.md +3 -4
  21. package/templates/.claude/skills/harness-eval/SKILL.md +1 -1
  22. package/templates/.claude/skills/harness-synthesizer/SKILL.md +1 -1
  23. package/templates/.claude/skills/homework/SKILL.md +3 -3
  24. package/templates/.claude/skills/idea/SKILL.md +4 -2
  25. package/templates/.claude/skills/instinct-extractor/SKILL.md +8 -8
  26. package/templates/.claude/skills/intent-detection/SKILL.md +1 -1
  27. package/templates/.claude/skills/multi-model-verification/SKILL.md +2 -2
  28. package/templates/.claude/skills/omcustom-release-notes/SKILL.md +1 -1
  29. package/templates/.claude/skills/pipeline/SKILL.md +1 -1
  30. package/templates/.claude/skills/pipeline/workflows/auto-dev.yaml +26 -3
  31. package/templates/.claude/skills/post-release-followup/SKILL.md +2 -2
  32. package/templates/.claude/skills/professor-triage/SKILL.md +10 -10
  33. package/templates/.claude/skills/profile/SKILL.md +4 -4
  34. package/templates/.claude/skills/qa-lead-routing/SKILL.md +2 -2
  35. package/templates/.claude/skills/release-plan/SKILL.md +1 -1
  36. package/templates/.claude/skills/research/SKILL.md +8 -6
  37. package/templates/.claude/skills/result-aggregation/SKILL.md +1 -1
  38. package/templates/.claude/skills/roundtable-debate/SKILL.md +2 -2
  39. package/templates/.claude/skills/scout/SKILL.md +3 -8
  40. package/templates/.claude/skills/sec-agentshield-wrapper/SKILL.md +1 -1
  41. package/templates/.claude/skills/secretary-routing/SKILL.md +2 -2
  42. package/templates/.claude/skills/skill-extractor/SKILL.md +1 -1
  43. package/templates/.claude/skills/structured-dev-cycle/SKILL.md +1 -1
  44. package/templates/.claude/skills/task-decomposition/SKILL.md +1 -1
  45. package/templates/.claude/skills/worker-reviewer-pipeline/SKILL.md +5 -1
  46. package/templates/guides/claude-code/15-version-compatibility.md +149 -2
  47. package/templates/guides/deep-plan/phases.md +11 -9
  48. package/templates/guides/harness-engineering/README.md +2 -1
  49. package/templates/guides/professor-triage/README.md +1 -1
  50. package/templates/guides/professor-triage/phases.md +1 -1
  51. package/templates/manifest.json +1 -1
  52. package/templates/workflows/auto-dev.yaml +26 -3
@@ -81,14 +81,14 @@ When a plan's Phase 1/2 measures a search or retrieval experiment (a new lane, r
81
81
 
82
82
  Phase 3 verification report path: `.claude/outputs/sessions/{YYYY-MM-DD}/deep-plan-{HHmmss}.md`
83
83
 
84
- Under `mode: "bypassPermissions"`, subagents write directly to `.claude/outputs/` with Write/Edit — no temp-script wrapping is needed (CC v2.1.121+, #1101). When spawning the final synthesis agent to write this artifact, include verbatim in the agent prompt:
84
+ Under the `bypassPermissions` permission mode, subagents write directly to `.claude/outputs/` with Write/Edit — no temp-script wrapping is needed (CC v2.1.121+, #1101). When spawning the final synthesis agent to write this artifact, include verbatim in the agent prompt:
85
85
 
86
86
  ```
87
87
  **Artifact output (for this task)**
88
88
 
89
89
  Write the verification report to `.claude/outputs/sessions/<date>/deep-plan-<HHmmss>.md`
90
- using the Write tool directly (create the directory if needed). Your Agent tool call
91
- runs under `mode: "bypassPermissions"`, so direct Write/Edit on `.claude/` is permitted.
90
+ using the Write tool directly (create the directory if needed). If your session runs under the
91
+ `bypassPermissions` permission mode, direct Write/Edit on `.claude/` is permitted.
92
92
  ```
93
93
 
94
94
  See R006 "Sensitive Path Handling" (CC v2.1.121+ direct-write convention).
@@ -113,4 +113,4 @@ After PASS verdict:
113
113
 
114
114
  ## Permission Mode
115
115
 
116
- When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
116
+ Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
@@ -84,9 +84,9 @@ Run these checks before declaring release READY. Any match is a release blocker.
84
84
 
85
85
  | Guard | Detection Command | Severity | Remediation |
86
86
  |-------|-------------------|----------|-------------|
87
- | Residual deprecated `/tmp` sensitive-path bypass narrative | `grep -rnE -e 'regardless of[[:space:]]+.?bypassPermissions' -e '(MUST|MANDATORY|Mandatory)[^\n]{0,80}/tmp/\*\.sh' -e '/tmp/\*\.sh[^\n]{0,80}(MANDATORY|MUST be used|bypass script)' .claude/skills/ templates/.claude/skills/ .claude/agents/ templates/.claude/agents/ 2>/dev/null` | **BLOCK** | Remove the deprecated temp-script bypass narrative — it was retired in CC v2.1.121 (#1101). Under `mode: "bypassPermissions"`, write directly to `.claude/` with Write/Edit. See R006 "Sensitive Path Handling" |
87
+ | Residual deprecated `/tmp` sensitive-path bypass narrative | `grep -rnE -e 'regardless of[[:space:]]+.?bypassPermissions' -e '(MUST|MANDATORY|Mandatory)[^\n]{0,80}/tmp/\*\.sh' -e '/tmp/\*\.sh[^\n]{0,80}(MANDATORY|MUST be used|bypass script)' .claude/skills/ templates/.claude/skills/ .claude/agents/ templates/.claude/agents/ 2>/dev/null` | **BLOCK** | Remove the deprecated temp-script bypass narrative — it was retired in CC v2.1.121 (#1101). Under the `bypassPermissions` permission mode, write directly to `.claude/` with Write/Edit. See R006 "Sensitive Path Handling" |
88
88
 
89
- > **Why**: The temp-script sensitive-path bypass for `.claude/` paths was deprecated in CC v2.1.121 (2026-04-28, #1101). Direct Write/Edit/Bash on `.claude/**` works under `mode: "bypassPermissions"`; only catastrophic shell operations (`rm -rf /`) remain independently blocked. Residual bypass procedures or false "guard blocks bypassPermissions" claims in skills/agents are now defects — this guard catches them with a cheap deterministic grep (R023 shift-left: catch stale platform procedures before they reach expensive review).
89
+ > **Why**: The temp-script sensitive-path bypass for `.claude/` paths was deprecated in CC v2.1.121 (2026-04-28, #1101). Direct Write/Edit/Bash on `.claude/**` works under the `bypassPermissions` permission mode; only catastrophic shell operations (`rm -rf /`) remain independently blocked. Residual bypass procedures or false "guard blocks bypassPermissions" claims in skills/agents are now defects — this guard catches them with a cheap deterministic grep (R023 shift-left: catch stale platform procedures before they reach expensive review).
90
90
 
91
91
  ## Output Format
92
92
 
@@ -122,4 +122,4 @@ Run these checks before declaring release READY. Any match is a release blocker.
122
122
 
123
123
  ## Permission Mode
124
124
 
125
- When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
125
+ Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
@@ -97,7 +97,7 @@ User selects preferred variation(s). Selected design can be:
97
97
 
98
98
  ## Permission Mode
99
99
 
100
- When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
100
+ Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
101
101
 
102
102
  ## Source
103
103
 
@@ -9,7 +9,7 @@ context: fork
9
9
 
10
10
  When this skill spawns a subagent via the Agent tool, the spawned prompt MUST include this directive verbatim (or equivalent):
11
11
 
12
- > 이 스킬이 Agent tool로 서브에이전트를 스폰할 때 mode: "bypassPermissions"를 반드시 포함한다. 서브에이전트는 .claude/ 경로에 직접 Write/Edit/Bash를 사용한다(/tmp 우회 불필요, CC v2.1.121+). See R010.
12
+ > 호환을 위해 Agent 호출에 `mode: "bypassPermissions"`를 전달하십시오. CC 2.1.212 미만에서는 필수이며(호출별 기본값 `acceptEdits`가 에이전트 frontmatter `permissionMode`를 덮어씁니다), 2.1.212+에서는 무시되고 서브에이전트가 부모 세션의 권한 모드를 상속합니다(에이전트 frontmatter `permissionMode`로 조정 가능). 무인 실행 전 유효 모드 확인은 R010 「Universal bypassPermissions」 참조. bypassPermissions 세션에서 서브에이전트는 .claude/ 경로에 직접 Write/Edit/Bash를 사용합니다(/tmp 우회 불필요, CC v2.1.121+).
13
13
 
14
14
  This directive is preserved inline because Agent-tool prompt synthesis can drop SKILL.md notes; inline mandatory directives survive (#1046 lesson).
15
15
 
@@ -114,7 +114,7 @@ When Detection resolves to **No**, skip this step — route via the Agent tool u
114
114
  ### Step 2: Expert Agent Selection
115
115
  Route to appropriate language/framework expert based on file extension and keyword mapping.
116
116
 
117
- > **Permission Mode**: When spawning agents via Agent tool, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
117
+ > **Permission Mode**: Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
118
118
 
119
119
  ### Step 4: Ontology-RAG Enrichment (R019)
120
120
 
@@ -116,11 +116,11 @@ If only PASS/INFO: proceed automatically.
116
116
 
117
117
  ### Tool: Writing artifacts under .claude/outputs/
118
118
 
119
- Under `mode: "bypassPermissions"`, direct Write/Edit/Bash on `.claude/**` paths is permitted (CC v2.1.121+, #1101) — no `/tmp/*.sh` wrapping is needed.
119
+ Under the `bypassPermissions` permission mode, direct Write/Edit/Bash on `.claude/**` paths is permitted (CC v2.1.121+, #1101) — no `/tmp/*.sh` wrapping is needed.
120
120
 
121
121
  To write dev-review results under `.claude/outputs/sessions/`:
122
122
 
123
- 1. Write the artifact body directly to `.claude/outputs/sessions/$(date +%Y-%m-%d)/dev-review-$(date +%H%M%S).md` with the Write tool (every Agent tool call includes `mode: "bypassPermissions"`, R010)
123
+ 1. Write the artifact body directly to `.claude/outputs/sessions/$(date +%Y-%m-%d)/dev-review-$(date +%H%M%S).md` with the Write tool (under the `bypassPermissions` permission mode, R010)
124
124
  2. Read-only Bash on `.claude/outputs/` (e.g., `cat`, `head`, `wc`) is allowed for verification
125
125
 
126
126
  Reference: R006/R010 sensitive-path handling (CC v2.1.121+), #1101.
@@ -420,7 +420,7 @@ Integration: Works with [impeccable-design](/skills/impeccable-design) skill for
420
420
 
421
421
  The `harness-eval` skill provides a structured 15-task SE benchmark rubric that can be used as a preset for the evaluator-optimizer pipeline. When invoked via `/harness-eval`, the harness rubric dimensions (Test Coverage 30%, Architecture 25%, Error Handling 25%, Extensibility 20%) are loaded as the sprint contract criteria.
422
422
 
423
- When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
423
+ Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
424
424
 
425
425
  ## Efficiency Gate (added v0.113.0, #1025)
426
426
 
@@ -236,11 +236,10 @@ If any of those underlying skills evolve, FSD automatically benefits — its onl
236
236
 
237
237
  ## Permission Mode Note
238
238
 
239
- When this skill delegates work via Agent tool calls, ALL Agent tool calls MUST include `mode: "bypassPermissions"` per R010 Universal bypassPermissions.
239
+ 호환을 위해 Agent 호출에 `mode: "bypassPermissions"`를 전달하십시오. CC 2.1.212 미만에서는 필수이며(호출별 기본값 `acceptEdits`가 에이전트 frontmatter `permissionMode`를 덮어씁니다), 2.1.212+에서는 무시되고 서브에이전트가 부모 세션의 권한 모드를 상속합니다(에이전트 frontmatter `permissionMode`로 조정 가능). 무인 실행 전 유효 모드 확인은 R010 「Universal bypassPermissions」 참조.
240
240
 
241
- ⚠ **그 파라미터는 CC v2.1.212+ 에서 무시되며, 프로젝트 scope `permissions.defaultMode` 역시
242
- CC v2.1.257+ 에서 무시된다(#1644).** 즉 위 지시를 지켰다는 사실은 **무인 실행의 증거가 아니다**.
243
- 자율 루프 진입 전에 유효 모드를 실측한다:
241
+ ⚠ 프로젝트 scope `permissions.defaultMode` 역시 CC v2.1.257+ 에서 무시됩니다(#1644). 즉 `mode` 파라미터를 넘겼다는 사실은 **무인 실행의 증거가 아닙니다**.
242
+ 자율 루프 진입 전에 유효 모드를 실측합니다:
244
243
 
245
244
  ```bash
246
245
  jq -r '.permissions.defaultMode // "unset"' ~/.claude/settings.json 2>/dev/null || echo unset
@@ -92,7 +92,7 @@ Results saved to `.claude/outputs/sessions/{YYYY-MM-DD}/harness-eval-{HHmmss}.md
92
92
 
93
93
  ### Tool: Writing artifacts under .claude/outputs/
94
94
 
95
- Under `mode: "bypassPermissions"`, direct Write/Edit/Bash on `.claude/**` paths (including `.claude/outputs/sessions/`) is permitted (CC v2.1.121+, #1101) — no `/tmp` wrapping is needed.
95
+ Under the `bypassPermissions` permission mode, direct Write/Edit/Bash on `.claude/**` paths (including `.claude/outputs/sessions/`) is permitted (CC v2.1.121+, #1101) — no `/tmp` wrapping is needed.
96
96
 
97
97
  Write harness-eval results directly to `.claude/outputs/sessions/$(date +%Y-%m-%d)/harness-eval-$(date +%H%M%S).md`. Read-only Bash on `.claude/outputs/` (e.g., `cat`, `head`, `wc`) is allowed for verification. Catastrophic shell operations (e.g., `rm -rf /`) remain blocked by independent safety guards. For CC < v2.1.121, see git history for the legacy `/tmp/*.sh` bypass pattern.
98
98
 
@@ -96,7 +96,7 @@ harness:
96
96
 
97
97
  ### Tool: Writing artifacts under .claude/outputs/
98
98
 
99
- Under `mode: "bypassPermissions"`, direct Write/Edit/Bash on `.claude/**` paths (including `.claude/outputs/sessions/`) is permitted (CC v2.1.121+, #1101) — no `/tmp` wrapping is needed.
99
+ Under the `bypassPermissions` permission mode, direct Write/Edit/Bash on `.claude/**` paths (including `.claude/outputs/sessions/`) is permitted (CC v2.1.121+, #1101) — no `/tmp` wrapping is needed.
100
100
 
101
101
  Write harness-synthesizer results directly to `.claude/outputs/sessions/$(date +%Y-%m-%d)/harness-synthesizer-$(date +%H%M%S).md`. Read-only Bash on `.claude/outputs/` (e.g., `cat`, `head`, `wc`) is allowed for verification. Catastrophic shell operations (e.g., `rm -rf /`) remain blocked by independent safety guards. For CC < v2.1.121, see git history for the legacy `/tmp/*.sh` bypass pattern.
102
102
 
@@ -101,7 +101,7 @@ Categorize each finding with the following structure (mirror #1266 format):
101
101
  |-------|----------|---------|
102
102
  | Critical | Safety classifier trip, credential exposure, scope-creep into privileged domains, working-tree loss | R001 violation, secret dump, unauthorized infra action |
103
103
  | High | Rule violation with downstream impact, hallucinated fact acted upon, premature hypothesis causing permanent change | R020 Parallel Read+Change, wrong root cause → wrong fix |
104
- | Medium | Process gap, missed convention, advisory rule ignored | R007 header missing, bypassPermissions omitted, count sync missed |
104
+ | Medium | Process gap, missed convention, advisory rule ignored | R007 header missing, effective permission mode not verified before unattended run, count sync missed |
105
105
  | Low | Minor style drift, non-impactful oversight | honorific regression, ecomode token waste |
106
106
 
107
107
  **Mistake categories to look for:**
@@ -112,7 +112,7 @@ Categorize each finding with the following structure (mirror #1266 format):
112
112
  | Scope-creep | Subagent task expanding beyond its named scope (R010 Subagent Scope-Creep STOP Protocol) |
113
113
  | Hallucinated facts | External UI fields stated as fact (R003 Unverifiable External Product UI), in-cluster hostnames, unverified URLs |
114
114
  | Premature hypotheses | Diagnosis before reading evidence (R020 Read-Before-Characterize), parallel Read+permanent-change dispatch (R020 Variant) |
115
- | Missed conventions | Count sync drift (3-way sync), template mirror omitted, bypassPermissions missing |
115
+ | Missed conventions | Count sync drift (3-way sync), template mirror omitted, effective permission mode not verified before unattended run |
116
116
  | Over-claim completion | [Done] without verification (R020), test-skip masking failures |
117
117
 
118
118
  **Do NOT over-claim.** If evidence for a finding is weak or based on recall only, mark it `[recall, low-confidence]` and note what would be needed to confirm it. R020 read-before-characterize applies to this analysis itself.
@@ -224,7 +224,7 @@ If Phase 5 is skipped (`--dry-run`), the draft issue body is written to this art
224
224
 
225
225
  ## Permission Mode Note
226
226
 
227
- This skill does not spawn subagents directly. If future versions delegate analysis to subagents, ALL Agent tool calls MUST include `mode: "bypassPermissions"` per R010 Universal bypassPermissions.
227
+ This skill does not spawn subagents directly, but future versions may delegate analysis to subagents. Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
228
228
 
229
229
  ## Context Fork Note
230
230
 
@@ -32,7 +32,9 @@ Extract the core intent from the natural language input.
32
32
 
33
33
  ### Phase 3: Feasibility Analysis
34
34
 
35
- Analyze using a sonnet agent (always spawn with `mode: "bypassPermissions"`):
35
+ Analyze using a sonnet agent:
36
+
37
+ Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
36
38
 
37
39
  - **Scope**: Which modules/files would be affected
38
40
  - **Complexity**: XS/S/M/L effort estimate
@@ -73,7 +75,7 @@ The JSON block MUST be wrapped in triple backtick json fence for parsing.
73
75
  | Rule | How |
74
76
  |------|-----|
75
77
  | R009 | Single agent for analysis |
76
- | R010 | Orchestrator manages phases; analysis delegated to agent with `mode: "bypassPermissions"` |
78
+ | R010 | Orchestrator manages phases; analysis delegated to an agent (permission mode per R010 "Universal bypassPermissions") |
77
79
 
78
80
  ## Output Format
79
81
 
@@ -72,10 +72,10 @@ find ~/.claude/projects -name "session-*.jsonl" \
72
72
  추출된 이벤트를 `(domain, action_verb, error_class)` 튜플로 그룹화:
73
73
 
74
74
  ```
75
- Cluster: (agent-design, write, missing-frontmatter)
75
+ Cluster: (agent-delegation, spawn, unverified-permission-mode)
76
76
  → sessions: [s1, s3, s7], count: 4
77
77
  → first_seen: 2026-05-01, last_seen: 2026-05-15
78
- → example_corrections: ["bypassPermissions 누락", "name 필드 없음"]
78
+ → example_corrections: ["무인 실행 전 유효 권한 모드 미확인", "per-call mode 값을 무인 실행 증거로 간주"]
79
79
  ```
80
80
 
81
81
  필터링 기준:
@@ -88,9 +88,9 @@ Cluster: (agent-design, write, missing-frontmatter)
88
88
  각 클러스터를 "instinct 후보"로 명명:
89
89
 
90
90
  ```
91
- instinct: prevent-missing-bypassPermissions
92
- 근거: 4회 반복 (2주), agent spawn 시 mode 누락
93
- 대응 패턴: spawn 전 bypassPermissions 자가 체크
91
+ instinct: verify-permission-mode-before-unattended
92
+ 근거: 4회 반복 (2주), 무인 실행 전 유효 권한 모드 미확인
93
+ 대응 패턴: 무인 실행 전 유효 권한 모드 실측(R010 Self-Check 1)
94
94
  제안 자산: 기존 R010 강화 OR 신규 guard skill
95
95
  ```
96
96
 
@@ -111,9 +111,9 @@ context fork cap (12개) 확인: 신규 skill이 `context: fork` 필요 시 현
111
111
  ```
112
112
  [instinct-extractor] {N}개 instinct 후보 발견 (최근 {DAYS}일, {M}개 세션)
113
113
 
114
- 1. [high] prevent-missing-bypassPermissions
115
- 반복: 4회 | 마지막: 2026-05-15 | 도메인: agent-design
116
- 대응 본능: spawn 전 mode 체크 → skill 후보: bypassPermissions-guard
114
+ 1. [high] verify-permission-mode-before-unattended
115
+ 반복: 4회 | 마지막: 2026-05-15 | 도메인: agent-delegation
116
+ 대응 본능: 무인 실행 전 유효 모드 실측 → skill 후보: permission-mode-guard
117
117
 
118
118
  2. [medium] transcript-scan-format-mismatch
119
119
  반복: 3회 | 마지막: 2026-05-10 | 도메인: memory
@@ -301,4 +301,4 @@ Use Claude's WebFetch/WebSearch
301
301
  └── Reason: {explanation}
302
302
  ```
303
303
 
304
- When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
304
+ Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
@@ -58,7 +58,7 @@ TeamCreate("verification-team")
58
58
  └── style-reviewer (haiku) → Style review
59
59
  ```
60
60
 
61
- Members communicate findings via SendMessage for cross-cutting concerns.
61
+ Members communicate findings via SendMessage for cross-cutting concerns when their tool set includes it; otherwise they write findings to artifact files whose paths the orchestrator relays (R018 "멤버 도구 부재 시 대체 규약", #1817).
62
62
 
63
63
  ### Agent Tool Fallback
64
64
 
@@ -129,4 +129,4 @@ Multi-model verification uses 3x the tokens of a single review. Reserve for:
129
129
  - Architecture decisions
130
130
  - Pre-release verification
131
131
 
132
- When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
132
+ Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
@@ -210,4 +210,4 @@ mgr-gitnerd: gh release create -> create release with notes
210
210
 
211
211
  ## Permission Mode
212
212
 
213
- When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
213
+ Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
@@ -64,7 +64,7 @@ Execute these steps to display available pipelines:
64
64
  - **Prompt steps** (`prompt: text`): Execute the described action using appropriate agents/tools
65
65
  - **Foreach steps** (`foreach: collection`): Iterate over collection from previous step output
66
66
  - **Parallel steps** (`parallel: [step1, step2]`): Execute contained steps concurrently using Agent tool. Each parallel step runs as an independent Agent. Max 4 concurrent per R009. Steps within a parallel block MUST be independent (no shared state, no sequential dependencies). Dependencies between parallel and non-parallel steps use `depends_on:` field.
67
- - **Agent mode**: When spawning agents via Agent tool, always pass `mode: "bypassPermissions"` to match agent frontmatter. The Agent tool default (`acceptEdits`) overrides frontmatter `permissionMode`, causing permission prompts during unattended execution.
67
+ - **Agent mode**: Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
68
68
  5. Report completion or failure
69
69
 
70
70
  ### Resume Mode (/pipeline resume)
@@ -171,8 +171,28 @@ steps:
171
171
  - Otherwise: highest-priority open tier (bug → chore → feature)
172
172
  2. Apply Step 1 filter (label-based exclusion and preference)
173
173
  3. Sort by dependency: prerequisites before dependents
174
- 4. Cap at 7 issues; if priority issues < 7, stop at that priority (don't mix tiers)
174
+ 4. Cap at 7 issues; if priority issues < 7, stop at that priority (don't mix tiers) —
175
+ EXCEPT the batch-size fill in rule 6, which takes precedence when the top tier has < 3.
175
176
  5. Minimum 1 issue; if 0 eligible, halt with "no eligible issues for auto-dev run"
177
+ 6. Batch-size norm (fill exception to "don't mix tiers"): if the top tier has fewer than
178
+ 3 eligible issues, fill from the next tiers in order (bug → chore → feature, then
179
+ preferred-label / retrospective-proposal issues) until the scope is 3-7 issues. Tier
180
+ mixing is allowed ONLY for this fill. A 1-2 issue release is permitted ONLY when the
181
+ eligible total across ALL tiers is < 3. Issues split off or deferred pending approval
182
+ or a decision (`.claude/hooks/**` unattended split in Step 3, decision-needed, etc.)
183
+ do NOT count toward the eligible total. Because the Step 3 split happens AFTER this
184
+ step, re-evaluate this fill after the Step 3 split: if the remaining scope is below 3
185
+ and eligible issues remain, fill again from the next tiers, then re-run the Step 3 path
186
+ pre-check on any newly added issue. When the scope has multiple issues, issue
187
+ implementation delegations in parallel (R009) unless their target files overlap, or one
188
+ delegation depends on another's in-release implementation choice (see the implement
189
+ step's R009 「File-Disjoint ≠ Independent」 document-implementation variant); local git
190
+ state changes (per-issue lifecycle commits via mgr-gitnerd) remain serialized, one at a
191
+ time (R009 「File-Disjoint ≠ Independent (Local Git State)」).
192
+ Rationale: the fixed per-release cost (review rounds, CI, release.yml) must not be
193
+ carried by 1-2 issues; consecutive top-tier-only runs also starve lower tiers.
194
+ Origin: user feedback 2026-10-05 ("이슈를 너무 조금씩 해결한다"); #1814 harness proposal R3
195
+ (lower-tier starvation).
176
196
 
177
197
  ## Step 3 — Approval-required path pre-check (R010)
178
198
 
@@ -211,6 +231,9 @@ steps:
211
231
 
212
232
  Output approval_required_paths (list, empty if none) as pipeline state.
213
233
 
234
+ After an unattended split, re-evaluate the Step 2 rule 6 batch-size fill against the
235
+ remaining scope (split-off issues do not count) before assigning the milestone.
236
+
214
237
  Assign scoped issues to milestone.
215
238
  Output markdown release manifest:
216
239
  | order | # | title | prerequisite | effort | labels |
@@ -469,7 +492,7 @@ steps:
469
492
  - Parallel execution per R009 (max 4 concurrent, respect dependencies)
470
493
  - Issues whose prerequisites failed in-run MUST be skipped (log reason)
471
494
  - No direct orchestrator writes (R010)
472
- - All Agent tool calls MUST pass mode: "bypassPermissions" to prevent permission prompts during unattended execution
495
+ - On CC < 2.1.212 Agent tool calls need `mode: "bypassPermissions"` (the per-call default acceptEdits overrides frontmatter `permissionMode`), so pass it for compatibility. On CC >= 2.1.212 `mode` is ignored and subagents inherit the parent session's permission mode (frontmatter `permissionMode` may adjust it). Verify the effective mode before unattended execution per R010 「Universal bypassPermissions」 (pre-triage)
473
496
  - Mid-run scope additions (a new issue added via user interrupt AFTER implement began) MUST re-enter the verify-build gate before release — do NOT let a late-added scope item ride to release on a prior verify-build pass. Critical for code changes; benign for docs-only (#1301).
474
497
  - When an implement-stage delegation edits rule/skill/guide TEXT, the orchestrator MUST NOT author the final committed wording — the subagent writes it directly from the issue body (`gh issue view <N> --json body`); the delegation prompt supplies pointers, insertion anchors, constraints, verbatim tool-output quotations, and measured facts only
475
498
  (R010 「출처 인용과 인접 문구 점검도 같은 규율」 보강 2항목, #1698 #1). The orchestrator's own requirement/scope summary counts as final wording too — copy the issue's proposal sentence from `gh issue view` output verbatim, and tag any orchestrator paraphrase "[요약 — 원문 우선]"
@@ -780,7 +803,7 @@ steps:
780
803
 
781
804
  ## Sensitive Path Handling (CC v2.1.121+)
782
805
 
783
- Direct Write/Edit/Bash on `.claude/**` is permitted under `mode: "bypassPermissions"` as of CC v2.1.121 (#1101). The legacy `/tmp/*.sh` bypass is no longer required. Structural changes (new agents/skills) still go through mgr-creator with R017 verification.
806
+ Direct Write/Edit/Bash on `.claude/**` is permitted under the `bypassPermissions` permission mode as of CC v2.1.121 (#1101). The legacy `/tmp/*.sh` bypass is no longer required. Structural changes (new agents/skills) still go through mgr-creator with R017 verification.
784
807
 
785
808
  For CC < v2.1.121 see git history for the legacy bypass pattern.
786
809
 
@@ -27,7 +27,7 @@ Gather unfinished work from multiple sources:
27
27
 
28
28
  ### Tool: Writing artifacts under .claude/outputs/
29
29
 
30
- Under `mode: "bypassPermissions"`, subagents write directly to `.claude/outputs/sessions/` with the Write tool — direct `.claude/**` writes are permitted (CC v2.1.121+, #1101). No `/tmp` staging or script wrapping is needed. Read-only Bash on `.claude/outputs/` (e.g., `cat`, `head`, `wc`) is allowed for verification.
30
+ Under the `bypassPermissions` permission mode, subagents write directly to `.claude/outputs/sessions/` with the Write tool — direct `.claude/**` writes are permitted (CC v2.1.121+, #1101). No `/tmp` staging or script wrapping is needed. Read-only Bash on `.claude/outputs/` (e.g., `cat`, `head`, `wc`) is allowed for verification.
31
31
 
32
32
  Reference: R006/R010 sensitive-path handling (direct `.claude/**` write under bypassPermissions), #1101.
33
33
 
@@ -180,4 +180,4 @@ Add priority label (`P1`, `P2`, `P3`) based on categorization. Default for auto-
180
180
 
181
181
  ## Permission Mode
182
182
 
183
- When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
183
+ Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
@@ -50,13 +50,13 @@ When lightweight mode is used, the triage output (Phase 4E artifact and/or Phase
50
50
 
51
51
  | Phase | Agent | Mode |
52
52
  |-------|-------|------|
53
- | Phase 2 codebase search | Explore (haiku) | bypassPermissions |
54
- | Phase 4A Senior Architect | general-purpose (sonnet) | bypassPermissions |
55
- | Phase 4B Project Colleague | general-purpose (sonnet) | bypassPermissions |
56
- | Phase 4C Professor Synthesis | general-purpose (opus) | bypassPermissions |
57
- | Phase 4D triage comment | mgr-gitnerd | bypassPermissions |
58
- | Phase 4E artifact report | general-purpose | bypassPermissions |
59
- | Phase 5 GitHub actions | mgr-gitnerd | bypassPermissions |
53
+ | Phase 2 codebase search | Explore (haiku) | pass `bypassPermissions` (required on CC < 2.1.212; ignored on 2.1.212+, where the parent session mode applies unless agent frontmatter `permissionMode` overrides it) |
54
+ | Phase 4A Senior Architect | general-purpose (sonnet) | pass `bypassPermissions` (required on CC < 2.1.212; ignored on 2.1.212+, where the parent session mode applies unless agent frontmatter `permissionMode` overrides it) |
55
+ | Phase 4B Project Colleague | general-purpose (sonnet) | pass `bypassPermissions` (required on CC < 2.1.212; ignored on 2.1.212+, where the parent session mode applies unless agent frontmatter `permissionMode` overrides it) |
56
+ | Phase 4C Professor Synthesis | general-purpose (opus) | pass `bypassPermissions` (required on CC < 2.1.212; ignored on 2.1.212+, where the parent session mode applies unless agent frontmatter `permissionMode` overrides it) |
57
+ | Phase 4D triage comment | mgr-gitnerd | pass `bypassPermissions` (required on CC < 2.1.212; ignored on 2.1.212+, where the parent session mode applies unless agent frontmatter `permissionMode` overrides it) |
58
+ | Phase 4E artifact report | general-purpose | pass `bypassPermissions` (required on CC < 2.1.212; ignored on 2.1.212+, where the parent session mode applies unless agent frontmatter `permissionMode` overrides it) |
59
+ | Phase 5 GitHub actions | mgr-gitnerd | pass `bypassPermissions` (required on CC < 2.1.212; ignored on 2.1.212+, where the parent session mode applies unless agent frontmatter `permissionMode` overrides it) |
60
60
 
61
61
  **Agent selection constraint**: Phases 4A, 4B, 4C, 4E MUST use `general-purpose` (NOT `arch-documenter`). `arch-documenter` has `disallowedTools: [Bash]` — cannot run the `gh`/shell commands these phases require. See #1043.
62
62
 
@@ -69,14 +69,14 @@ When lightweight mode is used, the triage output (Phase 4E artifact and/or Phase
69
69
 
70
70
  ## Artifact Output (R006/R010)
71
71
 
72
- Under `mode: "bypassPermissions"`, agents write directly to `.claude/outputs/` with Write/Edit — no temp-script wrapping is needed (CC v2.1.121+, #1101). When spawning Phase 4A/4B/4C/4E agents, include verbatim in each agent prompt:
72
+ Under the `bypassPermissions` permission mode, agents write directly to `.claude/outputs/` with Write/Edit — no temp-script wrapping is needed (CC v2.1.121+, #1101). When spawning Phase 4A/4B/4C/4E agents, include verbatim in each agent prompt:
73
73
 
74
74
  ```
75
75
  **Artifact output (for this task)**
76
76
 
77
77
  If your task involves writing artifacts under `.claude/outputs/`, write the file to
78
78
  `.claude/outputs/sessions/<date>/<artifact>.md` using the Write tool directly (create the
79
- directory if needed). Your Agent tool call runs under `mode: "bypassPermissions"`, so direct
79
+ directory if needed). If your session runs under the `bypassPermissions` permission mode, direct
80
80
  Write/Edit on `.claude/` is permitted.
81
81
  ```
82
82
 
@@ -98,4 +98,4 @@ See R006 "Sensitive Path Handling" (CC v2.1.121+ direct-write convention).
98
98
 
99
99
  ## Permission Mode
100
100
 
101
- When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
101
+ Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
@@ -23,7 +23,7 @@ Switch the active plugin set to match a workflow profile, reducing per-spawn ski
23
23
  ## Implementation rules
24
24
 
25
25
  > **.claude/ path handling (CC v2.1.121+)**
26
- > Direct Write/Edit on `.claude/profiles/.active` and `~/.claude/settings.json` is permitted under `mode: "bypassPermissions"` (CC v2.1.121+, #1101). The legacy `/tmp/*.sh` bypass is deprecated. For CC < v2.1.121, see git history for the legacy pattern.
26
+ > Direct Write/Edit on `.claude/profiles/.active` and `~/.claude/settings.json` is permitted under the `bypassPermissions` permission mode (CC v2.1.121+, #1101). The legacy `/tmp/*.sh` bypass is deprecated. For CC < v2.1.121, see git history for the legacy pattern.
27
27
 
28
28
  ## Profiles directory
29
29
 
@@ -70,10 +70,10 @@ Profile: web-app
70
70
  Disable: codex, ralph-wiggum, agent-sdk-dev, ...
71
71
  ```
72
72
 
73
- 6. Apply changes via direct Edit on `~/.claude/settings.json` (`mode: "bypassPermissions"`, CC v2.1.121+):
73
+ 6. Apply changes via direct Edit on `~/.claude/settings.json` (under `bypassPermissions` permission mode, CC v2.1.121+):
74
74
  - Read `~/.claude/settings.json`, merge the computed diff into `enabledPlugins` (set enabled plugins to `true`, disabled plugins to `false`), then Write the updated JSON back.
75
75
 
76
- 7. Write active marker via direct Write on `.claude/profiles/.active` (`mode: "bypassPermissions"`):
76
+ 7. Write active marker via direct Write on `.claude/profiles/.active` (under `bypassPermissions` permission mode):
77
77
  - Write the profile `<name>` as plain text content to `.claude/profiles/.active`.
78
78
 
79
79
  8. Confirm:
@@ -86,7 +86,7 @@ IMPORTANT: Restart this Claude Code session for plugin changes to take effect.
86
86
 
87
87
  ## Workflow: `/profile reset`
88
88
 
89
- 1. Remove `.claude/profiles/.active` marker via direct `Bash: /bin/rm .claude/profiles/.active` (`mode: "bypassPermissions"`)
89
+ 1. Remove `.claude/profiles/.active` marker via direct `Bash: /bin/rm .claude/profiles/.active` (under `bypassPermissions` permission mode)
90
90
  2. Print: `[Done] Profile marker removed. Full plugin set will be active after restart.`
91
91
  3. Note: does NOT revert `~/.claude/settings.json` — user should re-run `/profile load <other>` or manually restore
92
92
 
@@ -9,7 +9,7 @@ context: fork
9
9
 
10
10
  When this skill spawns a subagent via the Agent tool, the spawned prompt MUST include this directive verbatim (or equivalent):
11
11
 
12
- > 이 스킬이 Agent tool로 서브에이전트를 스폰할 때 mode: "bypassPermissions"를 반드시 포함한다. 서브에이전트는 .claude/ 경로에 직접 Write/Edit/Bash를 사용한다(/tmp 우회 불필요, CC v2.1.121+). See R010.
12
+ > 호환을 위해 Agent 호출에 `mode: "bypassPermissions"`를 전달하십시오. CC 2.1.212 미만에서는 필수이며(호출별 기본값 `acceptEdits`가 에이전트 frontmatter `permissionMode`를 덮어씁니다), 2.1.212+에서는 무시되고 서브에이전트가 부모 세션의 권한 모드를 상속합니다(에이전트 frontmatter `permissionMode`로 조정 가능). 무인 실행 전 유효 모드 확인은 R010 「Universal bypassPermissions」 참조. bypassPermissions 세션에서 서브에이전트는 .claude/ 경로에 직접 Write/Edit/Bash를 사용합니다(/tmp 우회 불필요, CC v2.1.121+).
13
13
 
14
14
  This directive is preserved inline because Agent-tool prompt synthesis can drop SKILL.md notes; inline mandatory directives survive (#1046 lesson).
15
15
 
@@ -54,7 +54,7 @@ quality_analysis → qa-planner + qa-engineer (parallel)
54
54
  full_qa_cycle → all agents (sequential)
55
55
  ```
56
56
 
57
- > **Permission Mode**: When spawning agents via Agent tool, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
57
+ > **Permission Mode**: Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
58
58
 
59
59
  ### Ontology-RAG Enrichment (R019)
60
60
 
@@ -208,4 +208,4 @@ File header format:
208
208
 
209
209
  ## Permission Mode
210
210
 
211
- When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
211
+ Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
@@ -194,7 +194,7 @@ Convergence expected by round 3. Hard stop at round 30.
194
194
 
195
195
  ### Tool: Writing artifacts under .claude/outputs/
196
196
 
197
- Under `mode: "bypassPermissions"`, subagents write directly to `.claude/outputs/sessions/` with the Write tool — direct `.claude/**` writes are permitted (CC v2.1.121+, #1101). No `/tmp` staging or script wrapping is needed. Read-only Bash on `.claude/outputs/` (e.g., `cat`, `head`, `wc`) is allowed for verification.
197
+ Under the `bypassPermissions` permission mode, subagents write directly to `.claude/outputs/sessions/` with the Write tool — direct `.claude/**` writes are permitted (CC v2.1.121+, #1101). No `/tmp` staging or script wrapping is needed. Read-only Bash on `.claude/outputs/` (e.g., `cat`, `head`, `wc`) is allowed for verification.
198
198
 
199
199
  Reference: R006/R010 sensitive-path handling (direct `.claude/**` write under bypassPermissions), #1101.
200
200
 
@@ -427,9 +427,9 @@ When running inside an Agent Teams member (not via Skill tool), the research wor
427
427
 
428
428
  The orchestrator reads this SKILL.md and includes the research instructions directly in the Teams member's prompt. The member then:
429
429
 
430
- 1. Executes Phase 1-4 autonomously using its own Agent tool access
431
- 2. Spawns research teams as sub-agents (Teams members CAN spawn sub-agents)
432
- 3. Delivers results via `SendMessage` to the team lead instead of returning to orchestrator
430
+ 1. Executes Phase 1-4 autonomously, using its own Agent tool access when its tool set includes Agent (see item 2 otherwise)
431
+ 2. Spawns research teams as sub-agents (Teams members can spawn sub-agents only if their tool set includes Agent; otherwise fall back to file-channel handoff relayed by the orchestrator, #1817)
432
+ 3. Delivers results via `SendMessage` to the team lead instead of returning to orchestrator when its tool set includes SendMessage; otherwise writes the results to an artifact file and reports the path, which the orchestrator relays (R018 "멤버 도구 부재 시 대체 규약", #1817)
433
433
 
434
434
  ### Prompt Embedding Pattern
435
435
 
@@ -444,6 +444,8 @@ Agent(
444
444
 
445
445
  Topic: {user's research topic}
446
446
  Deliver results via SendMessage to team lead when complete.
447
+ If SendMessage is not in your tool set, write the results to an artifact
448
+ file and report its path for the orchestrator to relay.
447
449
  """
448
450
  )
449
451
  ```
@@ -453,7 +455,7 @@ Agent(
453
455
  | Aspect | Orchestrator Mode | Teams Mode |
454
456
  |--------|------------------|------------|
455
457
  | Invocation | `Skill(research)` | Prompt embedding |
456
- | Result delivery | Return to main conversation | `SendMessage` to team lead |
458
+ | Result delivery | Return to main conversation | `SendMessage` to team lead (if absent: artifact file relayed by orchestrator) |
457
459
  | Artifact persistence | Teams member writes artifact | Same |
458
460
  | GitHub issue creation | Orchestrator handles | Teams member handles directly |
459
461
  | Phase management | Orchestrator manages phases | Member manages phases autonomously |
@@ -478,4 +480,4 @@ Agent(
478
480
  | result-aggregation | Team results formatted per aggregation skill |
479
481
  | multi-model-verification | Phase 2 uses multi-model verification pattern |
480
482
 
481
- When spawning agents via the Agent tool during this skill's execution, always pass `mode: "bypassPermissions"`. The Agent tool default (`acceptEdits`) overrides agent frontmatter `permissionMode`, causing permission prompts during unattended execution.
483
+ Pass `mode: "bypassPermissions"` on Agent calls for compatibility: it is required on CC < 2.1.212 (the per-call default, `acceptEdits`, overrides agent frontmatter `permissionMode`) and ignored on 2.1.212+, where subagents inherit the parent session's permission mode (adjustable via agent frontmatter `permissionMode`). Verify the effective mode before unattended runs: see R010 "Universal bypassPermissions".
@@ -170,7 +170,7 @@ R006 Artifact Channel Protocol을 소비하는 표준 패턴. 병렬 에이전
170
170
 
171
171
  ### Tool: Writing artifacts under .claude/outputs/
172
172
 
173
- Under `mode: "bypassPermissions"`, subagents write directly to `.claude/outputs/sessions/` with the Write tool — direct `.claude/**` writes are permitted (CC v2.1.121+, #1101). No `/tmp` staging or script wrapping is needed. Read-only Bash on `.claude/outputs/` (e.g., `cat`, `head`, `wc`) is allowed for verification.
173
+ Under the `bypassPermissions` permission mode, subagents write directly to `.claude/outputs/sessions/` with the Write tool — direct `.claude/**` writes are permitted (CC v2.1.121+, #1101). No `/tmp` staging or script wrapping is needed. Read-only Bash on `.claude/outputs/` (e.g., `cat`, `head`, `wc`) is allowed for verification.
174
174
 
175
175
  Reference: R006/R010 sensitive-path handling (direct `.claude/**` write under bypassPermissions), #1101.
176
176
 
@@ -54,13 +54,13 @@ TeamCreate("roundtable-{topic}")
54
54
 
55
55
  If your task involves writing artifacts under `.claude/outputs/`, write the file to
56
56
  `.claude/outputs/sessions/<date>/<artifact>.md` using the Write tool directly (create the
57
- directory if needed). Your Agent tool call runs under `mode: "bypassPermissions"`, so direct
57
+ directory if needed). If your session runs under the `bypassPermissions` permission mode, direct
58
58
  Write/Edit on `.claude/` is permitted (CC v2.1.121+).
59
59
  ```
60
60
 
61
61
  ### Phase 1: Round 1 — Discussion
62
62
 
63
- 모든 독립 분석 공개 후 라운드 1 토론. SendMessage로 peer 의견 교환.
63
+ 모든 독립 분석 공개 후 라운드 1 토론. SendMessage로 peer 의견 교환 (멤버 도구에 SendMessage가 없으면 의견을 아티팩트 파일에 쓰고 오케스트레이터가 경로를 중계 — R018 「멤버 도구 부재 시 대체 규약」, #1817).
64
64
 
65
65
  규칙:
66
66
  1. 다른 의견을 기각할 때 명시적 정당화 (3개 근거) 필수
@@ -105,14 +105,9 @@ Before execution, show the plan:
105
105
 
106
106
  ### Phase 3: Fit Analysis
107
107
 
108
- > **MUST**: Agent tool 호출 시 반드시 `mode: "bypassPermissions"` 파라미터를 포함해야 한다 (R010 Universal bypassPermissions). CC Agent tool의 기본값은 `acceptEdits`이며, 이는 agent frontmatter의 `permissionMode`를 덮어쓴다. `mode` 누락 시 Bash/WebFetch 권한 프롬프트가 발생하여 비대화형 실행이 중단된다.
109
- >
110
- > ```
111
- > ❌ Agent(subagent_type: "general-purpose", prompt: "...")
112
- > ✓ Agent(subagent_type: "general-purpose", mode: "bypassPermissions", prompt: "...")
113
- > ```
108
+ > 호환을 위해 Agent 호출에 `mode: "bypassPermissions"`를 전달하십시오. CC 2.1.212 미만에서는 필수이며(호출별 기본값 `acceptEdits`가 에이전트 frontmatter `permissionMode`를 덮어씁니다), 2.1.212+에서는 무시되고 서브에이전트가 부모 세션의 권한 모드를 상속합니다(에이전트 frontmatter `permissionMode`로 조정 가능). 무인 실행 전 유효 모드 확인은 R010 「Universal bypassPermissions」 참조.
114
109
 
115
- Spawn 1 sonnet agent with `mode: "bypassPermissions"` and the following analysis prompt.
110
+ Spawn 1 sonnet agent with the following analysis prompt.
116
111
 
117
112
  **Inputs**:
118
113
  - Fetched content summary (Phase 1)
@@ -163,7 +158,7 @@ Return a structured verdict:
163
158
 
164
159
  ### Phase 4: Issue Creation
165
160
 
166
- > **NOTE**: Phase 4는 orchestrator가 직접 `gh issue create` (Bash)로 처리한다. 만약 이슈 생성을 Agent(mgr-gitnerd 등)에 위임할 경우, 해당 Agent tool 호출에도 반드시 `mode: "bypassPermissions"`를 포함해야 한다 (R010).
161
+ > **NOTE**: Phase 4는 orchestrator가 직접 `gh issue create` (Bash)로 처리한다. 만약 이슈 생성을 Agent(mgr-gitnerd 등)에 위임할 경우, 권한 모드는 R010 「Universal bypassPermissions」를 따른다.
167
162
 
168
163
  1. Ensure scout labels exist (defensive, idempotent):
169
164
  ```bash
@@ -171,4 +171,4 @@ CRG 미연결 시 Grep + Read 조합으로 fallback.
171
171
 
172
172
  ## Permission Mode
173
173
 
174
- 이 스킬에서 Agent 도구를 사용하여 에이전트를 스폰할 경우, 항상 `mode: "bypassPermissions"` 를 전달해야 한다. Agent 도구의 기본값(`acceptEdits`)은 에이전트 frontmatter `permissionMode` 를 덮어쓰므로 무인 실행 중 권한 프롬프트가 발생할 수 있다.
174
+ 호환을 위해 Agent 호출에 `mode: "bypassPermissions"`를 전달하십시오. CC 2.1.212 미만에서는 필수이며(호출별 기본값 `acceptEdits`가 에이전트 frontmatter `permissionMode`를 덮어씁니다), 2.1.212+에서는 무시되고 서브에이전트가 부모 세션의 권한 모드를 상속합니다(에이전트 frontmatter `permissionMode`로 조정 가능). 무인 실행 전 유효 모드 확인은 R010 「Universal bypassPermissions」 참조.