timelabs 0.1.0 → 0.1.1

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 (138) hide show
  1. package/dist/index.js +30 -20
  2. package/package.json +1 -1
  3. package/skills/web-design/claude-code/SKILL.md +270 -0
  4. package/skills/web-design/claude-code/analyze/analyze-benchmark-rules.md +229 -0
  5. package/skills/web-design/claude-code/analyze/analyze-benchmark.md +302 -0
  6. package/skills/web-design/claude-code/analyze/analyze-mockup.md +572 -0
  7. package/skills/web-design/claude-code/collect/collect-app.md +258 -0
  8. package/skills/web-design/claude-code/collect/collect-desktop.md +231 -0
  9. package/skills/web-design/claude-code/collect/collect-hybrid.md +222 -0
  10. package/skills/web-design/claude-code/collect/collect-style.md +155 -0
  11. package/skills/web-design/claude-code/collect/collect-type.md +42 -0
  12. package/skills/web-design/claude-code/collect/collect-video.md +239 -0
  13. package/skills/web-design/claude-code/collect/collect-web.md +279 -0
  14. package/skills/web-design/claude-code/defs/ai-recommend/01-style-design-recommend.md +64 -0
  15. package/skills/web-design/claude-code/defs/ai-recommend.md +58 -0
  16. package/skills/web-design/claude-code/defs/app-layouts/02-utility.md +54 -0
  17. package/skills/web-design/claude-code/defs/app-layouts/03-social.md +71 -0
  18. package/skills/web-design/claude-code/defs/app-layouts/04-game.md +54 -0
  19. package/skills/web-design/claude-code/defs/app-layouts/05-fintech.md +62 -0
  20. package/skills/web-design/claude-code/defs/app-layouts/06-healthcare.md +66 -0
  21. package/skills/web-design/claude-code/defs/app-layouts/07-ecommerce.md +63 -0
  22. package/skills/web-design/claude-code/defs/app-layouts/08-education.md +88 -0
  23. package/skills/web-design/claude-code/defs/app-layouts/09-creative.md +86 -0
  24. package/skills/web-design/claude-code/defs/app-layouts.md +59 -0
  25. package/skills/web-design/claude-code/defs/app-motions/01-utility.md +51 -0
  26. package/skills/web-design/claude-code/defs/app-motions/02-social.md +55 -0
  27. package/skills/web-design/claude-code/defs/app-motions/03-game.md +52 -0
  28. package/skills/web-design/claude-code/defs/app-motions/04-fintech.md +52 -0
  29. package/skills/web-design/claude-code/defs/app-motions/05-healthcare.md +52 -0
  30. package/skills/web-design/claude-code/defs/app-motions/06-ecommerce.md +55 -0
  31. package/skills/web-design/claude-code/defs/app-motions/07-education.md +54 -0
  32. package/skills/web-design/claude-code/defs/app-motions/08-creative.md +53 -0
  33. package/skills/web-design/claude-code/defs/app-motions/10-intensity-preset-motion.md +12 -0
  34. package/skills/web-design/claude-code/defs/app-motions.md +64 -0
  35. package/skills/web-design/claude-code/defs/component-specs/01-set-component.md +24 -0
  36. package/skills/web-design/claude-code/defs/component-specs/02-features-flow.md +51 -0
  37. package/skills/web-design/claude-code/defs/component-specs/03-system-visual.md +193 -0
  38. package/skills/web-design/claude-code/defs/component-specs/04-interaction-pattern-visual.md +61 -0
  39. package/skills/web-design/claude-code/defs/component-specs/domains/admin.md +55 -0
  40. package/skills/web-design/claude-code/defs/component-specs/domains/dashboard.md +60 -0
  41. package/skills/web-design/claude-code/defs/component-specs/domains/erp.md +68 -0
  42. package/skills/web-design/claude-code/defs/component-specs/domains/saas.md +65 -0
  43. package/skills/web-design/claude-code/defs/component-specs.md +24 -0
  44. package/skills/web-design/claude-code/defs/design-guide-sections.md +37 -0
  45. package/skills/web-design/claude-code/defs/desktop-layouts/01-utility.md +69 -0
  46. package/skills/web-design/claude-code/defs/desktop-layouts/02-data.md +71 -0
  47. package/skills/web-design/claude-code/defs/desktop-layouts/03-creative.md +73 -0
  48. package/skills/web-design/claude-code/defs/desktop-layouts/04-communication.md +71 -0
  49. package/skills/web-design/claude-code/defs/desktop-layouts/05-game.md +73 -0
  50. package/skills/web-design/claude-code/defs/desktop-layouts/06-business.md +74 -0
  51. package/skills/web-design/claude-code/defs/desktop-layouts.md +49 -0
  52. package/skills/web-design/claude-code/defs/desktop-motions/01-utility.md +56 -0
  53. package/skills/web-design/claude-code/defs/desktop-motions/02-data.md +60 -0
  54. package/skills/web-design/claude-code/defs/desktop-motions/03-creative.md +60 -0
  55. package/skills/web-design/claude-code/defs/desktop-motions/04-communication.md +57 -0
  56. package/skills/web-design/claude-code/defs/desktop-motions/05-game.md +55 -0
  57. package/skills/web-design/claude-code/defs/desktop-motions/06-business.md +52 -0
  58. package/skills/web-design/claude-code/defs/desktop-motions.md +75 -0
  59. package/skills/web-design/claude-code/defs/hybrid-layouts/01-web_mobile.md +81 -0
  60. package/skills/web-design/claude-code/defs/hybrid-layouts/02-web_desktop.md +78 -0
  61. package/skills/web-design/claude-code/defs/hybrid-layouts/03-mobile_desktop.md +79 -0
  62. package/skills/web-design/claude-code/defs/hybrid-layouts/04-all.md +81 -0
  63. package/skills/web-design/claude-code/defs/hybrid-layouts.md +49 -0
  64. package/skills/web-design/claude-code/defs/hybrid-motions/01-web_mobile.md +69 -0
  65. package/skills/web-design/claude-code/defs/hybrid-motions/02-web_desktop.md +69 -0
  66. package/skills/web-design/claude-code/defs/hybrid-motions/03-mobile_desktop.md +74 -0
  67. package/skills/web-design/claude-code/defs/hybrid-motions/04-all.md +96 -0
  68. package/skills/web-design/claude-code/defs/hybrid-motions/07-intensity-preset-motion.md +16 -0
  69. package/skills/web-design/claude-code/defs/hybrid-motions.md +65 -0
  70. package/skills/web-design/claude-code/defs/ia-patterns/01-management-dashboard.md +37 -0
  71. package/skills/web-design/claude-code/defs/ia-patterns/05-video.md +33 -0
  72. package/skills/web-design/claude-code/defs/ia-patterns/06-video_saas-saas.md +37 -0
  73. package/skills/web-design/claude-code/defs/ia-patterns.md +85 -0
  74. package/skills/web-design/claude-code/defs/icon-mappings/04-mapping-design-system.md +25 -0
  75. package/skills/web-design/claude-code/defs/icon-mappings.md +49 -0
  76. package/skills/web-design/claude-code/defs/icon-usage.md +56 -0
  77. package/skills/web-design/claude-code/defs/illustration-guide.md +44 -0
  78. package/skills/web-design/claude-code/defs/image-strategies/01-landing.md +76 -0
  79. package/skills/web-design/claude-code/defs/image-strategies/02-dashboard.md +51 -0
  80. package/skills/web-design/claude-code/defs/image-strategies/03-ecommerce.md +47 -0
  81. package/skills/web-design/claude-code/defs/image-strategies/04-blog.md +58 -0
  82. package/skills/web-design/claude-code/defs/image-strategies/05-saas.md +56 -0
  83. package/skills/web-design/claude-code/defs/image-strategies/06-portfolio.md +62 -0
  84. package/skills/web-design/claude-code/defs/image-strategies/08-strategy-common-image.md +57 -0
  85. package/skills/web-design/claude-code/defs/image-strategies.md +58 -0
  86. package/skills/web-design/claude-code/defs/seo-guide.md +79 -0
  87. package/skills/web-design/claude-code/defs/styles/02-style-list.md +421 -0
  88. package/skills/web-design/claude-code/defs/styles/03-custom-animation-keyframes.md +39 -0
  89. package/skills/web-design/claude-code/defs/styles.md +50 -0
  90. package/skills/web-design/claude-code/defs/tokens/01-token-format.md +75 -0
  91. package/skills/web-design/claude-code/defs/tokens/02-token-scope.md +251 -0
  92. package/skills/web-design/claude-code/defs/tokens.md +24 -0
  93. package/skills/web-design/claude-code/defs/video-compositions/01-composition-single.md +66 -0
  94. package/skills/web-design/claude-code/defs/video-compositions/02-composition-multi.md +66 -0
  95. package/skills/web-design/claude-code/defs/video-compositions/03-composition-parametric.md +81 -0
  96. package/skills/web-design/claude-code/defs/video-compositions.md +37 -0
  97. package/skills/web-design/claude-code/defs/video-motions/01-animation-basic.md +49 -0
  98. package/skills/web-design/claude-code/defs/video-motions/02-animation.md +52 -0
  99. package/skills/web-design/claude-code/defs/video-motions/03-reference.md +17 -0
  100. package/skills/web-design/claude-code/defs/video-motions/05-pattern-composition.md +61 -0
  101. package/skills/web-design/claude-code/defs/video-motions/06-transition-effects.md +49 -0
  102. package/skills/web-design/claude-code/defs/video-motions/07-audio-sync.md +29 -0
  103. package/skills/web-design/claude-code/defs/video-motions.md +55 -0
  104. package/skills/web-design/claude-code/defs/web-layouts/01-landing.md +101 -0
  105. package/skills/web-design/claude-code/defs/web-layouts/02-dashboard.md +85 -0
  106. package/skills/web-design/claude-code/defs/web-layouts/03-ecommerce.md +73 -0
  107. package/skills/web-design/claude-code/defs/web-layouts/04-blog.md +69 -0
  108. package/skills/web-design/claude-code/defs/web-layouts/05-saas.md +83 -0
  109. package/skills/web-design/claude-code/defs/web-layouts/06-portfolio.md +62 -0
  110. package/skills/web-design/claude-code/defs/web-layouts.md +38 -0
  111. package/skills/web-design/claude-code/defs/web-motions/01-landing.md +91 -0
  112. package/skills/web-design/claude-code/defs/web-motions/02-dashboard.md +55 -0
  113. package/skills/web-design/claude-code/defs/web-motions/03-ecommerce.md +52 -0
  114. package/skills/web-design/claude-code/defs/web-motions/04-blog.md +57 -0
  115. package/skills/web-design/claude-code/defs/web-motions/05-saas.md +49 -0
  116. package/skills/web-design/claude-code/defs/web-motions/06-portfolio.md +73 -0
  117. package/skills/web-design/claude-code/defs/web-motions/08-intensity-preset-motion.md +14 -0
  118. package/skills/web-design/claude-code/defs/web-motions.md +55 -0
  119. package/skills/web-design/claude-code/gen/gen-design-guide/01-project-overview.md +304 -0
  120. package/skills/web-design/claude-code/gen/gen-design-guide-interaction/01-interaction-motion.md +129 -0
  121. package/skills/web-design/claude-code/gen/gen-design-guide-interaction/04-project-video.md +69 -0
  122. package/skills/web-design/claude-code/gen/gen-design-guide-interaction.md +45 -0
  123. package/skills/web-design/claude-code/gen/gen-design-guide.md +43 -0
  124. package/skills/web-design/claude-code/gen/gen-tokens/01-generate-process.md +318 -0
  125. package/skills/web-design/claude-code/gen/gen-tokens/02-structure-output-file.md +31 -0
  126. package/skills/web-design/claude-code/gen/gen-tokens/03-connect-frontend.md +150 -0
  127. package/skills/web-design/claude-code/gen/gen-tokens.md +54 -0
  128. package/skills/web-design/claude-code/gen/gen-video.md +73 -0
  129. package/skills/web-design/claude-code/verify/verify-components.md +52 -0
  130. package/skills/web-design/claude-code/verify/verify-motions.md +74 -0
  131. package/skills/web-design/claude-code/verify/verify-pipeline.md +69 -0
  132. package/skills/web-design/claude-code/verify/verify-report.md +75 -0
  133. package/skills/web-design/claude-code/verify/verify-responsive.md +49 -0
  134. package/skills/web-design/claude-code/verify/verify-tokens.md +84 -0
  135. package/skills/test-skill/claude-code/SKILL.md +0 -7
  136. package/skills/test-skill/cursor/test-skill.md +0 -7
  137. package/skills/test-skill/openclaw/SKILL.md +0 -13
  138. package/skills/test-skill/skill.json +0 -6
@@ -0,0 +1,302 @@
1
+ # 멀티사이트 벤치마킹
2
+
3
+ > 트리거: `/wd benchmark <URL1> [URL2] [URL3]`
4
+ > 원본: skills/benchmarking/SKILL.md
5
+ > Dependencies: analyze/analyze-benchmark-rules.md
6
+
7
+ ## 역할
8
+
9
+ 사용자가 제공한 URL(1~5개)에 Playwright로 접속하여 스크린샷 캡처, CSS 값 추출, DOM 구조 분석을 수행한 뒤, 비교 분석 보고서와 디자인 토큰 초안을 생성합니다.
10
+
11
+ ---
12
+
13
+ ## 입력
14
+
15
+ | 파라미터 | 필수 | 설명 |
16
+ |---------|------|------|
17
+ | URL | O | 벤치마킹 대상 URL (1~5개, 공백 구분) |
18
+ | `--focus` | X | 분석 관점 (쉼표 구분): layout, color, typography, spacing, component, style, responsive |
19
+ | `--viewport` | X | 캡처 뷰포트: desktop(1440×900), mobile(390×844), tablet(768×1024) |
20
+ | `--mobile` | X | `--viewport mobile` 단축 |
21
+ | `--output` | X | 출력 디렉토리 (기본: `docs/benchmarking/`) |
22
+
23
+ ## 출력
24
+
25
+ ```
26
+ {output_dir}/
27
+ ├── screenshots/
28
+ │ ├── {site}-desktop-full.png
29
+ │ ├── {site}-mobile-full.png
30
+ │ └── {site}-section-*.png
31
+ ├── data/
32
+ │ ├── {site}-analysis.json # 사이트별 분석 데이터
33
+ │ └── ...
34
+ ├── report.md # 비교 분석 보고서
35
+ └── recommended-tokens.json # 추천 디자인 토큰 초안
36
+ ```
37
+
38
+ ---
39
+
40
+ ## 워크플로우
41
+
42
+ ### 0단계: 공유 컨텍스트 읽기
43
+
44
+ ```
45
+ 1. Read 도구로 .claude/project-context.json 읽기
46
+ 2. 파일이 없으면 → context = {} (빈 객체), 정상 진행
47
+ 3. 읽기 항목:
48
+ - design.style → 보고서에 현재 스타일 참조
49
+ - design.token_format → 추천 토큰 형식 결정
50
+ ```
51
+
52
+ ### 1단계: 인자 파싱
53
+
54
+ ```
55
+ $ARGUMENTS 분석:
56
+
57
+ URL 패턴 (https?://...) → urls[] 배열에 수집
58
+ --focus {값} → focus[] 배열 (미지정 시 7가지 전체)
59
+ --viewport {값} → viewports[] 배열 (기본: [desktop, mobile])
60
+ --mobile → viewports = [mobile]
61
+ --output {경로} → output_dir (기본: docs/benchmarking/)
62
+
63
+ URL이 0개 → AskUserQuestion:
64
+ "벤치마킹할 사이트 URL을 입력해주세요 (최대 5개, 쉼표 구분)"
65
+ ```
66
+
67
+ ### 2단계: 환경 준비
68
+
69
+ ```bash
70
+ # Playwright 설치 확인
71
+ npm list playwright 2>/dev/null || npm install --save-dev playwright
72
+ npx playwright install chromium
73
+ ```
74
+
75
+ ```
76
+ 설치 실패 시:
77
+ → "Playwright 설치가 불가능한 환경입니다."
78
+ → URL만 {output_dir}/urls.txt에 기록
79
+ → "수동 분석을 위해 URL을 기록했습니다. 각 사이트를 브라우저에서 직접 확인해주세요."
80
+ → 종료
81
+ ```
82
+
83
+ ### 3단계: 데이터 수집 (URL별 반복)
84
+
85
+ > 참조: `analyze/analyze-benchmark-rules.md` § 3 (CSS 추출 항목)
86
+
87
+ 각 URL에 대해 순차 실행합니다.
88
+
89
+ #### 3-1. 브라우저 접속 + 방해 요소 처리
90
+
91
+ ```javascript
92
+ // Playwright 접속
93
+ const browser = await chromium.launch();
94
+ const page = await browser.newContext({ viewport }).newPage();
95
+ await page.goto(url, { waitUntil: 'networkidle' });
96
+
97
+ // 방해 요소 자동 제거
98
+ // [class*="cookie"], [class*="consent"], [class*="popup"],
99
+ // [class*="modal"], [class*="overlay"], [class*="banner"]
100
+ // → 닫기/수락 버튼 클릭
101
+
102
+ // 레이지 로딩 대응: 전체 스크롤 (300px 단위, 100ms 간격)
103
+ // → 상단 복귀 → 1초 대기
104
+ ```
105
+
106
+ #### 3-2. 스크린샷 캡처
107
+
108
+ | 캡처 대상 | 파일명 | 조건 |
109
+ |----------|--------|------|
110
+ | 전체 페이지 (데스크톱) | `{site}-desktop-full.png` | desktop in viewports |
111
+ | 전체 페이지 (모바일) | `{site}-mobile-full.png` | mobile in viewports |
112
+ | 전체 페이지 (태블릿) | `{site}-tablet-full.png` | tablet in viewports |
113
+ | 섹션별 | `{site}-section-{name}.png` | header, nav, main, footer, hero, cta |
114
+
115
+ #### 3-3. CSS 값 추출
116
+
117
+ `document.querySelectorAll('*')`의 computed style에서 추출:
118
+
119
+ | 추출 대상 | 필터 조건 |
120
+ |----------|----------|
121
+ | colors (color, backgroundColor, borderColor) | Set 중복 제거 |
122
+ | fontFamilies, fontSizes, fontWeights, lineHeights | Set 중복 제거 |
123
+ | paddings, margins | `0px 0px 0px 0px` 제외 |
124
+ | borderRadii | `0px` 제외 |
125
+ | boxShadows | `none` 제외 |
126
+ | maxWidths, gaps | `none`/`normal` 제외 |
127
+ | transitions | 기본값 제외 |
128
+
129
+ #### 3-4. CSS 변수 추출
130
+
131
+ 외부 스타일시트의 `:root` / `html`에서 `--` 접두사 Custom Properties 추출.
132
+ CORS 불가 시 건너뜀.
133
+
134
+ #### 3-5. DOM 구조 분석
135
+
136
+ - 시맨틱 구조 트리 (depth 5까지)
137
+ - 반복 컴포넌트 패턴 (동일 클래스 3회 이상, 상위 20개)
138
+ - 그리드/레이아웃 (`display: grid` 요소)
139
+ - 접근성 (img alt 누락, ARIA 요소 수, 헤딩 구조)
140
+
141
+ ### 4단계: 데이터 정제
142
+
143
+ > 참조: `analyze/analyze-benchmark-rules.md` § 4 (데이터 정제 규칙)
144
+
145
+ 1. **색상**: rgb→hex 변환, 투명/검정 필터, 빈도순 정렬, 역할 추정
146
+ 2. **타이포**: px 숫자 정렬, 타입 스케일 비율 계산
147
+ 3. **간격**: px 정렬, 기본 단위(4px/8px) 추정
148
+ 4. **CSS 변수**: 사이트 자체 토큰 체계 매핑
149
+
150
+ ### 5단계: AI 분석
151
+
152
+ > 참조: `analyze/analyze-benchmark-rules.md` § 2 (스타일 판별 기준)
153
+
154
+ 1. **스크린샷 시각 분석**: 레이아웃 구조, 시각적 무게, 브랜드 톤
155
+ 2. **수치 데이터 분석**: 토큰 체계, 스타일 판별
156
+ 3. **멀티 사이트 비교** (2개 이상): 공통 패턴, 차별 요소, 추천 값
157
+
158
+ focus 파라미터 지정 시 해당 관점만 집중 분석합니다.
159
+
160
+ ### 6단계: 보고서 생성
161
+
162
+ > 참조: `analyze/analyze-benchmark-rules.md` § 8 (보고서 구조)
163
+
164
+ #### 6-1. 사이트별 분석 JSON
165
+
166
+ `{output_dir}/data/{site}-analysis.json` 저장:
167
+
168
+ ```json
169
+ {
170
+ "url": "https://example.com",
171
+ "capturedAt": "ISO 8601",
172
+ "screenshots": { "desktop": "...", "mobile": "...", "sections": [] },
173
+ "designTokens": {
174
+ "colors": { "primary": [], "neutral": [], "background": [] },
175
+ "typography": { "families": [], "scale": [], "weights": [] },
176
+ "spacing": { "baseUnit": "8px", "values": [] },
177
+ "borderRadius": [],
178
+ "shadows": [],
179
+ "maxWidth": "1200px"
180
+ },
181
+ "structure": { "semanticTree": "...", "componentPatterns": "...", "gridSystem": "..." },
182
+ "styleAnalysis": { "detectedStyles": [], "rationale": "..." }
183
+ }
184
+ ```
185
+
186
+ #### 6-2. 비교 보고서
187
+
188
+ `{output_dir}/report.md` 생성:
189
+
190
+ ```markdown
191
+ # 벤치마킹 비교 보고서
192
+
193
+ ## 분석 대상
194
+ - 사이트 A: [URL] - [한줄 설명]
195
+
196
+ ## 비교 매트릭스
197
+ (analyze/analyze-benchmark-rules.md § 5 템플릿 적용)
198
+
199
+ ## 공통 패턴
200
+ ## 차별화 요소
201
+ ## 추천 디자인 토큰 (CSS Custom Properties)
202
+ ## 추천 디자인 스타일 조합 (analyze/analyze-benchmark-rules.md § 6 참조)
203
+ ## 참고 스크린샷
204
+ ```
205
+
206
+ #### 6-3. 추천 토큰 초안
207
+
208
+ `{output_dir}/recommended-tokens.json` 생성:
209
+
210
+ ```json
211
+ {
212
+ "source": "benchmarking",
213
+ "basedOn": ["site-a.com", "site-b.com"],
214
+ "tokens": {
215
+ "colors": { "primary": "#...", "neutral": "#..." },
216
+ "typography": { "baseSize": "16px", "scaleRatio": 1.25, "family": "..." },
217
+ "spacing": { "baseUnit": "8px" },
218
+ "borderRadius": { "default": "8px" },
219
+ "shadows": ["0 1px 3px rgba(0,0,0,0.1)"]
220
+ }
221
+ }
222
+ ```
223
+
224
+ ### 7단계: context 업데이트
225
+
226
+ ```json
227
+ {
228
+ "last_updated": "{ISO8601}",
229
+ "updated_by": "/web-design",
230
+
231
+ "benchmarking": {
232
+ "last_run": "{ISO8601}",
233
+ "urls": ["{분석된 URL 목록}"],
234
+ "detected_styles": ["{감지된 스타일}"],
235
+ "report_path": "{output_dir}/report.md"
236
+ }
237
+ }
238
+ ```
239
+
240
+ ### 8단계: 결과 보고 + 다음 단계 안내
241
+
242
+ ```
243
+ 벤치마킹 분석 완료:
244
+ - 분석 대상: {N}개 사이트
245
+ - 감지된 스타일: {detectedStyles}
246
+ - 보고서: {output_dir}/report.md
247
+ - 추천 토큰: {output_dir}/recommended-tokens.json
248
+ ```
249
+
250
+ AskUserQuestion:
251
+ ```
252
+ 다음으로 어떻게 진행할까요?
253
+
254
+ ① 추천 토큰으로 /wd generate 시작 (추천)
255
+ ② 보고서만 확인
256
+ ③ 추가 URL 분석
257
+ ```
258
+
259
+ ---
260
+
261
+ ## 멱등성
262
+
263
+ ```
264
+ if exists("{output_dir}/report.md"):
265
+ AskUserQuestion:
266
+ "이전 벤치마킹 결과가 존재합니다.
267
+ [1] 기존 결과 사용
268
+ [2] 다시 분석 (덮어쓰기)"
269
+ → [1] 즉시 8단계로
270
+ → [2] 기존 결과 삭제 후 2단계부터
271
+ ```
272
+
273
+ ---
274
+
275
+ ## 에러 처리
276
+
277
+ | 상황 | 대응 |
278
+ |------|------|
279
+ | Playwright 설치 불가 | URL만 기록, 수동 분석 가이드 안내 후 종료 |
280
+ | 사이트 접속 불가 (404, 500) | 에러 기록 후 해당 URL 건너뛰기 |
281
+ | 로그인 필요 | 공개 페이지만 분석 가능 안내 |
282
+ | SPA | `waitUntil: 'networkidle'` + 추가 대기 |
283
+ | CORS 외부 CSS | computed style 기반 대체 |
284
+ | 무한 스크롤 | 최대 10회 스크롤 제한 |
285
+ | 캡차/봇 차단 | 자동 분석 불가 안내 |
286
+
287
+ ---
288
+
289
+ ## 주의사항
290
+
291
+ - **저작권**: 벤치마킹은 참고를 위한 것이며, 디자인을 그대로 복제하면 저작권 문제가 될 수 있음을 안내
292
+ - **성능**: 사이트당 30초~1분 소요 (5개 시 약 5분)
293
+ - **동적 콘텐츠**: A/B 테스트, 지역별 차이 등은 캡처 시점에 따라 달라질 수 있음
294
+ - **네트워크 필수**: 외부 사이트 접속 필요
295
+
296
+ ---
297
+
298
+ ## web-design 연동
299
+
300
+ collect-style.md에서 벤치마킹 결과 자동 참조:
301
+ - recommended-tokens.json → Q3-1 스타일 추천 기본값
302
+ - report.md → 감지된 스타일 코드 매핑