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.
- package/dist/index.js +30 -20
- package/package.json +1 -1
- package/skills/web-design/claude-code/SKILL.md +270 -0
- package/skills/web-design/claude-code/analyze/analyze-benchmark-rules.md +229 -0
- package/skills/web-design/claude-code/analyze/analyze-benchmark.md +302 -0
- package/skills/web-design/claude-code/analyze/analyze-mockup.md +572 -0
- package/skills/web-design/claude-code/collect/collect-app.md +258 -0
- package/skills/web-design/claude-code/collect/collect-desktop.md +231 -0
- package/skills/web-design/claude-code/collect/collect-hybrid.md +222 -0
- package/skills/web-design/claude-code/collect/collect-style.md +155 -0
- package/skills/web-design/claude-code/collect/collect-type.md +42 -0
- package/skills/web-design/claude-code/collect/collect-video.md +239 -0
- package/skills/web-design/claude-code/collect/collect-web.md +279 -0
- package/skills/web-design/claude-code/defs/ai-recommend/01-style-design-recommend.md +64 -0
- package/skills/web-design/claude-code/defs/ai-recommend.md +58 -0
- package/skills/web-design/claude-code/defs/app-layouts/02-utility.md +54 -0
- package/skills/web-design/claude-code/defs/app-layouts/03-social.md +71 -0
- package/skills/web-design/claude-code/defs/app-layouts/04-game.md +54 -0
- package/skills/web-design/claude-code/defs/app-layouts/05-fintech.md +62 -0
- package/skills/web-design/claude-code/defs/app-layouts/06-healthcare.md +66 -0
- package/skills/web-design/claude-code/defs/app-layouts/07-ecommerce.md +63 -0
- package/skills/web-design/claude-code/defs/app-layouts/08-education.md +88 -0
- package/skills/web-design/claude-code/defs/app-layouts/09-creative.md +86 -0
- package/skills/web-design/claude-code/defs/app-layouts.md +59 -0
- package/skills/web-design/claude-code/defs/app-motions/01-utility.md +51 -0
- package/skills/web-design/claude-code/defs/app-motions/02-social.md +55 -0
- package/skills/web-design/claude-code/defs/app-motions/03-game.md +52 -0
- package/skills/web-design/claude-code/defs/app-motions/04-fintech.md +52 -0
- package/skills/web-design/claude-code/defs/app-motions/05-healthcare.md +52 -0
- package/skills/web-design/claude-code/defs/app-motions/06-ecommerce.md +55 -0
- package/skills/web-design/claude-code/defs/app-motions/07-education.md +54 -0
- package/skills/web-design/claude-code/defs/app-motions/08-creative.md +53 -0
- package/skills/web-design/claude-code/defs/app-motions/10-intensity-preset-motion.md +12 -0
- package/skills/web-design/claude-code/defs/app-motions.md +64 -0
- package/skills/web-design/claude-code/defs/component-specs/01-set-component.md +24 -0
- package/skills/web-design/claude-code/defs/component-specs/02-features-flow.md +51 -0
- package/skills/web-design/claude-code/defs/component-specs/03-system-visual.md +193 -0
- package/skills/web-design/claude-code/defs/component-specs/04-interaction-pattern-visual.md +61 -0
- package/skills/web-design/claude-code/defs/component-specs/domains/admin.md +55 -0
- package/skills/web-design/claude-code/defs/component-specs/domains/dashboard.md +60 -0
- package/skills/web-design/claude-code/defs/component-specs/domains/erp.md +68 -0
- package/skills/web-design/claude-code/defs/component-specs/domains/saas.md +65 -0
- package/skills/web-design/claude-code/defs/component-specs.md +24 -0
- package/skills/web-design/claude-code/defs/design-guide-sections.md +37 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/01-utility.md +69 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/02-data.md +71 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/03-creative.md +73 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/04-communication.md +71 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/05-game.md +73 -0
- package/skills/web-design/claude-code/defs/desktop-layouts/06-business.md +74 -0
- package/skills/web-design/claude-code/defs/desktop-layouts.md +49 -0
- package/skills/web-design/claude-code/defs/desktop-motions/01-utility.md +56 -0
- package/skills/web-design/claude-code/defs/desktop-motions/02-data.md +60 -0
- package/skills/web-design/claude-code/defs/desktop-motions/03-creative.md +60 -0
- package/skills/web-design/claude-code/defs/desktop-motions/04-communication.md +57 -0
- package/skills/web-design/claude-code/defs/desktop-motions/05-game.md +55 -0
- package/skills/web-design/claude-code/defs/desktop-motions/06-business.md +52 -0
- package/skills/web-design/claude-code/defs/desktop-motions.md +75 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts/01-web_mobile.md +81 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts/02-web_desktop.md +78 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts/03-mobile_desktop.md +79 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts/04-all.md +81 -0
- package/skills/web-design/claude-code/defs/hybrid-layouts.md +49 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/01-web_mobile.md +69 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/02-web_desktop.md +69 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/03-mobile_desktop.md +74 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/04-all.md +96 -0
- package/skills/web-design/claude-code/defs/hybrid-motions/07-intensity-preset-motion.md +16 -0
- package/skills/web-design/claude-code/defs/hybrid-motions.md +65 -0
- package/skills/web-design/claude-code/defs/ia-patterns/01-management-dashboard.md +37 -0
- package/skills/web-design/claude-code/defs/ia-patterns/05-video.md +33 -0
- package/skills/web-design/claude-code/defs/ia-patterns/06-video_saas-saas.md +37 -0
- package/skills/web-design/claude-code/defs/ia-patterns.md +85 -0
- package/skills/web-design/claude-code/defs/icon-mappings/04-mapping-design-system.md +25 -0
- package/skills/web-design/claude-code/defs/icon-mappings.md +49 -0
- package/skills/web-design/claude-code/defs/icon-usage.md +56 -0
- package/skills/web-design/claude-code/defs/illustration-guide.md +44 -0
- package/skills/web-design/claude-code/defs/image-strategies/01-landing.md +76 -0
- package/skills/web-design/claude-code/defs/image-strategies/02-dashboard.md +51 -0
- package/skills/web-design/claude-code/defs/image-strategies/03-ecommerce.md +47 -0
- package/skills/web-design/claude-code/defs/image-strategies/04-blog.md +58 -0
- package/skills/web-design/claude-code/defs/image-strategies/05-saas.md +56 -0
- package/skills/web-design/claude-code/defs/image-strategies/06-portfolio.md +62 -0
- package/skills/web-design/claude-code/defs/image-strategies/08-strategy-common-image.md +57 -0
- package/skills/web-design/claude-code/defs/image-strategies.md +58 -0
- package/skills/web-design/claude-code/defs/seo-guide.md +79 -0
- package/skills/web-design/claude-code/defs/styles/02-style-list.md +421 -0
- package/skills/web-design/claude-code/defs/styles/03-custom-animation-keyframes.md +39 -0
- package/skills/web-design/claude-code/defs/styles.md +50 -0
- package/skills/web-design/claude-code/defs/tokens/01-token-format.md +75 -0
- package/skills/web-design/claude-code/defs/tokens/02-token-scope.md +251 -0
- package/skills/web-design/claude-code/defs/tokens.md +24 -0
- package/skills/web-design/claude-code/defs/video-compositions/01-composition-single.md +66 -0
- package/skills/web-design/claude-code/defs/video-compositions/02-composition-multi.md +66 -0
- package/skills/web-design/claude-code/defs/video-compositions/03-composition-parametric.md +81 -0
- package/skills/web-design/claude-code/defs/video-compositions.md +37 -0
- package/skills/web-design/claude-code/defs/video-motions/01-animation-basic.md +49 -0
- package/skills/web-design/claude-code/defs/video-motions/02-animation.md +52 -0
- package/skills/web-design/claude-code/defs/video-motions/03-reference.md +17 -0
- package/skills/web-design/claude-code/defs/video-motions/05-pattern-composition.md +61 -0
- package/skills/web-design/claude-code/defs/video-motions/06-transition-effects.md +49 -0
- package/skills/web-design/claude-code/defs/video-motions/07-audio-sync.md +29 -0
- package/skills/web-design/claude-code/defs/video-motions.md +55 -0
- package/skills/web-design/claude-code/defs/web-layouts/01-landing.md +101 -0
- package/skills/web-design/claude-code/defs/web-layouts/02-dashboard.md +85 -0
- package/skills/web-design/claude-code/defs/web-layouts/03-ecommerce.md +73 -0
- package/skills/web-design/claude-code/defs/web-layouts/04-blog.md +69 -0
- package/skills/web-design/claude-code/defs/web-layouts/05-saas.md +83 -0
- package/skills/web-design/claude-code/defs/web-layouts/06-portfolio.md +62 -0
- package/skills/web-design/claude-code/defs/web-layouts.md +38 -0
- package/skills/web-design/claude-code/defs/web-motions/01-landing.md +91 -0
- package/skills/web-design/claude-code/defs/web-motions/02-dashboard.md +55 -0
- package/skills/web-design/claude-code/defs/web-motions/03-ecommerce.md +52 -0
- package/skills/web-design/claude-code/defs/web-motions/04-blog.md +57 -0
- package/skills/web-design/claude-code/defs/web-motions/05-saas.md +49 -0
- package/skills/web-design/claude-code/defs/web-motions/06-portfolio.md +73 -0
- package/skills/web-design/claude-code/defs/web-motions/08-intensity-preset-motion.md +14 -0
- package/skills/web-design/claude-code/defs/web-motions.md +55 -0
- package/skills/web-design/claude-code/gen/gen-design-guide/01-project-overview.md +304 -0
- package/skills/web-design/claude-code/gen/gen-design-guide-interaction/01-interaction-motion.md +129 -0
- package/skills/web-design/claude-code/gen/gen-design-guide-interaction/04-project-video.md +69 -0
- package/skills/web-design/claude-code/gen/gen-design-guide-interaction.md +45 -0
- package/skills/web-design/claude-code/gen/gen-design-guide.md +43 -0
- package/skills/web-design/claude-code/gen/gen-tokens/01-generate-process.md +318 -0
- package/skills/web-design/claude-code/gen/gen-tokens/02-structure-output-file.md +31 -0
- package/skills/web-design/claude-code/gen/gen-tokens/03-connect-frontend.md +150 -0
- package/skills/web-design/claude-code/gen/gen-tokens.md +54 -0
- package/skills/web-design/claude-code/gen/gen-video.md +73 -0
- package/skills/web-design/claude-code/verify/verify-components.md +52 -0
- package/skills/web-design/claude-code/verify/verify-motions.md +74 -0
- package/skills/web-design/claude-code/verify/verify-pipeline.md +69 -0
- package/skills/web-design/claude-code/verify/verify-report.md +75 -0
- package/skills/web-design/claude-code/verify/verify-responsive.md +49 -0
- package/skills/web-design/claude-code/verify/verify-tokens.md +84 -0
- package/skills/test-skill/claude-code/SKILL.md +0 -7
- package/skills/test-skill/cursor/test-skill.md +0 -7
- package/skills/test-skill/openclaw/SKILL.md +0 -13
- package/skills/test-skill/skill.json +0 -6
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# 모션/애니메이션 적용 검증
|
|
2
|
+
|
|
3
|
+
> 트리거: /wd verify (자동) 또는 /wd verify motions
|
|
4
|
+
> 입력: docs/design/web-design-guide.md Section 7-8 (인터랙션 & 모션)
|
|
5
|
+
> 방법: 코드베이스 자동 스캔
|
|
6
|
+
|
|
7
|
+
## 검증 프로세스
|
|
8
|
+
|
|
9
|
+
### 1단계: 모션 스펙 추출
|
|
10
|
+
|
|
11
|
+
docs/design/web-design-guide.md에서 Section 7-8을 파싱합니다.
|
|
12
|
+
|
|
13
|
+
추출 대상:
|
|
14
|
+
- @keyframes 정의 목록
|
|
15
|
+
- transition 패턴 (hover/focus/active)
|
|
16
|
+
- 페이지 전환 애니메이션 명세
|
|
17
|
+
- 로딩 애니메이션 명세
|
|
18
|
+
- 스크롤 기반 인터랙션 명세
|
|
19
|
+
- 모션 강도 설정 (subtle/moderate/dramatic)
|
|
20
|
+
|
|
21
|
+
### 2단계: 코드베이스 스캔
|
|
22
|
+
|
|
23
|
+
#### @keyframes 검증
|
|
24
|
+
- Grep: @keyframes {name} → src/ 전체
|
|
25
|
+
- 정의된 것 vs 실제 사용된 것 비교
|
|
26
|
+
|
|
27
|
+
#### hover/focus/active 상태
|
|
28
|
+
- Grep: :hover, :focus, :active, hover:, focus:, active: → 컴포넌트 파일
|
|
29
|
+
- 디자인 가이드에 명시된 인터랙션 패턴과 비교
|
|
30
|
+
|
|
31
|
+
#### 페이지 전환
|
|
32
|
+
- Grep: transition, animate-, framer-motion, @view-transition → 라우터/레이아웃 파일
|
|
33
|
+
- 전환 애니메이션 존재 여부
|
|
34
|
+
|
|
35
|
+
#### 로딩 애니메이션
|
|
36
|
+
- Grep: skeleton, spinner, loading, pulse → 컴포넌트 파일
|
|
37
|
+
- 로딩 상태 처리 존재 여부
|
|
38
|
+
|
|
39
|
+
#### 스크롤 인터랙션
|
|
40
|
+
- Grep: IntersectionObserver, scroll, data-aos, gsap, framer → 전체
|
|
41
|
+
- 스크롤 기반 효과 존재 여부
|
|
42
|
+
|
|
43
|
+
#### 접근성
|
|
44
|
+
- Grep: prefers-reduced-motion → CSS 파일
|
|
45
|
+
- reduced-motion 대응 존재 여부
|
|
46
|
+
|
|
47
|
+
### 3단계: 판정
|
|
48
|
+
|
|
49
|
+
각 모션 항목에 대해:
|
|
50
|
+
| 상태 | 판정 |
|
|
51
|
+
|------|------|
|
|
52
|
+
| 구현됨 | ✅ 적용 |
|
|
53
|
+
| 미구현 | ❌ 미적용 |
|
|
54
|
+
| 부분 구현 | ⚠️ 부분 적용 (세부 사항 표시) |
|
|
55
|
+
|
|
56
|
+
## 출력 형식
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
■ 모션 적용 현황
|
|
60
|
+
@keyframes: 3/5 (60%)
|
|
61
|
+
✅ fadeIn (4회 사용)
|
|
62
|
+
✅ slideUp (2회 사용)
|
|
63
|
+
❌ shimmer (정의됨, 미사용)
|
|
64
|
+
...
|
|
65
|
+
|
|
66
|
+
인터랙션 상태: 4/4 (100%)
|
|
67
|
+
✅ hover 상태 트랜지션
|
|
68
|
+
✅ focus 상태 인디케이터
|
|
69
|
+
✅ active 상태 피드백
|
|
70
|
+
✅ disabled 상태 스타일링
|
|
71
|
+
|
|
72
|
+
접근성:
|
|
73
|
+
✅ prefers-reduced-motion 대응
|
|
74
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# 파이프라인 연결 상태 검증
|
|
2
|
+
|
|
3
|
+
> 트리거: /wd status
|
|
4
|
+
|
|
5
|
+
## 역할
|
|
6
|
+
|
|
7
|
+
web-design 파이프라인의 각 단계별 완료 상태를 확인하고 시각적으로 표시합니다.
|
|
8
|
+
|
|
9
|
+
## 검증 항목
|
|
10
|
+
|
|
11
|
+
### Phase 1: 리서치 (선택)
|
|
12
|
+
|
|
13
|
+
| 항목 | 확인 방법 | 상태 |
|
|
14
|
+
|------|---------|------|
|
|
15
|
+
| 벤치마킹 | docs/benchmarking/report.md 존재 | ✅ 완료 / ⬜ 미실행 |
|
|
16
|
+
| 목업 분석 | .design/*/analysis.json 존재 | ✅ 완료 / ⬜ 미실행 |
|
|
17
|
+
|
|
18
|
+
### Phase 2: 수집
|
|
19
|
+
|
|
20
|
+
| 항목 | 확인 방법 | 상태 |
|
|
21
|
+
|------|---------|------|
|
|
22
|
+
| 프로젝트 유형 | project-context.json → project_type 존재 | ✅/❌ |
|
|
23
|
+
| 레이아웃 패턴 | project-context.json → layout_pattern 존재 | ✅/❌ |
|
|
24
|
+
| 모션 패턴 | project-context.json → motion_pattern 존재 | ✅/❌ |
|
|
25
|
+
| 디자인 스타일 | project-context.json → style 존재 | ✅/❌ |
|
|
26
|
+
| 테마 | project-context.json → theme 존재 | ✅/❌ |
|
|
27
|
+
|
|
28
|
+
### Phase 3: 생성
|
|
29
|
+
|
|
30
|
+
| 항목 | 확인 방법 | 상태 |
|
|
31
|
+
|------|---------|------|
|
|
32
|
+
| 디자인 토큰 | design/tokens/variables.css 존재 | ✅/❌ |
|
|
33
|
+
| 토큰 연결 | globals.css에 import 존재 | ✅/❌ |
|
|
34
|
+
| 디자인 가이드 | docs/design/web-design-guide.md 존재 | ✅/❌ |
|
|
35
|
+
|
|
36
|
+
### Phase 4: 검증
|
|
37
|
+
|
|
38
|
+
| 항목 | 확인 방법 | 상태 |
|
|
39
|
+
|------|---------|------|
|
|
40
|
+
| 토큰 검증 | project-context.json → verify.tokens 존재 | ✅/❌ |
|
|
41
|
+
| 전체 검증 | project-context.json → verified == true | ✅/❌ |
|
|
42
|
+
|
|
43
|
+
## 출력 형식
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
🔄 Web Design 파이프라인 상태
|
|
47
|
+
═══════════════════════════════════
|
|
48
|
+
Phase 1: 리서치
|
|
49
|
+
⬜ 벤치마킹 (선택)
|
|
50
|
+
⬜ 목업 분석 (선택)
|
|
51
|
+
|
|
52
|
+
Phase 2: 수집
|
|
53
|
+
✅ 프로젝트 유형: web
|
|
54
|
+
✅ 레이아웃: dashboard
|
|
55
|
+
✅ 모션: material-motion (moderate)
|
|
56
|
+
✅ 스타일: K (대시보드)
|
|
57
|
+
✅ 테마: system
|
|
58
|
+
|
|
59
|
+
Phase 3: 생성
|
|
60
|
+
✅ 디자인 토큰
|
|
61
|
+
✅ 토큰 연결
|
|
62
|
+
❌ 디자인 가이드
|
|
63
|
+
|
|
64
|
+
Phase 4: 검증
|
|
65
|
+
❌ 미실행
|
|
66
|
+
|
|
67
|
+
다음 단계: /wd generate (디자인 가이드 생성)
|
|
68
|
+
═══════════════════════════════════
|
|
69
|
+
```
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# 검증 리포트 생성 및 자동 완료 표시
|
|
2
|
+
|
|
3
|
+
> 트리거: /wd verify (자동 — 모든 검증 모듈 실행 후 최종 단계)
|
|
4
|
+
> 입력: verify-tokens, verify-motions, verify-components, verify-responsive 결과
|
|
5
|
+
|
|
6
|
+
## 리포트 형식
|
|
7
|
+
|
|
8
|
+
verify/ 모든 모듈의 결과를 종합하여 리포트를 생성합니다.
|
|
9
|
+
|
|
10
|
+
### 출력
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
📊 디자인 적용 현황 리포트
|
|
14
|
+
══════════════════════════════════════
|
|
15
|
+
■ 토큰 적용률: {applied}/{total} ({percentage}%)
|
|
16
|
+
├ CSS Variables: {n}/{m}
|
|
17
|
+
├ Tailwind 확장: {n}/{m}
|
|
18
|
+
└ 연결 상태: {status}
|
|
19
|
+
|
|
20
|
+
■ 모션 적용률: {applied}/{total} ({percentage}%)
|
|
21
|
+
├ @keyframes: {n}/{m}
|
|
22
|
+
├ 인터랙션 상태: {n}/{m}
|
|
23
|
+
└ 접근성(reduced-motion): {status}
|
|
24
|
+
|
|
25
|
+
■ 컴포넌트 적용률: {applied}/{total} ({percentage}%)
|
|
26
|
+
├ 완전 적용: {n}개
|
|
27
|
+
├ 부분 적용: {n}개
|
|
28
|
+
└ 미적용: {n}개
|
|
29
|
+
|
|
30
|
+
■ 반응형/이미지: {applied}/{total} ({percentage}%)
|
|
31
|
+
|
|
32
|
+
══════════════════════════════════════
|
|
33
|
+
총 적용률: {total_applied}/{grand_total} ({grand_percentage}%)
|
|
34
|
+
══════════════════════════════════════
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 미적용 항목 요약
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
❌ 미적용 항목 ({count}개):
|
|
41
|
+
1. [토큰] --color-tertiary — 0회 사용
|
|
42
|
+
2. [모션] shimmer — 정의됨, 미사용
|
|
43
|
+
3. [컴포넌트] Modal — 미구현
|
|
44
|
+
4. [반응형] OG 이미지 메타태그 없음
|
|
45
|
+
...
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 권장 조치
|
|
49
|
+
|
|
50
|
+
각 미적용 항목에 대한 구체적 가이드:
|
|
51
|
+
- 파일 경로
|
|
52
|
+
- 추가해야 할 코드 예시
|
|
53
|
+
- 참조해야 할 디자인 가이드 섹션
|
|
54
|
+
|
|
55
|
+
## project-context.json 업데이트
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"design": {
|
|
60
|
+
"verify": {
|
|
61
|
+
"last_run": "{ISO8601}",
|
|
62
|
+
"tokens": { "applied": N, "total": M, "rate": "90.4%" },
|
|
63
|
+
"motions": { "applied": N, "total": M, "rate": "42.9%" },
|
|
64
|
+
"components": { "applied": N, "total": M, "rate": "80.0%" },
|
|
65
|
+
"responsive": { "applied": N, "total": M, "rate": "66.7%" },
|
|
66
|
+
"total_rate": "82.5%"
|
|
67
|
+
},
|
|
68
|
+
"verified": false
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
적용률 100% 달성 시:
|
|
74
|
+
→ design.verified = true
|
|
75
|
+
→ "모든 디자인 요소가 적용되었습니다!"
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# 반응형/이미지 전략 적용 검증
|
|
2
|
+
|
|
3
|
+
> 트리거: /wd verify (자동) 또는 /wd verify responsive
|
|
4
|
+
> 방법: 코드베이스 자동 스캔
|
|
5
|
+
|
|
6
|
+
## 검증 항목
|
|
7
|
+
|
|
8
|
+
### 반응형 브레이크포인트
|
|
9
|
+
|
|
10
|
+
Grep으로 확인:
|
|
11
|
+
- @media 쿼리 또는 Tailwind 반응형 접두사 (sm:, md:, lg:, xl:)
|
|
12
|
+
- 최소 3개 이상 브레이크포인트 사용 여부
|
|
13
|
+
|
|
14
|
+
| 결과 | 판정 |
|
|
15
|
+
|------|------|
|
|
16
|
+
| 3+ 브레이크포인트 사용 | ✅ |
|
|
17
|
+
| 1-2 브레이크포인트 | ⚠️ 부분 |
|
|
18
|
+
| 없음 | ❌ |
|
|
19
|
+
|
|
20
|
+
### 이미지 최적화
|
|
21
|
+
|
|
22
|
+
#### Lazy Loading
|
|
23
|
+
- Grep: loading="lazy", lazy, LazyImage → img 태그 포함 파일
|
|
24
|
+
- next/image의 자동 lazy loading 포함
|
|
25
|
+
|
|
26
|
+
#### 반응형 이미지
|
|
27
|
+
- Grep: srcset, sizes, <picture>, next/image → 이미지 관련 파일
|
|
28
|
+
|
|
29
|
+
### OG 이미지 메타태그
|
|
30
|
+
|
|
31
|
+
- Grep: og:image, twitter:image → layout/head/metadata 파일
|
|
32
|
+
- 소셜 공유 이미지 설정 여부
|
|
33
|
+
|
|
34
|
+
### Favicon
|
|
35
|
+
|
|
36
|
+
- Glob: public/favicon*, app/favicon*, public/icon*
|
|
37
|
+
- favicon.ico 또는 동등한 아이콘 존재 여부
|
|
38
|
+
|
|
39
|
+
## 출력 형식
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
■ 반응형/이미지 현황: 4/6 (66.7%)
|
|
43
|
+
✅ 반응형 브레이크포인트 (sm/md/lg/xl 사용)
|
|
44
|
+
✅ 이미지 lazy loading
|
|
45
|
+
✅ favicon 존재
|
|
46
|
+
❌ OG 이미지 메타태그 없음
|
|
47
|
+
❌ 반응형 이미지 (srcset/picture) 미사용
|
|
48
|
+
...
|
|
49
|
+
```
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# 토큰 사용 검증
|
|
2
|
+
|
|
3
|
+
> 트리거: /wd verify (자동) 또는 /wd verify tokens
|
|
4
|
+
> 입력: design/tokens/ (variables.css, visual.css, tailwind.config 등)
|
|
5
|
+
> 방법: 코드베이스 자동 스캔
|
|
6
|
+
|
|
7
|
+
## 검증 프로세스
|
|
8
|
+
|
|
9
|
+
### 1단계: 토큰 목록 추출
|
|
10
|
+
|
|
11
|
+
design/tokens/ 디렉토리에서 정의된 토큰 목록을 추출합니다.
|
|
12
|
+
|
|
13
|
+
#### CSS Custom Properties
|
|
14
|
+
|
|
15
|
+
Read design/tokens/variables.css
|
|
16
|
+
→ `--`로 시작하는 모든 프로퍼티 이름 추출
|
|
17
|
+
→ 예: --color-primary, --spacing-4, --radius-md
|
|
18
|
+
|
|
19
|
+
#### Tailwind 확장 클래스
|
|
20
|
+
|
|
21
|
+
Read tailwind.config.js (또는 .ts)
|
|
22
|
+
→ theme.extend 내의 커스텀 키 추출
|
|
23
|
+
→ 예: bg-primary, shadow-card, text-heading
|
|
24
|
+
|
|
25
|
+
#### 시맨틱 토큰
|
|
26
|
+
|
|
27
|
+
Read design/tokens/visual.css (있는 경우)
|
|
28
|
+
→ --surface-*, --text-*, --border-* 패턴 추출
|
|
29
|
+
|
|
30
|
+
### 2단계: 코드베이스 스캔
|
|
31
|
+
|
|
32
|
+
src/ 디렉토리 전체를 Grep으로 스캔합니다.
|
|
33
|
+
|
|
34
|
+
각 토큰에 대해:
|
|
35
|
+
- Grep pattern: 토큰 이름 (예: --color-primary, bg-primary)
|
|
36
|
+
- 스캔 대상: *.css, *.scss, *.tsx, *.jsx, *.vue, *.svelte, *.html
|
|
37
|
+
- 결과: 사용 횟수 집계
|
|
38
|
+
|
|
39
|
+
### 3단계: 판정
|
|
40
|
+
|
|
41
|
+
| 사용 횟수 | 판정 |
|
|
42
|
+
|----------|------|
|
|
43
|
+
| 0회 | ❌ 미적용 |
|
|
44
|
+
| 1회 이상 | ✅ 적용 |
|
|
45
|
+
|
|
46
|
+
### 4단계: 연결 검증
|
|
47
|
+
|
|
48
|
+
#### globals.css import 확인
|
|
49
|
+
|
|
50
|
+
Grep으로 globals.css (또는 main CSS 파일)에서 확인:
|
|
51
|
+
- @import "../../design/tokens/variables.css" 또는 동등한 import 존재?
|
|
52
|
+
- @import "../../design/tokens/visual.css" 존재?
|
|
53
|
+
|
|
54
|
+
| 결과 | 판정 |
|
|
55
|
+
|------|------|
|
|
56
|
+
| import 존재 | ✅ 연결됨 |
|
|
57
|
+
| import 없음 | ❌ 미연결 — "globals.css에 토큰 import가 없습니다" |
|
|
58
|
+
|
|
59
|
+
#### tailwind.config 머지 확인
|
|
60
|
+
|
|
61
|
+
tailwind.config 파일에서:
|
|
62
|
+
- boxShadow, animation, backgroundImage 등에 토큰 값이 머지되었는가?
|
|
63
|
+
- colors.extend에 시맨틱 컬러가 포함되었는가?
|
|
64
|
+
|
|
65
|
+
## 출력 형식
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
■ 토큰 적용 현황
|
|
69
|
+
CSS Variables: 32/35 (91.4%)
|
|
70
|
+
✅ --color-primary (12회)
|
|
71
|
+
✅ --color-secondary (8회)
|
|
72
|
+
❌ --color-tertiary (0회)
|
|
73
|
+
...
|
|
74
|
+
|
|
75
|
+
Tailwind 확장: 15/17 (88.2%)
|
|
76
|
+
✅ bg-primary (23회)
|
|
77
|
+
❌ shadow-card (0회)
|
|
78
|
+
...
|
|
79
|
+
|
|
80
|
+
연결 상태:
|
|
81
|
+
✅ globals.css → variables.css import
|
|
82
|
+
✅ globals.css → visual.css import
|
|
83
|
+
✅ tailwind.config → 토큰 머지
|
|
84
|
+
```
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: test-skill
|
|
3
|
-
version: 1.0.0
|
|
4
|
-
description: A sample skill for testing the installer
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Test Skill
|
|
8
|
-
|
|
9
|
-
This is a test skill for OpenClaw.
|
|
10
|
-
|
|
11
|
-
## Instructions
|
|
12
|
-
|
|
13
|
-
When the user asks you to run the test skill, respond with "Test skill is active!"
|