oh-my-customcode 0.137.0 → 0.139.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/agents/qa-engineer.md +7 -0
- package/templates/.claude/hooks/hooks.json +11 -1
- package/templates/.claude/hooks/scripts/destructive-git-guard.sh +60 -0
- package/templates/.claude/rules/SHOULD-verification-ladder.md +77 -0
- package/templates/.claude/skills/crg-integration/SKILL.md +163 -0
- package/templates/.claude/skills/pipeline/labels.md +52 -0
- package/templates/.claude/skills/pipeline/workflows/auto-dev.yaml +79 -15
- package/templates/CLAUDE.md +1 -0
- package/templates/README.md +195 -0
- package/templates/guides/agent-workflow/05-autonomous-challenge-lessons.md +35 -0
- package/templates/guides/claude-code/15-version-compatibility.md +71 -0
- package/templates/guides/compound-ai-workflow/README.md +197 -0
- package/templates/guides/token-efficiency/crg.md +218 -0
- package/templates/manifest.json +5 -5
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# templates/
|
|
2
|
+
|
|
3
|
+
> **oh-my-customcode 배포 디렉토리**
|
|
4
|
+
>
|
|
5
|
+
> `omcustom init` 실행 시 새 프로젝트에 복사되는 파일들의 소스입니다.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 목적 (Purpose)
|
|
10
|
+
|
|
11
|
+
`templates/`는 oh-my-customcode의 **배포 구조(distribution structure)**입니다.
|
|
12
|
+
|
|
13
|
+
사용자가 새 프로젝트에서 `omcustom init`을 실행하면, 이 디렉토리의 내용이 대상 프로젝트 루트로 복사됩니다. 즉, 이 디렉토리는 oh-my-customcode가 제공하는 에이전트 시스템의 **완성된 스냅샷**입니다.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
oh-my-customcode 소스 레포
|
|
17
|
+
└── templates/ ← 배포 소스 (이 디렉토리)
|
|
18
|
+
├── .claude/
|
|
19
|
+
├── guides/
|
|
20
|
+
└── CLAUDE.md
|
|
21
|
+
|
|
22
|
+
사용자 프로젝트 (omcustom init 후)
|
|
23
|
+
└── your-project/
|
|
24
|
+
├── .claude/ ← templates/.claude/ 에서 복사
|
|
25
|
+
├── guides/ ← templates/guides/ 에서 복사
|
|
26
|
+
└── CLAUDE.md ← templates/CLAUDE.md 에서 복사
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 메인 README와의 관계
|
|
32
|
+
|
|
33
|
+
| 문서 | 대상 | 설명 |
|
|
34
|
+
|------|------|------|
|
|
35
|
+
| [`/README.md`](../README.md) | oh-my-customcode **자체** | 프로젝트 소개, 철학, 설치 가이드 |
|
|
36
|
+
| `templates/README.md` (이 파일) | **배포 콘텐츠** | 배포되는 파일 구조와 카운트 |
|
|
37
|
+
|
|
38
|
+
메인 README는 oh-my-customcode라는 도구를 설명합니다. 이 파일은 그 도구가 배포하는 내용물을 설명합니다.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 디렉토리 구조
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
templates/
|
|
46
|
+
├── README.md # 이 파일 (배포 콘텐츠 문서)
|
|
47
|
+
├── CLAUDE.md # 에이전트 시스템 진입점
|
|
48
|
+
├── manifest.json # 배포 컴포넌트 카운트 및 메타데이터
|
|
49
|
+
├── .claude/
|
|
50
|
+
│ ├── agents/ # 에이전트 정의 파일 (*.md, 49개)
|
|
51
|
+
│ ├── skills/ # 스킬 모듈 (각 디렉토리에 SKILL.md, 118개)
|
|
52
|
+
│ ├── rules/ # 전역 규칙 (R000–R023, 23개)
|
|
53
|
+
│ ├── hooks/
|
|
54
|
+
│ │ ├── hooks.json # 훅 이벤트 설정 (PreToolUse/PostToolUse 등)
|
|
55
|
+
│ │ └── scripts/ # 훅 셸 스크립트 (34개)
|
|
56
|
+
│ ├── contexts/ # 컨텍스트 설정 파일 (ecomode 등)
|
|
57
|
+
│ └── ontology/ # Ontology-RAG 지식 그래프
|
|
58
|
+
└── guides/ # 레퍼런스 문서 디렉토리 (50개)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 컴포넌트 (Components)
|
|
64
|
+
|
|
65
|
+
아래 카운트는 `templates/manifest.json`과 동기화됩니다.
|
|
66
|
+
CI의 `verify-template-sync.sh`가 소스와 templates/ 간 일치를 검증합니다.
|
|
67
|
+
|
|
68
|
+
### Agents (49)
|
|
69
|
+
|
|
70
|
+
`.claude/agents/*.md` — 에이전트 정의 파일.
|
|
71
|
+
|
|
72
|
+
각 파일은 단일 전문가 에이전트를 정의합니다. frontmatter에 `name`, `description`, `model`, `tools`가 필수 포함됩니다.
|
|
73
|
+
|
|
74
|
+
| 카테고리 | 수량 |
|
|
75
|
+
|----------|------|
|
|
76
|
+
| SW Engineer / Language | 6 |
|
|
77
|
+
| SW Engineer / Backend | 6 |
|
|
78
|
+
| SW Engineer / Frontend | 5 |
|
|
79
|
+
| SW Engineer / Tooling | 4 |
|
|
80
|
+
| DE Engineer | 6 |
|
|
81
|
+
| SW Engineer / Database | 4 |
|
|
82
|
+
| Security | 1 |
|
|
83
|
+
| SW Architect | 2 |
|
|
84
|
+
| Infra Engineer | 2 |
|
|
85
|
+
| QA Team | 3 |
|
|
86
|
+
| Manager | 6 |
|
|
87
|
+
| System | 4 |
|
|
88
|
+
|
|
89
|
+
### Skills (118)
|
|
90
|
+
|
|
91
|
+
`.claude/skills/*/SKILL.md` — 재사용 가능한 스킬 모듈.
|
|
92
|
+
|
|
93
|
+
각 스킬 디렉토리에 `SKILL.md`가 있으며, 필요에 따라 `scripts/` 서브디렉토리를 포함합니다.
|
|
94
|
+
|
|
95
|
+
스킬 범위(`scope`):
|
|
96
|
+
- `core` — 범용 개발 도구 (init 시 배포됨)
|
|
97
|
+
- `harness` — 에이전트/스킬/룰 유지보수 도구 (init 시 배포됨)
|
|
98
|
+
- `package` — 패키지 특화 도구 (선택 배포)
|
|
99
|
+
|
|
100
|
+
### Rules (23)
|
|
101
|
+
|
|
102
|
+
`.claude/rules/*.md` — 에이전트 행동 규칙 (R000–R023, R014 없음).
|
|
103
|
+
|
|
104
|
+
파일명 형식: `{PRIORITY}-{name}.md` (예: `MUST-agent-identification.md`)
|
|
105
|
+
|
|
106
|
+
| 우선순위 | 의미 | 예 |
|
|
107
|
+
|----------|------|-----|
|
|
108
|
+
| `MUST` | 절대 준수 | R007 에이전트 식별, R009 병렬 실행 |
|
|
109
|
+
| `SHOULD` | 강력 권장 | R003 상호작용, R013 Ecomode |
|
|
110
|
+
| `MAY` | 선택 | R005 최적화 |
|
|
111
|
+
|
|
112
|
+
### Guides (51)
|
|
113
|
+
|
|
114
|
+
`guides/*/` — 레퍼런스 문서 디렉토리.
|
|
115
|
+
|
|
116
|
+
각 디렉토리는 단일 토픽에 대한 best practices, 튜토리얼, 또는 설계 가이드를 담습니다. 에이전트가 작업 중 참조합니다 (R006 관심사 분리).
|
|
117
|
+
|
|
118
|
+
### Hooks (35)
|
|
119
|
+
|
|
120
|
+
`.claude/hooks/scripts/*.sh` — 라이프사이클 훅 스크립트.
|
|
121
|
+
|
|
122
|
+
`hooks.json`에 정의된 이벤트(PreToolUse, PostToolUse, Stop 등)에 반응합니다.
|
|
123
|
+
|
|
124
|
+
주요 훅 스크립트:
|
|
125
|
+
|
|
126
|
+
| 스크립트 | 역할 |
|
|
127
|
+
|----------|------|
|
|
128
|
+
| `secret-filter.sh` | API 키/시크릿 노출 방지 |
|
|
129
|
+
| `stage-blocker.sh` | 스테이지 게이트 강제 |
|
|
130
|
+
| `rule-deletion-guard.sh` | 규칙 파일 삭제 차단 |
|
|
131
|
+
| `stuck-detector.sh` | 에이전트 무한루프 감지 |
|
|
132
|
+
| `context-budget-advisor.sh` | 컨텍스트 예산 경고 |
|
|
133
|
+
| `cost-cap-advisor.sh` | 비용 한도 초과 경고 |
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 사용 방법 (Usage)
|
|
138
|
+
|
|
139
|
+
### omcustom init
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# 전역 설치
|
|
143
|
+
npm install -g oh-my-customcode
|
|
144
|
+
|
|
145
|
+
# 프로젝트에 oh-my-customcode 초기화
|
|
146
|
+
cd your-project
|
|
147
|
+
omcustom init
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
`omcustom init`은 이 `templates/` 디렉토리의 내용을 대상 프로젝트에 복사합니다:
|
|
151
|
+
1. `.claude/` 전체 (agents, skills, rules, hooks, contexts, ontology)
|
|
152
|
+
2. `guides/` 전체
|
|
153
|
+
3. `CLAUDE.md` (프로젝트 진입점)
|
|
154
|
+
|
|
155
|
+
### 선택적 업데이트
|
|
156
|
+
|
|
157
|
+
이미 초기화된 프로젝트를 최신 버전으로 업데이트할 때:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
omcustom update
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 동기화 검증
|
|
166
|
+
|
|
167
|
+
소스(`.claude/`, `guides/`)와 `templates/` 간 동기화는 CI에서 자동 검증됩니다.
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# 로컬 검증
|
|
171
|
+
bash .github/scripts/verify-template-sync.sh
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
검증 항목:
|
|
175
|
+
- 스킬 수 일치 (`.claude/skills/` ↔ `templates/.claude/skills/`)
|
|
176
|
+
- 에이전트 수 일치
|
|
177
|
+
- 룰 수 일치
|
|
178
|
+
- 가이드 수 일치
|
|
179
|
+
- 훅 스크립트 수 일치
|
|
180
|
+
- `manifest.json` 카운트 일치
|
|
181
|
+
|
|
182
|
+
소스에 새 파일을 추가할 때는 반드시 `templates/`에도 동기화해야 합니다.
|
|
183
|
+
`manifest.json`의 카운트도 함께 업데이트하세요.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## 기여 가이드 참조
|
|
188
|
+
|
|
189
|
+
에이전트, 스킬, 룰 추가/수정 시 3중 동기화가 필요합니다:
|
|
190
|
+
|
|
191
|
+
1. **원본**: `.claude/agents/`, `.claude/skills/`, `.claude/rules/`, `guides/`
|
|
192
|
+
2. **templates 복사**: `templates/.claude/agents/`, `templates/.claude/skills/` 등
|
|
193
|
+
3. **카운트 업데이트**: `templates/manifest.json`, `README.md`, `CLAUDE.md` 등
|
|
194
|
+
|
|
195
|
+
자세한 내용은 프로젝트 루트의 기여 가이드 및 `guides/` 참조 문서를 확인하세요.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Autonomous Challenge Lessons
|
|
2
|
+
|
|
3
|
+
Lessons from the 2026-05 Minecraft Cobblemon autonomous run post-mortem (#1149). Use these as guardrails for long-running challenge, QA, and tool-heavy sessions.
|
|
4
|
+
|
|
5
|
+
## First-five-minutes ground-truth check
|
|
6
|
+
|
|
7
|
+
Before producing solution artifacts, ask whether the environment already contains a reference, answer jar, fixture, golden output, or expected patch.
|
|
8
|
+
|
|
9
|
+
- Inspect supplied artifacts before inventing a mechanism.
|
|
10
|
+
- If a jar/binary/package is provided as the expected fix, disassemble or inspect it early.
|
|
11
|
+
- Verify framework version and mapping namespace before writing code. For Minecraft/Fabric-style work, decide Mojang official vs Yarn mappings from the actual target environment, not from memory.
|
|
12
|
+
|
|
13
|
+
## Tool denial and repeated failure policy
|
|
14
|
+
|
|
15
|
+
- If a tool call is denied by permissions, do not retry the exact same call. Switch to a permitted route and record the denial.
|
|
16
|
+
- If the same critical error appears twice, stop relaunching and re-check flag semantics, existing singleton processes, and environment state.
|
|
17
|
+
- For launcher-style tools, clear known singleton processes before a fresh launch when safe and appropriate.
|
|
18
|
+
- Treat ambiguous CLI flags as suspect until confirmed by docs or help output. Example: an `--offline` flag may force missing-library failures rather than simply avoid network calls.
|
|
19
|
+
|
|
20
|
+
## QA evidence discipline
|
|
21
|
+
|
|
22
|
+
QA reports must quote implementation identifiers verbatim:
|
|
23
|
+
|
|
24
|
+
- grep/read the target code before naming `data-testid`, selectors, function names, or config keys;
|
|
25
|
+
- include the exact file path and line when possible;
|
|
26
|
+
- do not infer selectors or identifiers from screenshots, memory, or prior drafts.
|
|
27
|
+
|
|
28
|
+
## Long autonomous run checkpoint
|
|
29
|
+
|
|
30
|
+
At each major phase boundary:
|
|
31
|
+
|
|
32
|
+
1. Re-check the ground-truth artifact or expected output.
|
|
33
|
+
2. Re-check version/mapping assumptions.
|
|
34
|
+
3. Review repeated-denial or repeated-error patterns.
|
|
35
|
+
4. Confirm QA evidence came from code or executed commands, not assumptions.
|
|
@@ -266,6 +266,77 @@ retire/wake 사이클 후에도 `--dangerously-skip-permissions` 플래그가
|
|
|
266
266
|
|
|
267
267
|
**Action items**: Fast Mode를 사용하는 경우 Opus 4.7 전환 영향을 확인하고, 필요 시 `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1`로 고정. `MCP_TOOL_TIMEOUT` 설정이 필요한 환경에서는 선택적으로 적용.
|
|
268
268
|
|
|
269
|
+
## v2.1.143 (2026-05-15) — 호환성 점검
|
|
270
|
+
|
|
271
|
+
> Issue: #1166 — CC v2.1.143 compatibility documentation
|
|
272
|
+
|
|
273
|
+
### Plugin dependency enforcement
|
|
274
|
+
|
|
275
|
+
`claude plugin disable` now refuses to disable a plugin when another enabled plugin depends on it, and prints a copy-pasteable disable-chain hint. `claude plugin enable` force-enables transitive dependencies.
|
|
276
|
+
|
|
277
|
+
**oh-my-customcode 연관**: 필수/권장 플러그인(superpowers, context7, elements-of-style 등)을 함께 운영할 때 의존성 순서 실수가 줄어듭니다. 플러그인 비활성화 자동화는 실패 메시지의 disable-chain 힌트를 그대로 따르도록 해야 합니다. 직접 harness 변경 불필요.
|
|
278
|
+
|
|
279
|
+
### `/plugin` marketplace projected context cost
|
|
280
|
+
|
|
281
|
+
Marketplace browse pane now shows projected context cost estimates per turn and per invocation.
|
|
282
|
+
|
|
283
|
+
**oh-my-customcode 연관**: R013 ecomode 및 토큰 효율 감사에서 플러그인 선택 근거가 개선됩니다. `/plugin details`와 함께 플러그인 도입 전 비용 점검에 활용합니다.
|
|
284
|
+
|
|
285
|
+
### `worktree.bgIsolation: "none"`
|
|
286
|
+
|
|
287
|
+
New setting lets background sessions edit the working copy directly without `EnterWorktree` for repositories where worktrees are impractical.
|
|
288
|
+
|
|
289
|
+
```json
|
|
290
|
+
{
|
|
291
|
+
"worktree": {
|
|
292
|
+
"bgIsolation": "none"
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
**oh-my-customcode 연관**: R009/R018 병렬 작업에서 worktree가 불가능한 저장소의 fallback 옵션입니다. 같은 working copy를 공유하므로 충돌 위험이 있습니다. 사용 전 `git status --short --branch`를 확인하고, 병렬 파일 소유권을 명확히 나누는 경우에만 opt-in 하세요.
|
|
298
|
+
|
|
299
|
+
### PowerShell execution policy bypass
|
|
300
|
+
|
|
301
|
+
PowerShell tool now passes `-ExecutionPolicy Bypass`. Opt out with:
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
export CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
**oh-my-customcode 연관**: Windows 환경에서 hook/script 실행 호환성이 좋아집니다. 보수적 enterprise policy 환경에서는 위 opt-out을 문서화하세요.
|
|
308
|
+
|
|
309
|
+
### Background sessions preserve model and effort
|
|
310
|
+
|
|
311
|
+
Background sessions now preserve the model and effort level set after waking from idle. Shift+Tab in attached agent sessions now includes auto mode in the cycle.
|
|
312
|
+
|
|
313
|
+
**oh-my-customcode 연관**: R006 agent frontmatter의 `model`/`effort`와 장시간 R018 세션 운영이 더 안정적입니다. 별도 변경 없음.
|
|
314
|
+
|
|
315
|
+
### Fixes relevant to agent harnesses
|
|
316
|
+
|
|
317
|
+
- Corrupt `.credentials.json` with non-array `scopes` no longer hangs startup or silently aborts OAuth token refresh.
|
|
318
|
+
- Stop hooks that block repeatedly now end the turn with a warning after 8 consecutive blocks. Override with `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`.
|
|
319
|
+
- Esc/Ctrl+C cancels pending `/loop` wakeup while idle.
|
|
320
|
+
- `/goal` evaluator no longer fires while background shells or delegated subagents are still running.
|
|
321
|
+
- `NO_COLOR`/`FORCE_COLOR` in settings env now apply to subprocesses only, preserving Claude Code UI colors.
|
|
322
|
+
- Agent view avoids repeated PowerShell processes on Windows.
|
|
323
|
+
- `/bg` without a prompt now waits for input instead of sending `continue`.
|
|
324
|
+
- `--agent <name>` can find plugin-contributed agents without the `plugin:` prefix.
|
|
325
|
+
|
|
326
|
+
### oh-my-customcode 연관 평가
|
|
327
|
+
|
|
328
|
+
| 변경 | 영향 | Action |
|
|
329
|
+
|------|------|--------|
|
|
330
|
+
| Plugin dependency enforcement | 플러그인 disable/enable 순서 안전 | None |
|
|
331
|
+
| Marketplace context cost | R013 비용 점검 개선 | Use in token audits |
|
|
332
|
+
| `worktree.bgIsolation: "none"` | worktree 불가 repo fallback | Opt-in only with file ownership discipline |
|
|
333
|
+
| PowerShell policy bypass | Windows script 호환성 | Enterprise opt-out 문서화 |
|
|
334
|
+
| BG model/effort persistence | 장시간 에이전트 안정성 | None |
|
|
335
|
+
| Stop hook block cap | hook 무한루프 안전 | Hook 테스트 시 8회 cap 인지 |
|
|
336
|
+
| `/goal`, `/loop`, `/bg`, plugin agent fixes | autonomous workflow 안정성 | None |
|
|
337
|
+
|
|
338
|
+
**Action items**: 직접 변경 불필요. `worktree.bgIsolation: "none"`은 충돌 위험이 있으므로 기본값으로 권장하지 않고, R009 병렬 작업에서는 기존 worktree 격리를 우선합니다.
|
|
339
|
+
|
|
269
340
|
## v2.1.141 (2026-05-13) — 호환성 점검
|
|
270
341
|
|
|
271
342
|
> Issue: #1137 — CC v2.1.141 compatibility documentation
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# Compound AI Workflow
|
|
2
|
+
|
|
3
|
+
> 모든 완료된 artifact가 다음 세션의 context로 누적된다.
|
|
4
|
+
|
|
5
|
+
Eugene Yan의 ["How to Work and Compound with AI"](https://eugeneyan.com/writing/working-with-ai/)에서 추출한 5원칙을 oh-my-customcode 인벤토리에 내재화한 레퍼런스 가이드. 이 가이드는 시스템을 처음 접하는 기여자와 기존 사용자 모두를 위한 entry point 역할을 한다.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. 개요
|
|
10
|
+
|
|
11
|
+
**compound effect**란 AI와의 모든 상호작용이 단순히 소비되지 않고, 다음 작업의 질과 속도를 높이는 재료로 누적되는 현상이다. 각 세션에서 생성된 skill, memory, guide, rule이 쌓일수록 시스템은 점점 더 빠르고 정확하게 작동한다.
|
|
12
|
+
|
|
13
|
+
oh-my-customcode는 이 원리를 아키텍처 전반에 내재화한다:
|
|
14
|
+
|
|
15
|
+
- **Skills**: 재사용 가능한 워크플로우 지식
|
|
16
|
+
- **Agents**: 스킬을 조합한 실행 가능한 전문가
|
|
17
|
+
- **Rules**: 시스템 전체에 걸친 행동 제약
|
|
18
|
+
- **Memory**: 세션 간 누적되는 패턴과 피드백
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 2. Eugene Yan 5원칙
|
|
23
|
+
|
|
24
|
+
### 원칙 1: Context Infrastructure
|
|
25
|
+
|
|
26
|
+
구조화된 디렉토리와 annotated indices가 AI에게 풍부한 컨텍스트를 제공한다. 파일이 어디에 있는지, 무슨 역할인지를 AI가 스스로 파악할 수 있도록 레이아웃과 색인이 설계되어야 한다. 임시 파일과 unstructured dump는 AI의 추론 품질을 떨어뜨린다. 잘 정비된 디렉토리 구조는 AI가 "기억 없이도" 프로젝트를 이해하게 만드는 구조적 기억이다.
|
|
27
|
+
|
|
28
|
+
### 원칙 2: Taste as Configuration
|
|
29
|
+
|
|
30
|
+
AI의 출력 품질은 사용자의 취향(taste)을 얼마나 잘 설정했느냐에 달려 있다. CLAUDE.md와 규칙 파일은 이 취향을 코드화한 것이다. 스타일, 언어 정책, 금지된 패턴, 선호하는 위임 방식을 선언적으로 정의하면 AI는 매 세션마다 동일한 기준으로 작동한다. 취향은 대화로 가르치는 것이 아니라 설정으로 배포하는 것이다.
|
|
31
|
+
|
|
32
|
+
### 원칙 3: Verification Ladders
|
|
33
|
+
|
|
34
|
+
검증은 비용 순서대로 쌓인 사다리여야 한다. 가장 저렴한 결정론적 검사가 먼저 통과되어야 비싼 LLM 검토로 이어진다. hooks, linters, type-checker가 잡을 수 있는 오류를 sonnet/opus에 보내는 것은 낭비다. shift-left 원칙: 문제를 발견하는 시점을 최대한 앞으로 당긴다. 자세한 내용은 R023 (SHOULD-verification-ladder)를 참조.
|
|
35
|
+
|
|
36
|
+
### 원칙 4: Scaled Delegation
|
|
37
|
+
|
|
38
|
+
위임의 깊이는 작업의 크기와 위험도에 비례해야 한다. 간단한 파일 편집은 pair-programming 스타일로 직접 호출하고, 복잡한 다단계 작업은 `/pipeline auto-dev`로 완전 위임한다. 위임 스펙트럼을 이해하고 올바른 깊이를 선택하는 것이 AI 협업 효율의 핵심이다.
|
|
39
|
+
|
|
40
|
+
### 원칙 5: Loop Closure
|
|
41
|
+
|
|
42
|
+
AI와의 대화 기록(transcript)은 단순 로그가 아니라 패턴 마이닝의 원천이다. 반복적으로 수정하게 되는 패턴, AI가 자주 오해하는 패턴, 성공적인 위임 패턴을 추출해 skill로 승격시키는 것이 loop closure다. 이 루프가 닫혀야 compound effect가 발생한다.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 3. oh-my-customcode 매핑표
|
|
47
|
+
|
|
48
|
+
| Yan 원칙 | 대응 자산 | 비고 |
|
|
49
|
+
|---------|----------|------|
|
|
50
|
+
| **Context Infrastructure** | `.claude/agent-memory/`, MEMORY.md, R011 (`SHOULD-memory-integration`), `wiki/` | 에이전트별 project-scoped 메모리 + wiki 색인 |
|
|
51
|
+
| **Taste as Configuration** | `CLAUDE.md`, `.claude/rules/` (R000-R023), `.claude/output-styles/` | 규칙 cascade: global → project → agent frontmatter |
|
|
52
|
+
| **Verification Ladders** | R023 `SHOULD-verification-ladder`, `deep-verify`, `multi-model-verification`, `adversarial-review`, `mgr-sauron` | Tier 1-4 shift-left ladder |
|
|
53
|
+
| **Scaled Delegation** | `structured-dev-cycle`, `dev-lead-routing`, `/pipeline auto-dev` | pair → stage-gated → full delegation 스펙트럼 |
|
|
54
|
+
| **Loop Closure** | `skill-extractor` (`--mode failure`), R016 (`MUST-continuous-improvement`), `omcustom-loop` | 패턴 채굴 → skill 승격 자동화 |
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 4. Compound Effect: 시스템 사고 프레이밍
|
|
59
|
+
|
|
60
|
+
oh-my-customcode는 소프트웨어 컴파일과 동일한 구조를 따른다:
|
|
61
|
+
|
|
62
|
+
| 컴파일 개념 | oh-my-customcode 매핑 | compound 효과 |
|
|
63
|
+
|-----------|---------------------|--------------|
|
|
64
|
+
| Source code | `.claude/skills/` | 재사용 가능한 지식 누적 |
|
|
65
|
+
| Build artifacts | `.claude/agents/` | 스킬 조합으로 전문가 생성 |
|
|
66
|
+
| Compiler | `mgr-sauron` (R017) | 구조 정합성 보장 |
|
|
67
|
+
| Spec | `.claude/rules/` | 빌드 규칙의 지속적 진화 |
|
|
68
|
+
| Linker | Routing skills | 에이전트-작업 연결 최적화 |
|
|
69
|
+
| Standard library | `guides/` | 공유 레퍼런스 지식 누적 |
|
|
70
|
+
|
|
71
|
+
이 메타포에서 compound effect가 발생하는 지점:
|
|
72
|
+
|
|
73
|
+
1. **세션 1**: 새 패턴 발견 → skill 초안 작성
|
|
74
|
+
2. **세션 2**: skill 재사용 → 작업 시간 단축
|
|
75
|
+
3. **세션 3**: skill 실패 패턴 채굴 → skill 개선 (R016 + skill-extractor)
|
|
76
|
+
4. **세션 N**: 누적된 skill/rule/memory가 신규 작업의 context로 자동 주입
|
|
77
|
+
|
|
78
|
+
각 artifact(skill, agent, guide, memory)는 독립적 가치가 아니라 **시스템 전체의 지식 밀도**를 높이는 방식으로 기여한다. 하나의 잘 작성된 skill이 10개 세션에서 반복 재사용될 때 compound effect가 실현된다.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 5. Scaled Delegation 스펙트럼
|
|
83
|
+
|
|
84
|
+
위임 깊이는 작업의 복잡도, 위험도, 반복성에 따라 결정된다.
|
|
85
|
+
|
|
86
|
+
### 스펙트럼 개요
|
|
87
|
+
|
|
88
|
+
| 위임 깊이 | 패턴 | 대표 자산 | 적합한 작업 |
|
|
89
|
+
|---------|------|----------|-----------|
|
|
90
|
+
| **Pair-programming** | 직접 에이전트 호출 | 특정 에이전트 직접 지시 | 단일 파일 수정, ad-hoc 질문, 빠른 확인 |
|
|
91
|
+
| **Stage-gated** | structured-dev-cycle | `structured-dev-cycle` (6-stage) | 기능 구현, 리팩토링, 복잡한 버그 수정 |
|
|
92
|
+
| **Full delegation** | 파이프라인 자동화 | `/pipeline auto-dev` | 이슈 기반 완전 자동 개발 사이클 |
|
|
93
|
+
|
|
94
|
+
### 위임 깊이 선택 가이드
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
작업 크기 / 위험도에 따른 선택:
|
|
98
|
+
|
|
99
|
+
Low risk + 단일 파일 + 명확한 요구사항
|
|
100
|
+
→ Pair-programming: "이 함수의 에러 핸들링을 개선해줘"
|
|
101
|
+
|
|
102
|
+
Medium risk + 다중 파일 + 테스트 필요
|
|
103
|
+
→ Stage-gated: structured-dev-cycle
|
|
104
|
+
[Stage 1] 분석 (Read only)
|
|
105
|
+
[Stage 2] 설계 검토
|
|
106
|
+
[Stage 3] 구현 (Write 허용)
|
|
107
|
+
[Stage 4] 검증 (Test 실행)
|
|
108
|
+
[Stage 5] 문서화
|
|
109
|
+
[Stage 6] 완료 검증 (R020)
|
|
110
|
+
|
|
111
|
+
High volume + 이슈 목록 + CI 검증 가능
|
|
112
|
+
→ Full delegation: /pipeline auto-dev
|
|
113
|
+
이슈 선택 → 자동 분석 → 구현 → PR 생성
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Stage-gated 상세: structured-dev-cycle
|
|
117
|
+
|
|
118
|
+
6-stage 워크플로우로 각 단계에서 도구 제한을 적용:
|
|
119
|
+
|
|
120
|
+
| 단계 | 허용 도구 | 목표 |
|
|
121
|
+
|------|---------|------|
|
|
122
|
+
| 1. Analysis | Read, Glob, Grep | 현재 상태 파악, 요구사항 명확화 |
|
|
123
|
+
| 2. Design | Read, EnterPlanMode | 변경 범위 결정, 아키텍처 검토 |
|
|
124
|
+
| 3. Implementation | Read, Write, Edit | 코드 작성, 파일 수정 |
|
|
125
|
+
| 4. Verification | Bash (test), Read | 테스트 실행, 정적 분석 |
|
|
126
|
+
| 5. Documentation | Write, Edit | 문서 업데이트, changelog |
|
|
127
|
+
| 6. Completion | Read | R020 완료 검증, 최종 확인 |
|
|
128
|
+
|
|
129
|
+
### Full Delegation: /pipeline auto-dev
|
|
130
|
+
|
|
131
|
+
완전 자동화 사이클. 인간 개입 없이 이슈에서 PR까지:
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
이슈 선택
|
|
135
|
+
↓
|
|
136
|
+
mgr-sauron: 구조 검증
|
|
137
|
+
↓
|
|
138
|
+
dev-lead-routing: 전문 에이전트 배정
|
|
139
|
+
↓
|
|
140
|
+
구현 (전문 에이전트)
|
|
141
|
+
↓
|
|
142
|
+
qa-planner: 검증 계획
|
|
143
|
+
↓
|
|
144
|
+
mgr-gitnerd: PR 생성
|
|
145
|
+
↓
|
|
146
|
+
wiki-curator: 문서 동기화 (R022)
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**적합한 조건**: 명확한 이슈 스펙, 기존 테스트 커버리지, CI가 통과/실패를 판단 가능한 경우.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 6. 신규 기여자 Entry Point
|
|
154
|
+
|
|
155
|
+
### 학습 경로
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
1. CLAUDE.md → 시스템 전체 철학, 강제 규칙 요약
|
|
159
|
+
2. 본 가이드 → compound effect 이해, 5원칙 매핑
|
|
160
|
+
3. .claude/rules/ → 개별 규칙 상세 (R000-R023)
|
|
161
|
+
4. .claude/skills/ → 재사용 가능한 워크플로우 목록
|
|
162
|
+
5. .claude/agents/ → 전문 에이전트 역할과 도구 목록
|
|
163
|
+
6. guides/ → 도메인별 레퍼런스 문서
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### 자주 묻는 질문
|
|
167
|
+
|
|
168
|
+
**"어떤 에이전트를 사용해야 하나?"**
|
|
169
|
+
`/omcustom:lists`로 전체 목록 확인. 없으면 `mgr-creator`가 자동 생성.
|
|
170
|
+
|
|
171
|
+
**"새 skill을 추가하고 싶다"**
|
|
172
|
+
`mgr-creator`에게 위임. R006 (MUST-agent-design) 준수 필수.
|
|
173
|
+
|
|
174
|
+
**"AI가 같은 실수를 반복한다"**
|
|
175
|
+
R016 (MUST-continuous-improvement): 룰 업데이트 → commit. `skill-extractor --mode failure`로 패턴 채굴.
|
|
176
|
+
|
|
177
|
+
**"작업이 너무 오래 걸린다"**
|
|
178
|
+
R009 (MUST-parallel-execution): 독립 작업 2개 이상은 병렬 실행 필수.
|
|
179
|
+
|
|
180
|
+
**"컨텍스트가 너무 길어졌다"**
|
|
181
|
+
R013 (SHOULD-ecomode): 80% 이상에서 자동 활성화. `/compact` 또는 ecomode on.
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## 7. 참고
|
|
186
|
+
|
|
187
|
+
| 항목 | 링크 |
|
|
188
|
+
|------|------|
|
|
189
|
+
| Eugene Yan 원글 | https://eugeneyan.com/writing/working-with-ai/ |
|
|
190
|
+
| 관련 이슈 | #1172 (scout:internalize compound-ai-workflow) |
|
|
191
|
+
| R023 Verification Ladder | `.claude/rules/SHOULD-verification-ladder.md` |
|
|
192
|
+
| R016 Continuous Improvement | `.claude/rules/MUST-continuous-improvement.md` |
|
|
193
|
+
| R011 Memory Integration | `.claude/rules/SHOULD-memory-integration.md` |
|
|
194
|
+
| R013 Ecomode | `.claude/rules/SHOULD-ecomode.md` |
|
|
195
|
+
| skill-extractor | `.claude/skills/skill-extractor/SKILL.md` |
|
|
196
|
+
| structured-dev-cycle | `.claude/skills/structured-dev-cycle/SKILL.md` |
|
|
197
|
+
| 관련 메모리 | [[project-sequencing-alpha-beta-gamma]] |
|