@su-record/vibe 2.9.2 → 2.9.3

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 (59) hide show
  1. package/CLAUDE.md +30 -10
  2. package/README.ko.md +90 -25
  3. package/README.md +139 -25
  4. package/agents/teams/figma/figma-builder.md +29 -1
  5. package/agents/teams/review-debate-team.md +1 -1
  6. package/commands/vibe.analyze.md +324 -170
  7. package/commands/vibe.figma.md +549 -34
  8. package/commands/vibe.harness.md +177 -0
  9. package/commands/vibe.run.md +44 -27
  10. package/commands/vibe.scaffold.md +195 -0
  11. package/commands/vibe.spec.md +375 -947
  12. package/commands/vibe.trace.md +17 -0
  13. package/commands/vibe.verify.md +19 -10
  14. package/dist/cli/commands/init.d.ts.map +1 -1
  15. package/dist/cli/commands/init.js +29 -1
  16. package/dist/cli/commands/init.js.map +1 -1
  17. package/dist/cli/commands/update.d.ts.map +1 -1
  18. package/dist/cli/commands/update.js +4 -2
  19. package/dist/cli/commands/update.js.map +1 -1
  20. package/dist/cli/postinstall/constants.d.ts +1 -1
  21. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  22. package/dist/cli/postinstall/constants.js +6 -1
  23. package/dist/cli/postinstall/constants.js.map +1 -1
  24. package/dist/cli/setup/ProjectSetup.d.ts +12 -1
  25. package/dist/cli/setup/ProjectSetup.d.ts.map +1 -1
  26. package/dist/cli/setup/ProjectSetup.js +259 -72
  27. package/dist/cli/setup/ProjectSetup.js.map +1 -1
  28. package/dist/cli/setup.d.ts +1 -1
  29. package/dist/cli/setup.d.ts.map +1 -1
  30. package/dist/cli/setup.js +1 -1
  31. package/dist/cli/setup.js.map +1 -1
  32. package/hooks/scripts/figma-guard.js +220 -0
  33. package/package.json +1 -1
  34. package/skills/arch-guard/SKILL.md +1 -1
  35. package/skills/capability-loop/SKILL.md +106 -2
  36. package/skills/chub-usage/SKILL.md +43 -43
  37. package/skills/claude-md-guide/SKILL.md +175 -175
  38. package/skills/design-teach/SKILL.md +33 -33
  39. package/skills/devlog/SKILL.md +38 -38
  40. package/skills/event-comms/SKILL.md +23 -13
  41. package/skills/event-ops/SKILL.md +28 -19
  42. package/skills/event-planning/SKILL.md +13 -1
  43. package/skills/priority-todos/SKILL.md +1 -1
  44. package/skills/vibe.figma/SKILL.md +234 -154
  45. package/skills/vibe.figma.convert/SKILL.md +123 -112
  46. package/skills/vibe.figma.extract/SKILL.md +141 -129
  47. package/skills/vibe.interview/SKILL.md +358 -0
  48. package/skills/vibe.interview/checklists/api.md +101 -0
  49. package/skills/vibe.interview/checklists/feature.md +88 -0
  50. package/skills/vibe.interview/checklists/library.md +95 -0
  51. package/skills/vibe.interview/checklists/mobile.md +89 -0
  52. package/skills/vibe.interview/checklists/webapp.md +97 -0
  53. package/skills/vibe.interview/checklists/website.md +99 -0
  54. package/skills/vibe.plan/SKILL.md +216 -0
  55. package/skills/vibe.spec/SKILL.md +1155 -0
  56. package/{commands/vibe.spec.review.md → skills/vibe.spec.review/SKILL.md} +269 -108
  57. package/vibe/templates/claudemd-template.md +74 -0
  58. package/vibe/templates/constitution-template.md +15 -0
  59. package/vibe/templates/plan-template.md +194 -0
@@ -7,189 +7,189 @@ priority: 55
7
7
  chain-next: [agents-md]
8
8
  ---
9
9
 
10
- # claude-md-guide — CLAUDE.md 작성 가이드
10
+ # claude-md-guide — CLAUDE.md Writing Guide
11
11
 
12
- > **원칙**: "에이전트가 이걸 모르면 실수할까?" → No 삭제. Yes 유지.
12
+ > **Principle**: "Would the agent make a mistake without this?" → If No, delete it. If Yes, keep it.
13
13
 
14
14
  ## Why This Matters
15
15
 
16
- 연구 결과에 따르면 지시사항이 많아질수록 LLM의 준수율이 **지수적으로** 하락합니다 (Curse of Instructions):
16
+ Research shows that LLM compliance drops **exponentially** as the number of instructions increases (Curse of Instructions):
17
17
 
18
- | 지시 | GPT-4o 준수율 | Claude Sonnet 준수율 |
19
- |---------|--------------|---------------------|
20
- | 1 | ~85% | ~90% |
21
- | 5 | ~44% | ~59% |
22
- | 10 | ~15% | ~44% |
23
- | 15개+ | ~5% | ~15% |
18
+ | Instructions | GPT-4o Compliance | Claude Sonnet Compliance |
19
+ |-------------|------------------|--------------------------|
20
+ | 1 | ~85% | ~90% |
21
+ | 5 | ~44% | ~59% |
22
+ | 10 | ~15% | ~44% |
23
+ | 15+ | ~5% | ~15% |
24
24
 
25
- **결론**: 모든 줄이 비용. 짧고 정확한 CLAUDE.md 길고 포괄적인 것보다 낫습니다.
25
+ **Conclusion**: Every line has a cost. A short, precise CLAUDE.md is better than a long, comprehensive one.
26
26
 
27
27
  ---
28
28
 
29
- ## Step 1: 프로젝트 탐색자동 수집
29
+ ## Step 1: Project ExplorationAuto-Collect
30
30
 
31
- CLAUDE.md를 작성하기 전에 먼저 프로젝트를 탐색합니다:
31
+ Explore the project before writing CLAUDE.md:
32
32
 
33
33
  ```
34
- Glob: pattern="package.json" → 스택, 스크립트 확인
35
- Glob: pattern="*.config.*" → 빌드/린트 설정
36
- Glob: pattern="tsconfig.json" → TypeScript 설정
37
- Glob: pattern=".env.example" → 환경변수 구조
38
- Glob: pattern="Makefile" → 빌드 시스템
39
- Glob: pattern="docker-compose.*" → 인프라 구조
40
- Glob: pattern="CLAUDE.md" → 기존 파일 확인
41
- Glob: pattern="AGENTS.md" → 호환 파일 확인
34
+ Glob: pattern="package.json" → Check stack and scripts
35
+ Glob: pattern="*.config.*" → Build/lint configuration
36
+ Glob: pattern="tsconfig.json" → TypeScript configuration
37
+ Glob: pattern=".env.example" → Environment variable structure
38
+ Glob: pattern="Makefile" → Build system
39
+ Glob: pattern="docker-compose.*" → Infrastructure structure
40
+ Glob: pattern="CLAUDE.md" → Check for existing file
41
+ Glob: pattern="AGENTS.md" → Check for compatible file
42
42
  ```
43
43
 
44
- 수집한 정보를 사용자에게 요약 제시하고, 빠진 컨텍스트를 질문합니다.
44
+ Summarize the collected information for the user, then ask about any missing context.
45
45
 
46
- ## Step 2: 인터뷰비발견적 정보 추출
46
+ ## Step 2: InterviewExtract Non-Discoverable Information
47
47
 
48
- 자동 탐색으로 없는 정보만 질문합니다. **한 번에 질문 하나, 가능하면 객관식**으로:
48
+ Only ask about information that cannot be found through auto-exploration. **One question at a time, multiple-choice when possible:**
49
49
 
50
- ### 질문 카테고리
50
+ ### Question Categories
51
51
 
52
- **1. 런타임 함정 (Runtime Traps)**
53
- - 코드에서 보이지 않는 런타임 차이가 있나요? (예: Bun vs Node, ESM vs CJS)
54
- - 특정 환경에서만 발생하는 버그가 있나요?
52
+ **1. Runtime Traps**
53
+ - Are there runtime differences not visible in the code? (e.g., Bun vs Node, ESM vs CJS)
54
+ - Are there bugs that only occur in certain environments?
55
55
 
56
- **2. 금지 패턴 (Forbidden Patterns)**
57
- - 절대 사용하면 되는 라이브러리/패턴이 있나요?
58
- - 과거에 문제를 일으킨 접근법이 있나요?
56
+ **2. Forbidden Patterns**
57
+ - Are there libraries/patterns that must never be used?
58
+ - Are there approaches that caused problems in the past?
59
59
 
60
- **3. 비표준 관례 (Non-standard Conventions)**
61
- - 표준과 다른 네이밍/구조 규칙이 있나요?
62
- - 팀에서 합의한 특수한 워크플로우가 있나요?
60
+ **3. Non-standard Conventions**
61
+ - Are there naming/structure rules that differ from standards?
62
+ - Are there special workflows agreed upon by the team?
63
63
 
64
- **4. 아키텍처 결정 (Architecture Decisions)**
65
- - 코드만 봐서는 없는 설계 이유가 있나요?
66
- - 특정 패턴을 선택한 비즈니스 맥락이 있나요?
64
+ **4. Architecture Decisions**
65
+ - Are there design reasons that can't be inferred from the code alone?
66
+ - Is there business context behind why certain patterns were chosen?
67
67
 
68
- **5. 경계선 (Boundaries)**
69
- - 에이전트가 절대 건드리면 되는 파일/디렉토리가 있나요?
70
- - 변경 반드시 확인받아야 하는 영역이 있나요?
68
+ **5. Boundaries**
69
+ - Are there files/directories the agent must never touch?
70
+ - Are there areas that require approval before changes are made?
71
71
 
72
- ## Step 3: 구조 설계 — 3-Layer Architecture
72
+ ## Step 3: Structure Design — 3-Layer Architecture
73
73
 
74
- 수집한 정보를 3 레이어로 분리합니다:
74
+ Separate the collected information into 3 layers:
75
75
 
76
- ### Layer 1: CLAUDE.md (프로젝트 헌법)
76
+ ### Layer 1: CLAUDE.md (Project Constitution)
77
77
 
78
- **모든 세션에 자동 로드** 보편적이고 안정적인 정보만.
78
+ **Auto-loaded every session**only universal, stable information.
79
79
 
80
80
  ```markdown
81
- # {프로젝트명}
81
+ # {Project Name}
82
82
 
83
- {프로젝트가 뭔지 1-2문장. 코드에서 목적이 불분명할 때만.}
83
+ {1-2 sentences on what the project is. Only if the purpose isn't clear from the code.}
84
84
 
85
85
  ## Tech Stack
86
- {package.json에서 바로 없는 것만. 예: "Bun runtime (not Node)"}
86
+ {Only what can't be inferred immediately from package.json. e.g., "Bun runtime (not Node)"}
87
87
 
88
88
  ## Commands
89
- {package.json scripts 없거나 비직관적인 것만}
90
- - `npm run build && npx vitest run` — 빌드 테스트 (순서 중요)
89
+ {Only what's missing from package.json scripts or non-intuitive}
90
+ - `npm run build && npx vitest run` — build then test (order matters)
91
91
 
92
92
  ## Conventions
93
- {린터가 잡지 못하는 것만}
93
+ {Only what the linter can't catch}
94
94
  - ESM only — imports need `.js` extension
95
- - {비표준 네이밍 규칙이 있다면}
95
+ - {Any non-standard naming rules}
96
96
 
97
97
  ## Gotchas
98
- {에이전트가 반복적으로 실수할 것들}
99
- - **{함정 제목}.** {구체적인 do/don't 설명}
98
+ {Things the agent will repeatedly get wrong}
99
+ - **{Trap title}.** {Specific do/don't explanation}
100
100
 
101
101
  ## Boundaries
102
- ✅ Always: {항상 해야 하는 }
103
- ⚠️ Ask first: {먼저 확인받아야 하는 }
104
- 🚫 Never: {절대 하면 안 되는 것}
102
+ ✅ Always: {things to always do}
103
+ ⚠️ Ask first: {things requiring approval first}
104
+ 🚫 Never: {absolute prohibitions}
105
105
  ```
106
106
 
107
- ### Layer 2: SPEC.md (기능별 설계 문서)
107
+ ### Layer 2: SPEC.md (Per-Feature Design Document)
108
108
 
109
- **특정 기능 작업 시에만 로드** → what why 집중, how 에이전트에게.
109
+ **Loaded only when working on a specific feature** focus on what and why, leave how to the agent.
110
110
 
111
- 저장 위치: `.claude/vibe/specs/YYYY-MM-DD-{주제}.md`
111
+ Storage location: `.claude/vibe/specs/YYYY-MM-DD-{topic}.md`
112
112
 
113
113
  ```markdown
114
- # {기능명} SPEC
114
+ # {Feature Name} SPEC
115
115
 
116
- ## 목적 (Why)
117
- ## 요구사항 (What)
118
- ## 성공 기준 (Acceptance Criteria)
119
- ## 기술적 제약 (Constraints)
120
- ## 경계선 (Out of Scope)
116
+ ## Purpose (Why)
117
+ ## Requirements (What)
118
+ ## Success Criteria (Acceptance Criteria)
119
+ ## Technical Constraints (Constraints)
120
+ ## Boundaries (Out of Scope)
121
121
  ```
122
122
 
123
- ### Layer 3: plan.md (실행 계획)
123
+ ### Layer 3: plan.md (Execution Plan)
124
124
 
125
- **세션별 태스크 리스트** → 2-5 단위, 파일 경로 명시.
125
+ **Per-session task list** → 2-5 minute units, with file paths specified.
126
126
 
127
- 저장 위치: `.claude/vibe/specs/{name}-execplan.md`
127
+ Storage location: `.claude/vibe/specs/{name}-execplan.md`
128
128
 
129
129
  ```markdown
130
130
  # Execution Plan
131
131
 
132
- ## Task 1: {제목}
132
+ ## Task 1: {Title}
133
133
  - Files: `src/foo.ts`, `src/foo.test.ts`
134
- - Action: {구체적 변경 내용}
134
+ - Action: {Specific change}
135
135
  - Verify: `npm test src/foo.test.ts`
136
136
 
137
137
  ## Task 2: ...
138
138
  ```
139
139
 
140
- ## Step 4: 작성증거 기반 원칙 적용
140
+ ## Step 4: WritingApply Evidence-Based Principles
141
141
 
142
- ### 크기 제한
142
+ ### Size Limits
143
143
 
144
- | 등급 | | 적합한 경우 |
145
- |------|-------|------------|
146
- | 최적 | 60-150 | 대부분의 프로젝트 |
147
- | 허용 | 150-200 | 복잡한 모노레포 |
148
- | 경고 | 200-300 | 분리 필요 |
149
- | 위험 | 300줄+ | 에이전트가 절반 무시 |
144
+ | Grade | Lines | When Appropriate |
145
+ |-------|-------|-----------------|
146
+ | Optimal | 60-150 | Most projects |
147
+ | Acceptable | 150-200 | Complex monorepos |
148
+ | Warning | 200-300 | Separation needed |
149
+ | Danger | 300+ | Agent ignores half of it |
150
150
 
151
- ### 위치별 주의력 분포 (Lost in the Middle 효과)
151
+ ### Attention Distribution by Position (Lost in the Middle Effect)
152
152
 
153
- LLM은 문서의 **처음과 끝**에 집중하고 **중간을 무시**합니다:
153
+ LLMs focus on the **beginning and end** of a document and **ignore the middle**:
154
154
 
155
155
  ```
156
- 주의력: ████████░░░░░░░░████████
157
- ^시작 ^중간(↓20-40%) ^끝
156
+ Attention: ████████░░░░░░░░████████
157
+ ^start ^middle(↓20-40%) ^end
158
158
  ```
159
159
 
160
- **대응**:
161
- - **가장 중요한 규칙**문서 상단에 배치
162
- - **자주 위반되는 규칙**문서 하단() 배치
163
- - **배경 정보**중간에 배치 (무시되어도 괜찮은 )
160
+ **Countermeasures**:
161
+ - **Most important rules**place at the top of the document
162
+ - **Frequently violated rules**place at the bottom (end) of the document
163
+ - **Background information**place in the middle (OK if ignored)
164
164
 
165
- ### 포함 vs 제외 체크리스트
165
+ ### Include vs Exclude Checklist
166
166
 
167
- **✅ 포함 (비발견적, 운영상 중요)**
167
+ **✅ Include (non-discoverable, operationally important)**
168
168
 
169
- | 유형 | 예시 |
170
- |------|------|
171
- | 런타임 함정 | "Bun runtime, not Node" |
172
- | 금지 패턴 | "Never use `any`, use `unknown` + type guards" |
173
- | SSOT 위치 | "Only edit `constants.ts` for stack mapping" |
174
- | 순서 불변 규칙 | "Build before test, always" |
175
- | 비표준 커맨드 | 복합 명령어, 특수 플래그 |
176
- | 보안 규칙 | 인증, 경로 순회 방지 |
169
+ | Type | Example |
170
+ |------|---------|
171
+ | Runtime traps | "Bun runtime, not Node" |
172
+ | Forbidden patterns | "Never use `any`, use `unknown` + type guards" |
173
+ | SSOT location | "Only edit `constants.ts` for stack mapping" |
174
+ | Order invariants | "Build before test, always" |
175
+ | Non-standard commands | Compound commands, special flags |
176
+ | Security rules | Auth, path traversal prevention, etc. |
177
177
 
178
- **❌ 제외 (발견 가능하거나 다른 도구에 맡길 )**
178
+ **❌ Exclude (discoverable or delegate to other tools)**
179
179
 
180
- | 유형 | 이유 | 대안 |
181
- |------|------|------|
182
- | 디렉토리 구조 | `ls`로 발견 가능 | 코드 자체 |
183
- | 기술 스택 목록 | `package.json`에 있음 | 코드 자체 |
184
- | 코드 스타일 (들여쓰기, 세미콜론) | 린터가 잡음 | ESLint, Prettier |
185
- | API 문서 | 코드에서 읽을 있음 | Swagger, JSDoc |
186
- | 일반적 Best Practice | LLM 이미 | 불필요 |
187
- | API 키, 시크릿 | 빠르게 구식이 | `.env`, vault |
188
- | 기능별 상세 지시 | Layer 2 분리 | SPEC.md |
180
+ | Type | Reason | Alternative |
181
+ |------|--------|-------------|
182
+ | Directory structure | Discoverable via `ls` | The code itself |
183
+ | Tech stack list | In `package.json` | The code itself |
184
+ | Code style (indentation, semicolons) | Linter catches it | ESLint, Prettier |
185
+ | API documentation | Readable from code | Swagger, JSDoc |
186
+ | General best practices | LLM already knows | Unnecessary |
187
+ | API keys, secrets | Goes stale quickly | `.env`, vault |
188
+ | Per-feature detailed instructions | Move to Layer 2 | SPEC.md |
189
189
 
190
- ### 강조 기법
190
+ ### Emphasis Techniques
191
191
 
192
- 중요한 규칙이 무시될 사용:
192
+ Use these when important rules keep getting ignored:
193
193
 
194
194
  ```markdown
195
195
  **IMPORTANT**: {critical rule}
@@ -197,11 +197,11 @@ LLM은 문서의 **처음과 끝**에 집중하고 **중간을 무시**합니다
197
197
  **NEVER**: {absolute prohibition}
198
198
  ```
199
199
 
200
- 단, 모든 줄에 강조를 넣으면 **강조가 무효화**됩니다. P1 규칙에만 사용하세요.
200
+ However, adding emphasis to every line **nullifies the emphasis**. Use only for P1 rules.
201
201
 
202
- ### Progressive Disclosure (점진적 공개)
202
+ ### Progressive Disclosure
203
203
 
204
- CLAUDE.md 모든 것을 넣지 말고 참조하세요:
204
+ Don't put everything in CLAUDE.md reference it:
205
205
 
206
206
  ```markdown
207
207
  # Architecture
@@ -211,124 +211,124 @@ See @docs/ARCHITECTURE.md for design decisions.
211
211
  @.claude/rules/security.md
212
212
  ```
213
213
 
214
- Claude Code `@` 참조를 따라가서 필요할 때만 로드합니다.
214
+ Claude Code follows `@` references and loads them only when needed.
215
215
 
216
- ## Step 5: 검증작성 품질 체크
216
+ ## Step 5: ValidationWriting Quality Check
217
217
 
218
- 작성된 CLAUDE.md를 검증합니다:
218
+ Validate the written CLAUDE.md:
219
219
 
220
- ### 줄별 검증
220
+ ### Line-by-Line Validation
221
221
 
222
- 모든 줄에 대해 4가지 질문:
222
+ 4 questions for every line:
223
223
 
224
- 1. **이걸 빼면 에이전트가 실수할까?** → No 삭제
225
- 2. **모든 세션에 필요한가?** → No Layer 2/3으로 이동
226
- 3. **린터/훅이 대신할 있나?** → Yes 린터/훅으로 이동
227
- 4. **코드에서 발견 가능한가?** → Yes 삭제
224
+ 1. **Would the agent make a mistake without this?** If No, delete
225
+ 2. **Is it needed in every session?** If No, move to Layer 2/3
226
+ 3. **Can a linter/hook replace it?** If Yes, move to linter/hook
227
+ 4. **Is it discoverable from code?** If Yes, delete
228
228
 
229
- ### 앵커링 경고
229
+ ### Anchoring Warning
230
230
 
231
- 기술명을 언급하면 에이전트가 그쪽으로 편향됩니다:
232
- - ❌ "We use React" → 불필요 (package.json에 있음)
233
- - ✅ "Never use jQuery, even for legacy code" → 유용 (함정 방지)
231
+ Mentioning a technology name biases the agent toward it:
232
+ - ❌ "We use React" → unnecessary (it's in package.json)
233
+ - ✅ "Never use jQuery, even for legacy code" → useful (prevents a trap)
234
234
 
235
- ### 토큰 효율성
235
+ ### Token Efficiency
236
236
 
237
- | 문제 | 예시 | 개선 |
238
- |------|------|------|
239
- | 장황한 설명 | "Please always make sure to..." | "Always:" |
240
- | 중복 | 같은 규칙을 다른 표현으로 반복 | 번만 |
241
- | 불필요한 맥락 | "As we discussed..." | 삭제 |
237
+ | Problem | Example | Improvement |
238
+ |---------|---------|-------------|
239
+ | Verbose explanation | "Please always make sure to..." | "Always:" |
240
+ | Duplication | Same rule repeated in different wording | State it once |
241
+ | Unnecessary context | "As we discussed..." | Delete |
242
242
 
243
- ## Step 6: 유지보수살아있는 문서
243
+ ## Step 6: MaintenanceA Living Document
244
244
 
245
- ### 점진적 추가 패턴
245
+ ### Incremental Addition Pattern
246
246
 
247
- 처음부터 완벽하게 쓰지 마세요:
247
+ Don't try to write it perfectly from the start:
248
248
 
249
249
  ```
250
- 1. 최소한의 CLAUDE.md 시작 (30-50)
251
- 2. 에이전트가 실수하는 관찰
252
- 3. 반복되는 실수만 규칙으로 추가
253
- 4. 2-3주마다 불필요한 줄 정리
250
+ 1. Start with a minimal CLAUDE.md (30-50 lines)
251
+ 2. Observe where the agent makes mistakes
252
+ 3. Only add rules for recurring mistakes
253
+ 4. Clean up unnecessary lines every 2-3 weeks
254
254
  ```
255
255
 
256
- ### Reflection Loop (Addy Osmani 패턴)
256
+ ### Reflection Loop (Addy Osmani Pattern)
257
257
 
258
258
  ```
259
- 에이전트 작업 완료
260
- → "무엇이 예상과 달랐나?" 자문
261
- 반복되는 패턴 발견 CLAUDE.md에 1줄 추가
262
- 근본 원인이 코드 구조면 코드를 고치고 규칙은 추가하지 않음
259
+ Agent task complete
260
+ Ask "What was different from expectations?"
261
+ When a recurring pattern is found, add 1 line to CLAUDE.md
262
+ If the root cause is code structure, fix the code and don't add a rule
263
263
  ```
264
264
 
265
- ### 위험 신호
265
+ ### Warning Signs
266
266
 
267
- | 신호 | 의미 | 대응 |
268
- |------|------|------|
269
- | 300 초과 | 정보 과부하 | 분리 또는 정리 |
270
- | 같은 실수 반복 | 규칙이 노이즈에 묻힘 | 강조 또는 통합 |
271
- | 규칙 추가해도 변화 없음 | 파일이 너무 | 근본 원인 수정 |
272
- | 팀원이 규칙 무시 | 발견 가능한 정보 | 삭제 |
267
+ | Signal | Meaning | Response |
268
+ |--------|---------|----------|
269
+ | Over 300 lines | Information overload | Split or trim |
270
+ | Same mistake repeats | Rule is lost in noise | Emphasize or consolidate |
271
+ | Adding rules has no effect | File is too long | Fix root cause |
272
+ | Team ignores rules | Discoverable information | Delete |
273
273
 
274
274
  ---
275
275
 
276
- ## Quick Reference: 프로젝트 규모별 가이드
276
+ ## Quick Reference: Guide by Project Scale
277
277
 
278
- ### 소규모 (파일 10 미만)
278
+ ### Small (fewer than 10 files)
279
279
 
280
280
  ```markdown
281
- # {프로젝트명}
281
+ # {Project Name}
282
282
 
283
283
  ## Commands
284
- - `{build}` — {설명}
285
- - `{test}` — {설명}
284
+ - `{build}` — {description}
285
+ - `{test}` — {description}
286
286
 
287
287
  ## Gotchas
288
- - **{함정 1}.** {설명}
289
- - **{함정 2}.** {설명}
288
+ - **{Trap 1}.** {description}
289
+ - **{Trap 2}.** {description}
290
290
 
291
291
  ## Never
292
- - 🚫 {금지 사항}
292
+ - 🚫 {prohibited item}
293
293
  ```
294
294
 
295
- **목표: 20-30줄**
295
+ **Target: 20-30 lines**
296
296
 
297
- ### 중규모 (파일 10-50)
297
+ ### Medium (10-50 files)
298
298
 
299
- + Conventions, Boundaries 섹션 추가.
299
+ Above + add Conventions and Boundaries sections.
300
300
 
301
- **목표: 60-150줄**
301
+ **Target: 60-150 lines**
302
302
 
303
- ### 대규모 (파일 50개+, 모노레포)
303
+ ### Large (50+ files, monorepo)
304
304
 
305
- 루트 CLAUDE.md (공통 규칙) + 하위 디렉토리별 CLAUDE.md.
305
+ Root CLAUDE.md (shared rules) + CLAUDE.md per subdirectory.
306
306
 
307
307
  ```
308
308
  project/
309
- ├── CLAUDE.md ← 공통 (60)
310
- ├── packages/api/CLAUDE.md ← API 전용 (30)
311
- ├── packages/web/CLAUDE.md ← 전용 (30)
312
- └── .claude/rules/ ← 경로별 규칙
309
+ ├── CLAUDE.md ← shared (60 lines)
310
+ ├── packages/api/CLAUDE.md ← API-specific (30 lines)
311
+ ├── packages/web/CLAUDE.md ← web-specific (30 lines)
312
+ └── .claude/rules/ ← path-specific rules
313
313
  ├── security.md
314
314
  └── testing.md
315
315
  ```
316
316
 
317
- **목표: 루트 100 + 하위 30줄**
317
+ **Target: root 100 lines + each subdirectory 30 lines**
318
318
 
319
319
  ---
320
320
 
321
- ## 세션 분리 원칙
321
+ ## Session Separation Principle
322
322
 
323
- CLAUDE.md 작성도 세션을 분리하면 품질이 올라갑니다:
323
+ Splitting CLAUDE.md writing into separate sessions improves quality:
324
324
 
325
- | 세션 | 목표 | 산출물 |
326
- |------|------|--------|
327
- | 세션 1 | 프로젝트 탐색 + 인터뷰 | 초안 |
328
- | 세션 2 | 검증 + 최적화 | 최종본 |
329
- | 이후 | 점진적 유지보수 | 지속 개선 |
325
+ | Session | Goal | Output |
326
+ |---------|------|--------|
327
+ | Session 1 | Project exploration + interview | Draft |
328
+ | Session 2 | Validation + optimization | Final version |
329
+ | Ongoing | Incremental maintenance | Continuous improvement |
330
330
 
331
- 작성 완료 후: `→ /agents-md` 스킬로 최적화 검증을 실행하세요.
331
+ After writing: run `→ /agents-md` skill for optimization validation.
332
332
 
333
333
  ---
334
334
 
@@ -69,20 +69,20 @@ Write gathered context to `.claude/vibe/design-context.json` using the Write too
69
69
  "createdAt": "ISO-8601",
70
70
  "updatedAt": "ISO-8601",
71
71
  "audience": {
72
- "primary": "대상 사용자 설명",
73
- "context": "사용 환경 (desktop/mobile/mixed)",
74
- "expertise": "기술 수준 (beginner/intermediate/expert)"
72
+ "primary": "Description of target users",
73
+ "context": "Usage environment (desktop/mobile/mixed)",
74
+ "expertise": "Technical level (beginner/intermediate/expert)"
75
75
  },
76
76
  "brand": {
77
- "personality": ["형용사 3-5"],
78
- "tone": "formal | casual | playful | professional (가이드라인, 자유 입력 가능)",
79
- "existingAssets": "기존 브랜드 가이드라인 경로 (선택)"
77
+ "personality": ["3-5 adjectives"],
78
+ "tone": "formal | casual | playful | professional (guideline, free text allowed)",
79
+ "existingAssets": "Path to existing brand guidelines (optional)"
80
80
  },
81
81
  "aesthetic": {
82
- "style": "minimal | bold | elegant | playful | corporate (가이드라인, 자유 입력 가능)",
83
- "colorMood": "warm | cool | neutral | vibrant | muted (가이드라인, 자유 입력 가능)",
84
- "typographyMood": "modern | classic | geometric | humanist (가이드라인, 자유 입력 가능)",
85
- "references": ["참조 사이트/앱 URL"]
82
+ "style": "minimal | bold | elegant | playful | corporate (guideline, free text allowed)",
83
+ "colorMood": "warm | cool | neutral | vibrant | muted (guideline, free text allowed)",
84
+ "typographyMood": "modern | classic | geometric | humanist (guideline, free text allowed)",
85
+ "references": ["Reference site/app URLs"]
86
86
  },
87
87
  "constraints": {
88
88
  "accessibility": "AA | AAA",
@@ -91,56 +91,56 @@ Write gathered context to `.claude/vibe/design-context.json` using the Write too
91
91
  "devices": ["mobile", "tablet", "desktop"]
92
92
  },
93
93
  "detectedStack": {
94
- "framework": "감지된 프레임워크",
95
- "componentLibrary": "감지된 컴포넌트 라이브러리",
96
- "styling": "감지된 스타일링 방식",
97
- "fonts": ["감지된 폰트"]
94
+ "framework": "Detected framework",
95
+ "componentLibrary": "Detected component library",
96
+ "styling": "Detected styling approach",
97
+ "fonts": ["Detected fonts"]
98
98
  }
99
99
  }
100
100
  ```
101
101
 
102
- > **Note**: `tone`, `style`, `colorMood`, `typographyMood` 값은 제안 값이며 closed enum이 아닙니다. 사용자가 자유 텍스트로 입력할 수 있습니다.
102
+ > **Note**: `tone`, `style`, `colorMood`, `typographyMood` values are suggestions, not closed enums. Users can enter free text.
103
103
 
104
- > **Size limit**: design-context.json 10KB를 초과하지 않도록 합니다. `references` 배열은 최대 5개로 제한합니다.
104
+ > **Size limit**: design-context.json should not exceed 10KB. The `references` array is capped at 5 items.
105
105
 
106
106
  ### Step 4: Rerun Semantics
107
107
 
108
- `design-context.json`이 이미 존재할 `/design-teach`를 다시 실행하면:
108
+ When `/design-teach` is run again and `design-context.json` already exists:
109
109
 
110
- 1. 기존 파일을 Read 도구로 읽음
111
- 2. 질문에 **기존 값을 기본값으로 표시** ("현재: professional, clean — 변경하시겠습니까?")
112
- 3. 사용자가 "keep" 또는 답변해당 필드 유지
113
- 4. 입력해당 필드만 교체 (병합이 아닌 **필드 단위 교체**)
114
- 5. `createdAt`은 항상 보존, `updatedAt`만 현재 시각으로 갱신
110
+ 1. Read the existing file with the Read tool
111
+ 2. **Show existing values as defaults** for each question ("Current: professional, clean — do you want to change this?")
112
+ 3. User replies "keep" or leaves blankthat field is preserved
113
+ 4. New value enteredonly that field is replaced (**field-level replacement, not merge**)
114
+ 5. `createdAt` is always preserved; only `updatedAt` is updated to the current time
115
115
 
116
116
  ### Step 5: Other Skills Reference This Context
117
117
 
118
- design-* skill 실행 다음을 수행:
118
+ Each design-* skill does the following when it runs:
119
119
 
120
120
  ```
121
121
  1. Read `.claude/vibe/design-context.json`
122
- 2. 파일 없음 → "Run /design-teach first for better results" 안내 출력 기본값으로 계속 실행
123
- 3. 파싱 실패 (잘못된 JSON) → "design-context.json 파싱 실패" 경고 + 기본값으로 계속 → /design-teach 재실행 권장
124
- 4. 정상 → context 분석 기준에 반영
122
+ 2. File not found print "Run /design-teach first for better results" → continue with defaults
123
+ 3. Parse failure (invalid JSON) → warn "design-context.json parse failed" + continue with defaults recommend re-running /design-teach
124
+ 4. Successapply context to analysis criteria
125
125
  ```
126
126
 
127
127
  ## Design Workflow Integration
128
128
 
129
- 디자인 스킬은 vibe 워크플로우의 3 Phase에 통합됩니다:
129
+ Design skills are integrated into 3 phases of the vibe workflow:
130
130
 
131
131
  ```
132
132
  SPEC Phase:
133
- ① design-context.json 확인 (없으면 /design-teach 권장)
133
+ Check design-context.json (recommend /design-teach if missing)
134
134
  ② ui-industry-analyzer → ui-design-system-gen → ui-layout-architect
135
135
 
136
136
  REVIEW Phase:
137
- ③ /design-audit (기술 품질 점검)
138
- ④ /design-critique (UX 리뷰)
139
- ⑤ ui-antipattern-detector (AI slop + 패턴 탐지)
137
+ ③ /design-audit (technical quality check)
138
+ ④ /design-critique (UX review)
139
+ ⑤ ui-antipattern-detector (AI slop + pattern detection)
140
140
 
141
141
  PRE-SHIP Phase:
142
- ⑥ /design-normalize (디자인 시스템 정렬)
143
- ⑦ /design-polish (최종 패스)
142
+ ⑥ /design-normalize (design system alignment)
143
+ ⑦ /design-polish (final pass)
144
144
  ```
145
145
 
146
146
  ## How Other Skills Use This