solmate-skills 2.0.3 → 2.0.5

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 (40) hide show
  1. package/AGENTS.md +10 -6
  2. package/README.md +118 -5
  3. package/bin/cli.js +42 -2
  4. package/docs-business/agents/openai.yaml +4 -0
  5. package/docs-dev/SKILL.md +17 -0
  6. package/docs-dev/agents/openai.yaml +4 -0
  7. package/docs-pitch/agents/openai.yaml +4 -0
  8. package/docs-plan/SKILL.md +34 -5
  9. package/docs-plan/agents/openai.yaml +4 -0
  10. package/manage-collaboration/agents/openai.yaml +4 -0
  11. package/manage-decisions/agents/openai.yaml +4 -0
  12. package/manage-skills/SKILL.md +8 -1
  13. package/manage-skills/agents/openai.yaml +4 -0
  14. package/package.json +1 -1
  15. package/role-team-lead/agents/openai.yaml +4 -0
  16. package/role-team-member/agents/openai.yaml +4 -0
  17. package/rules-dev/agents/openai.yaml +4 -0
  18. package/rules-docs/agents/openai.yaml +4 -0
  19. package/rules-product/SKILL.md +105 -6
  20. package/rules-product/agents/openai.yaml +4 -0
  21. package/rules-react/SKILL.md +10 -7
  22. package/rules-react/agents/openai.yaml +4 -0
  23. package/rules-workflow/SKILL.md +17 -2
  24. package/rules-workflow/agents/openai.yaml +4 -0
  25. package/tools-obsidian/agents/openai.yaml +4 -0
  26. package/tools-shadcn/agents/openai.yaml +4 -0
  27. package/verify-code/SKILL.md +17 -1
  28. package/verify-code/agents/openai.yaml +4 -0
  29. package/verify-docs/SKILL.md +38 -5
  30. package/verify-docs/agents/openai.yaml +4 -0
  31. package/verify-drizzle-schema/agents/openai.yaml +4 -0
  32. package/verify-implementation/SKILL.md +66 -12
  33. package/verify-implementation/agents/openai.yaml +4 -0
  34. package/verify-performance/SKILL.md +16 -0
  35. package/verify-performance/agents/openai.yaml +4 -0
  36. package/verify-security/agents/openai.yaml +4 -0
  37. package/verify-skills/SKILL.md +179 -0
  38. package/verify-skills/agents/openai.yaml +4 -0
  39. package/verify-ui/SKILL.md +128 -0
  40. package/verify-ui/agents/openai.yaml +4 -0
@@ -12,6 +12,8 @@ You are a **workflow lead** who guides the user through the full product develop
12
12
  ```
13
13
  Phase 1: 기획문서 → docs-plan (Concept_Design)
14
14
  Phase 2: UI 설계 문서 → docs-plan (UI_Screens)
15
+ UI-First Gate: 화면·동선·데이터 흐름 확인
16
+ Pre-Code Technical Brief: 데이터·API·상태 최소 합의
15
17
  Phase 3: React 변환 → rules-react
16
18
  Phase 4: 개발문서 → docs-dev
17
19
  Phase 5: 품질 검증 → verify-implementation (verify-docs / verify-code / verify-security / verify-performance)
@@ -30,16 +32,28 @@ Run these checks in order:
30
32
  |-------|--------|---------|
31
33
  | `docs/01_Concept_Design/` 존재 여부 | 없으면 Phase 1 미완 | 기획문서 필요 |
32
34
  | `docs/02_UI_Screens/` 존재 여부 | 없으면 Phase 2 미완 | UI 설계 필요 |
35
+ | UI-First Gate 확인 여부 | 없으면 Phase 3 진입 보류 | 화면·동선·데이터 흐름 확인 필요 |
36
+ | Pre-Code Technical Brief 여부 | 없으면 Phase 3 진입 보류 | 최소 기술 합의 필요 |
33
37
  | `src/components/` 또는 React 코드 존재 여부 | 없으면 Phase 3 미완 | React 개발 필요 |
34
38
  | `docs/03_Technical_Specs/` 존재 여부 | 없으면 Phase 4 미완 | 개발문서 필요 |
35
39
  | verify-* 스킬 실행 이력 또는 사용자 확인 여부 | 없으면 Phase 5 미완 | 품질 검증 필요 |
36
40
 
37
- 진단 결과를 다음 형식으로 보고한다:
41
+ 진단 결과는 항상 아래 `Flow Status Block` 형식으로 보고한다. 새 작업 시작, Phase 전환, 구현 시작 전, 검증 시작 전, 최종 보고 시에도 같은 형식을 짧게 반복한다.
38
42
 
39
43
  ```
40
- 현재 단계: Phase N — [단계명]
41
- 완료된 단계: Phase 1, 2, ...
42
- 다음 액션: [구체적 지시]
44
+ [Flow]
45
+ 현재: Phase N [단계명]
46
+ Gate: [진행 중 / 통과 / 미통과 / N/A]
47
+ 완료: [완료된 Phase 또는 없음]
48
+ 다음: [다음 Phase 또는 Gate]
49
+ 필요 확인: [막힌 조건 또는 확인할 항목]
50
+ 권장 스킬: /skill-name
51
+ ```
52
+
53
+ 일상적인 중간 답변에서는 한 줄 축약형을 쓸 수 있다:
54
+
55
+ ```
56
+ 현재 위치: Phase N — [단계명] / Gate: [상태] / 다음: [다음 액션]
43
57
  ```
44
58
 
45
59
  사용자가 특정 단계를 명시한 경우 그 단계로 바로 이동한다.
@@ -68,6 +82,8 @@ Run these checks in order:
68
82
  Phase 1 완료 확인 후 다음을 묻는다:
69
83
  > "Phase 1 문서가 완성되었습니다. Phase 2(UI 설계 문서)로 넘어갈까요? 또는 기획문서를 바탕으로 파생 문서(피치덱, 사업계획서)를 먼저 작성할 수도 있습니다."
70
84
 
85
+ Phase 1 완료 보고에는 `Flow Status Block`을 포함한다.
86
+
71
87
  ---
72
88
 
73
89
  ### Phase 1 파생 문서 (선택, 순서 무관)
@@ -112,6 +128,11 @@ Phase 1이 완료된 후 언제든 작성 가능하다. Phase 2 진입과 독립
112
128
  **Gate Out** (다음 단계 진입 조건):
113
129
  - [ ] `docs/02_UI_Screens/00_SCREEN_FLOW.md` 존재
114
130
  - [ ] `docs/02_UI_Screens/01_UI_DESIGN.md` 존재
131
+ - [ ] 주요 화면 목록과 화면별 목적이 정의됨
132
+ - [ ] 사용자 진입·이탈·전환 동선이 정의됨
133
+ - [ ] 화면별 입력 데이터, 출력 데이터, 상태 변화가 정의됨
134
+ - [ ] 로딩·빈 상태·오류 상태가 정의됨
135
+ - [ ] 사용자가 화면/UI를 먼저 확인했거나, 확인할 수 있는 프로토타입/스크린샷/리뷰 문서가 있음
115
136
 
116
137
  **위임 지시**:
117
138
 
@@ -121,8 +142,53 @@ Phase 1이 완료된 후 언제든 작성 가능하다. Phase 2 진입과 독립
121
142
  참조 문서: docs/01_Concept_Design/ 전체 읽기 후 시작
122
143
  ```
123
144
 
124
- Phase 2 완료 확인 후 다음을 묻는다:
125
- > "Phase 2 문서가 완성되었습니다. Phase 3(React 변환 개발)으로 넘어갈까요?"
145
+ Phase 2 완료 후 곧바로 코딩하지 않는다. 먼저 UI-First Gate를 확인하고 다음을 묻는다:
146
+ > "화면 구조, 사용자 동선, 데이터 흐름, 로딩/빈/오류 상태를 먼저 확인했습니다. 현재 단계에서 더 구체화하거나 보완할 점이 있을까요?"
147
+
148
+ Phase 2 완료 보고에는 `Flow Status Block`을 포함하고, 다음 위치가 `UI-First Gate`임을 명시한다.
149
+
150
+ ---
151
+
152
+ ## UI-First Gate: 화면·동선·데이터 흐름 확인
153
+
154
+ **목표**: 구동 코드 작성 전에 실제 화면 기준으로 사용 흐름과 데이터 흐름을 합의한다. 이 게이트를 통과하기 전에는 Phase 3 구현을 시작하지 않는다.
155
+
156
+ **필수 확인 항목**:
157
+ - [ ] 주요 화면과 화면별 목적
158
+ - [ ] 사용자 진입 경로, 다음 행동, 이탈 경로
159
+ - [ ] 화면별 CTA와 인터랙션
160
+ - [ ] 화면별 입력 데이터, 출력 데이터, 상태 변화
161
+ - [ ] 로딩, 빈 상태, 오류 상태, 권한 없음 상태
162
+ - [ ] 모바일·데스크톱에서 구조 차이가 큰 구간
163
+ - [ ] 사용자 또는 의사결정권자가 화면/UI를 먼저 확인한 기록
164
+
165
+ **Gate Out**:
166
+ - [ ] `00_SCREEN_FLOW.md`에 사용자 여정과 전환 흐름이 기록됨
167
+ - [ ] `01_UI_DESIGN.md` 또는 `XX_PROTOTYPE_REVIEW.md`에 화면 상태와 피드백이 기록됨
168
+ - [ ] 필요한 경우 `docs/04_Logic_Progress/00_BACKLOG.md`의 작업 항목에 UI 확인 결과가 반영됨
169
+
170
+ UI-First Gate 보고에는 `Flow Status Block`을 포함하고, 다음 위치가 `Pre-Code Technical Brief`임을 명시한다.
171
+
172
+ ---
173
+
174
+ ## Pre-Code Technical Brief: 데이터·API·상태 최소 합의
175
+
176
+ **목표**: UI 확인 후 바로 코딩하지 않고, 구현에 필요한 최소 기술 계약을 먼저 정한다. 완전한 기술 명세가 아니어도 되지만, React 구현이 임의의 데이터 구조와 상태 흐름을 만들지 않도록 한다.
177
+
178
+ **필수 확인 항목**:
179
+ - [ ] 화면별 데이터 소스: mock data, API, DB, 외부 서비스 중 무엇인가?
180
+ - [ ] 화면별 입력·출력 데이터의 최소 필드
181
+ - [ ] 주요 mutation: 생성, 수정, 삭제, 제출, 업로드 등
182
+ - [ ] 상태 관리 방식: local state, URL state, server state, global store 중 무엇인가?
183
+ - [ ] API/DB가 필요한 경우 임시 계약 또는 문서 위치
184
+ - [ ] Acceptance Criteria: 구현 완료를 판단할 사용자 시나리오
185
+
186
+ **Gate Out**:
187
+ - [ ] `docs/03_Technical_Specs/` 문서가 있으면 관련 계약이 반영됨
188
+ - [ ] 기술 문서가 아직 없으면 백로그의 `Implementation Preconditions` 또는 `Acceptance Criteria`에 최소 계약이 기록됨
189
+ - [ ] 구현자가 mock data 구조와 실제 데이터 전환 방식을 설명할 수 있음
190
+
191
+ Pre-Code Technical Brief 보고에는 `Flow Status Block`을 포함하고, 다음 위치가 `Phase 3 — React 변환`임을 명시한다.
126
192
 
127
193
  ---
128
194
 
@@ -132,6 +198,9 @@ Phase 2 완료 확인 후 다음을 묻는다:
132
198
 
133
199
  **Gate In**:
134
200
  - Phase 2 문서 (`02_UI_Screens/`) 존재
201
+ - UI-First Gate 통과
202
+ - 화면·동선·데이터 흐름 확인 결과가 백로그 또는 UI 문서에 반영됨
203
+ - Pre-Code Technical Brief 통과
135
204
 
136
205
  **Gate Out** (다음 단계 진입 조건):
137
206
  - [ ] `src/components/` 에 주요 컴포넌트 존재
@@ -149,6 +218,8 @@ Phase 2 완료 확인 후 다음을 묻는다:
149
218
  Phase 3 완료 확인 후 다음을 묻는다:
150
219
  > "Phase 3이 완료되었습니다. Phase 4(개발문서)로 넘어갈까요?"
151
220
 
221
+ Phase 3 완료 보고에는 `Flow Status Block`을 포함한다.
222
+
152
223
  ---
153
224
 
154
225
  ## Phase 4: 개발문서 (Technical_Specs / Logic_Progress / QA_Validation)
@@ -176,6 +247,8 @@ Phase 3 완료 확인 후 다음을 묻는다:
176
247
  Phase 4 완료 확인 후 다음을 묻는다:
177
248
  > "Phase 4 문서가 완성되었습니다. Phase 5(품질 검증)로 넘어갈까요?"
178
249
 
250
+ Phase 4 완료 보고에는 `Flow Status Block`을 포함한다.
251
+
179
252
  ---
180
253
 
181
254
  ## Phase 5: Quality Gate (품질 검증)
@@ -188,10 +261,12 @@ Phase 4 완료 확인 후 다음을 묻는다:
188
261
 
189
262
  **Gate Out** (다음 단계 진입 조건):
190
263
  - [ ] `verify-docs` PASS — 문서 구조·메타데이터 정합성
264
+ - [ ] `verify-ui` PASS — 구현 UI와 화면 문서·사용자 동선·상태별 UI 정합성
191
265
  - [ ] `verify-code` PASS — 코드 품질 (로직, 타입, 중복, 사이드 이펙트)
192
266
  - [ ] `verify-security` PASS — OWASP Top 10 기준 보안 이슈 없음
193
267
  - [ ] `verify-performance` PASS — Lighthouse Performance 90+, Core Web Vitals 기준 충족
194
268
  - [ ] `verify-drizzle-schema` PASS — DB 스키마 정합성 (DB 사용 시)
269
+ - [ ] `verify-skills` PASS — 스킬 패키지 변경 시 메타데이터·CLI·패키징 정합성
195
270
 
196
271
  **위임 지시**:
197
272
 
@@ -204,6 +279,8 @@ FAIL 항목 발견 시: 해당 스킬로 돌아가 수정 후 재검증
204
279
  FAIL 항목이 있으면 해당 Phase로 되돌아가 수정 후 재실행한다. 모든 항목 PASS 확인 후 다음을 묻는다:
205
280
  > "모든 검증을 통과했습니다. Phase 6(최종 전달물)으로 넘어갈까요?"
206
281
 
282
+ Phase 5 검증 보고에는 `Flow Status Block`을 포함하고, Fail이 있으면 `필요 확인`에 차단 항목을 적는다.
283
+
207
284
  ---
208
285
 
209
286
  ## Phase 6: 최종 전달물 (선택)
@@ -230,6 +307,14 @@ FAIL 항목이 있으면 해당 Phase로 되돌아가 수정 후 재실행한다
230
307
  전체 파이프라인 완료 후 최종 보고:
231
308
 
232
309
  ```
310
+ [Flow]
311
+ 현재: Phase 6 — 최종 전달물 또는 Handoff
312
+ Gate: 완료
313
+ 완료: Phase 1, Phase 2, UI-First Gate, Pre-Code Technical Brief, Phase 3, Phase 4, Phase 5
314
+ 다음: 사용자 선택 후속 작업
315
+ 필요 확인: 남은 TODO 또는 없음
316
+ 권장 스킬: /docs-pitch 또는 /docs-business (선택)
317
+
233
318
  전체 워크플로우 완료
234
319
  - Phase 1: docs/01_Concept_Design/ 기획문서
235
320
  - Phase 2: docs/02_UI_Screens/ UI 설계 문서
@@ -239,6 +324,18 @@ FAIL 항목이 있으면 해당 Phase로 되돌아가 수정 후 재실행한다
239
324
  - Phase 6: docs-pitch / docs-business 최종 전달물 (선택)
240
325
  ```
241
326
 
327
+ ## Final Handoff Checklist
328
+
329
+ Phase 6이 선택 사항이어도, 작업을 마무리할 때는 아래 항목을 최종 보고에 포함한다.
330
+
331
+ - [ ] 현재 Phase와 완료된 Phase 목록
332
+ - [ ] 구현 또는 문서 산출물 경로
333
+ - [ ] UI-First Gate와 Pre-Code Technical Brief 충족 여부
334
+ - [ ] 실행한 verify 스킬과 결과
335
+ - [ ] 배포 URL 또는 로컬 실행 방법 (해당 시)
336
+ - [ ] 남은 TODO, Known Issue, 문서-구현 불일치 여부
337
+ - [ ] 다음 작업자가 바로 이어갈 수 있는 다음 액션
338
+
242
339
  ---
243
340
 
244
341
  ## Anti-Rush Rules (AGENTS.md 준수)
@@ -261,8 +358,10 @@ FAIL 항목이 있으면 해당 Phase로 되돌아가 수정 후 재실행한다
261
358
  - **rules-react**: Phase 3 React 개발
262
359
  - **docs-dev**: Phase 4 기술 문서 작성
263
360
  - **verify-implementation**: Phase 5 품질 검증 통합 실행
361
+ - **verify-ui**: Phase 5 UI 정합성 검증
264
362
  - **verify-code**: Phase 5 코드 품질 리뷰
265
363
  - **verify-security**: Phase 5 보안 점검
266
364
  - **verify-performance**: Phase 5 성능 점검
365
+ - **verify-skills**: 스킬 패키지 변경 검증
267
366
  - **docs-pitch**: Phase 6 피치덱 작성
268
367
  - **docs-business**: Phase 6 사업계획서 작성
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Product Workflow"
3
+ short_description: "Orchestrate planning, UI, docs, and QA phases"
4
+ default_prompt: "Use $rules-product to diagnose the current product phase and choose the next skill."
@@ -8,7 +8,8 @@ description: Create modular, premium React components and pages based on UI desi
8
8
  You are a senior frontend engineer focused on transforming UI designs into clean, premium, and performant React code. You follow a modular approach and use modern best practices.
9
9
 
10
10
  ## 1. Input Sources
11
- - **docs-plan Layer 2**: Read `docs/02_UI_Screens/01_UI_DESIGN.md` for tokens and `XX_PROTOTYPE_REVIEW.md` for layout details.
11
+ - **docs-plan Layer 2**: Read `docs/02_UI_Screens/00_SCREEN_FLOW.md`, `01_UI_DESIGN.md`, and relevant `XX_PROTOTYPE_REVIEW.md` files before coding.
12
+ - **UI-First Gate**: Confirm screen structure, user path, data flow, and loading/empty/error states before writing React code.
12
13
  - **rules-dev**: Follow coding standards, file naming, and state management rules.
13
14
  - **Vercel Best Practices**: Follow the provided skills for performance and composition patterns.
14
15
 
@@ -21,11 +22,13 @@ You are a senior frontend engineer focused on transforming UI designs into clean
21
22
  * **Aesthetics**: Implement rich aesthetics, smooth transitions, and premium typography as per the "Web Application Development" guidelines.
22
23
 
23
24
  ## 3. Execution steps
24
- 1. **Analyze Design**: Read the UI Screens documentation and technical specs. Identify components, state requirements, and interactive elements.
25
- 2. **Draft Logic**: Decide on state management and hook structure.
26
- 3. **Data layer**: Prepare mock data or data fetching logic.
27
- 4. **Implement UI**: Build components starting from the most granular (atoms) to full pages.
28
- 5. **Quality check**:
25
+ 1. **Analyze Screens First**: Read the UI Screens documentation and confirm the target screens, user paths, CTA behavior, and responsive differences.
26
+ 2. **Map Data Flow**: Identify each screen's inputs, displayed data, mutations, and loading/empty/error states.
27
+ 3. **Confirm Before Code**: If screen flow or state coverage is missing, pause implementation and request `docs-plan` or `docs-dev` updates.
28
+ 4. **Draft Logic**: Decide on state management and hook structure.
29
+ 5. **Data layer**: Prepare mock data or data fetching logic.
30
+ 6. **Implement UI**: Build components starting from the most granular (atoms) to full pages.
31
+ 7. **Quality check**:
29
32
  - Verify against accessibility standards.
30
33
  - Check performance (avoid unnecessary re-renders).
31
34
  - Ensure responsive design works across all target devices.
@@ -36,4 +39,4 @@ You are a senior frontend engineer focused on transforming UI designs into clean
36
39
  - **rules-dev**: Development standards and conventions.
37
40
  - **docs-dev**: Technical specs and backend integration details.
38
41
  - **vercel-react-best-practices**: Performance optimization.
39
- - **vercel-composition-patterns**: Reusable component architecture.
42
+ - **vercel-composition-patterns**: Reusable component architecture.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "React Rules"
3
+ short_description: "Build modular premium React components"
4
+ default_prompt: "Use $rules-react to implement UI screens as modular, typed React components."
@@ -9,13 +9,25 @@ Follow this workflow for feature implementation and significant code changes. Co
9
9
 
10
10
  ---
11
11
 
12
+ ## Step 0: Product Phase Preflight
13
+
14
+ 기능 구현을 시작하기 전, 먼저 `rules-product` 기준으로 현재 프로젝트 Phase를 진단한다. Concept, UI, UI-First Gate, Pre-Code Technical Brief 중 하나라도 누락되어 구현 판단이 불안정하면 코딩을 시작하지 않고 해당 문서 또는 백로그 보완을 제안한다.
15
+
16
+ - 체크: [ ] 현재 Phase를 진단했는가? [ ] UI-First Gate가 충족되었는가? [ ] 최소 기술 계약이 확인되었는가?
17
+
18
+ 진단 결과는 `rules-product`의 `Flow Status Block` 형식으로 먼저 보고한다. 구현 단계 중 사용자가 "지금 어디야?", "다음 뭐야?", "현재 단계가 뭐야?"라고 묻거나 Phase 1-6 경계에 도달하면 같은 형식을 다시 출력한다.
19
+
20
+ ---
21
+
12
22
  ## Phase 1: Plan (Steps 1–4)
13
23
 
14
24
  ### Step 1. 계획 수립
15
25
  - 요구사항·목적을 문서 또는 이슈 기준으로 정리한다.
16
26
  - 백로그 항목이 있으면 `Related Concept Docs`, `Related UI Docs`, `Related Technical Docs`, `Related QA Docs`를 먼저 읽고 구현 입력값으로 요약한다.
27
+ - 코드 작성보다 먼저 UI-First Gate를 확인한다. 화면 구조, 사용자 동선, 데이터 흐름, 로딩·빈 상태·오류 상태가 문서화되지 않았으면 구현 계획을 보류하고 `docs-plan` 또는 `docs-dev` 문서 보완을 제안한다.
28
+ - Pre-Code Technical Brief를 확인한다. 데이터 소스, 최소 필드, mutation, 상태 관리 방식, acceptance criteria가 불명확하면 구현 전에 사용자와 합의한다.
17
29
  - 변경할 파일·추가할 컴포넌트·API·DB 영향 범위를 나열한다.
18
- - 체크: [ ] 목적이 명확한가? [ ] 관련 문서를 읽었는가? [ ] 영향 범위가 정리되었는가?
30
+ - 체크: [ ] 목적이 명확한가? [ ] 관련 문서를 읽었는가? [ ] UI-First Gate가 확인되었는가? [ ] 최소 기술 계약이 확인되었는가? [ ] 영향 범위가 정리되었는가?
19
31
 
20
32
  ### Step 2. 계획 검토
21
33
  - 계획이 요구사항과 일치하는지, 누락된 시나리오는 없는지 검토한다.
@@ -36,7 +48,9 @@ Follow this workflow for feature implementation and significant code changes. Co
36
48
  ### Step 5. 구현
37
49
  - 승인된 계획대로 구현한다. AGENTS.md·프로젝트 컨벤션(커밋, Zod, Luxon 등)을 따른다.
38
50
  - 코드 작성 전 백로그 항목의 `Implementation Preconditions`와 `Acceptance Criteria`를 확인한다. 관련 문서 링크가 비어 있거나 `N/A - 사유`가 부실하면 구현을 보류하고 문서 보완 필요 여부를 사용자에게 확인한다.
39
- - 체크: [ ] 계획 대비 변경 사항이 일치하는가? [ ] 백로그의 관련 문서 기준을 반영했는가?
51
+ - UI-First Gate가 통과되지 않았거나 사용자가 화면/UI를 먼저 확인하지 않았다면 구현을 시작하지 않는다.
52
+ - 구현을 시작하기 직전에 `Flow Status Block`을 출력하고, 현재 위치가 `Phase 3 — React 변환` 또는 해당 기능 구현 단계인지 명시한다.
53
+ - 체크: [ ] 계획 대비 변경 사항이 일치하는가? [ ] 백로그의 관련 문서 기준을 반영했는가? [ ] 화면·동선·데이터 흐름 확인 후 구현했는가?
40
54
 
41
55
  ---
42
56
 
@@ -97,6 +111,7 @@ Follow this workflow for feature implementation and significant code changes. Co
97
111
 
98
112
  ### Step 17. 배포 가능 퀄리티 최종 검토
99
113
  - "이대로 배포해도 될 수준인가?"를 한 번 더 검토한다. 1–16단계에서 누락된 항목이 없는지 확인한다.
114
+ - 최종 검토 시 `Flow Status Block`을 출력하고, 다음 위치가 `Phase 6 — Ship/Handoff`인지 명시한다.
100
115
  - 체크: [ ] 배포 전 필수 조건 충족 [ ] 롤백·모니터링 고려 여부
101
116
 
102
117
  ---
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Implementation Workflow"
3
+ short_description: "Follow the full implementation lifecycle"
4
+ default_prompt: "Use $rules-workflow to plan, implement, verify, and prepare this feature for shipping."
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Obsidian Sync"
3
+ short_description: "Synchronize project docs with Obsidian"
4
+ default_prompt: "Use $tools-obsidian to verify or set up documentation sync with an Obsidian vault."
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "shadcn UI Tools"
3
+ short_description: "Use and validate shadcn/ui components"
4
+ default_prompt: "Use $tools-shadcn to install, compose, or validate shadcn/ui components."
@@ -6,7 +6,7 @@ argument-hint: "[선택사항: 리뷰할 파일 경로 또는 기능명]"
6
6
 
7
7
  # 코드 리뷰 스킬 (verify-code)
8
8
 
9
- PR 또는 커밋 전 코드 품질을 종합적으로 점검합니다. 구현이 완료된 코드를 대상으로 아래 6개 영역을 순서대로 검토하고 발견된 이슈를 보고합니다.
9
+ PR 또는 커밋 전 코드 품질을 종합적으로 점검합니다. 구현이 완료된 코드를 대상으로 아래 7개 영역을 순서대로 검토하고 발견된 이슈를 보고합니다.
10
10
 
11
11
  ---
12
12
 
@@ -101,6 +101,20 @@ git diff --name-only HEAD
101
101
 
102
102
  ---
103
103
 
104
+ ## Area 7: UI-First 구현 정합성
105
+
106
+ TSX/JSX 화면 또는 컴포넌트 변경이 있으면 `docs/02_UI_Screens/`와 관련 백로그를 확인한다. 상세 UI 검증이 필요하면 `verify-ui`로 위임한다.
107
+
108
+ - 구현된 화면이 UI 문서의 화면 구조, 사용자 동선, CTA와 일치하는지 확인한다.
109
+ - 로딩, 빈 상태, 오류 상태, 권한 없음 상태가 빠지지 않았는지 확인한다.
110
+ - 화면에서 사용하는 데이터가 문서의 입력·출력·저장 흐름과 충돌하지 않는지 확인한다.
111
+ - 체크:
112
+ - [ ] UI-First Gate 문서 또는 백로그를 기준으로 구현했는가?
113
+ - [ ] 상태별 UI가 구현되어 있는가?
114
+ - [ ] 구현이 문서와 달라졌다면 관련 문서를 업데이트했는가?
115
+
116
+ ---
117
+
104
118
  ## 보고 형식
105
119
 
106
120
  리뷰 결과는 다음 형식으로 보고한다:
@@ -116,6 +130,7 @@ git diff --name-only HEAD
116
130
  |------|------|------|:------:|
117
131
  | src/foo.ts:42 | 타입 안전성 | API 응답에 any 사용 | 중 |
118
132
  | src/bar.tsx:15 | 불필요 코드 | console.log 미제거 | 낮음 |
133
+ | src/page.tsx:30 | UI-First 정합성 | Error state 미구현 | 중 |
119
134
 
120
135
  ### 수정 권장 우선순위
121
136
  1. [높음] ...
@@ -131,4 +146,5 @@ git diff --name-only HEAD
131
146
 
132
147
  - `rules-dev`: 프로젝트 코딩 컨벤션 기준
133
148
  - `rules-workflow`: Step 14 코드 품질 검토와 연동
149
+ - `verify-ui`: 화면 문서와 구현 UI 일치 여부 검증
134
150
  - `verify-security`: 보안 관련 이슈는 이 스킬로 위임
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Code Verification"
3
+ short_description: "Review code quality before commit or PR"
4
+ default_prompt: "Use $verify-code to review changed code for logic, typing, reuse, and side effects."
@@ -12,8 +12,10 @@ description: 프로젝트 문서가 5단계 구조(01~05)와 메타데이터 표
12
12
  2. 메타데이터 표준 (Created / Last Updated)
13
13
  3. Related Documents 섹션
14
14
  4. Backlog Context Lock
15
- 5. Rubric-First Writing
16
- 6. rules-product Gate Out 조건
15
+ 5. UI-First Gate
16
+ 6. Pre-Code Technical Brief
17
+ 7. Rubric-First Writing
18
+ 8. rules-product Gate Out 조건
17
19
 
18
20
  ## 실행 시점
19
21
 
@@ -69,10 +71,37 @@ AGENTS.md 또는 `docs/01_Concept_Design/00_COLLABORATION_GUIDE.md`를 읽어
69
71
  - [ ] 각 작업 항목에 `Document Sync Check`가 있는가?
70
72
  - [ ] Related 필드의 링크가 상대 경로이거나 `N/A - 사유` 형식인가?
71
73
  - [ ] `N/A`만 있고 사유가 없는 항목은 없는가?
74
+ - [ ] `Implementation Preconditions`에 화면/UI 선확인, 사용자 동선 확인, 데이터 흐름 확인, 로딩·빈 상태·오류 상태 확인이 포함되어 있는가?
75
+ - [ ] `Implementation Preconditions` 또는 `Acceptance Criteria`에 데이터 소스, 최소 필드, mutation, 상태 관리 방식, 검증 가능한 acceptance criteria가 포함되어 있는가?
72
76
 
73
77
  위 항목 중 하나라도 누락되면 Backlog Context Lock은 Fail로 처리한다.
74
78
 
75
- ### Step 5: Rubric-First Writing 검사
79
+ ### Step 5: UI-First Gate 검사
80
+
81
+ `docs/02_UI_Screens/`와 `docs/04_Logic_Progress/00_BACKLOG.md`를 함께 확인한다.
82
+
83
+ 체크 항목:
84
+ - [ ] `00_SCREEN_FLOW.md`에 주요 화면, 진입·전환·이탈 동선이 있는가?
85
+ - [ ] `00_SCREEN_FLOW.md` 또는 관련 UI 문서에 화면별 입력·출력 데이터가 있는가?
86
+ - [ ] `01_UI_DESIGN.md` 또는 `XX_PROTOTYPE_REVIEW.md`에 로딩·빈 상태·오류 상태가 있는가?
87
+ - [ ] `XX_PROTOTYPE_REVIEW.md` 또는 백로그에 사용자의 화면/UI 선확인 기록이 있는가?
88
+ - [ ] 코드 구현 백로그가 UI 확인 없이 `In Progress` 또는 `Done`으로 이동하지 않았는가?
89
+
90
+ 구현 판단에 필요한 화면·동선·데이터 흐름이 누락되면 UI-First Gate는 Fail로 처리한다.
91
+
92
+ ### Step 6: Pre-Code Technical Brief 검사
93
+
94
+ `docs/03_Technical_Specs/`와 `docs/04_Logic_Progress/00_BACKLOG.md`를 함께 확인한다.
95
+
96
+ 체크 항목:
97
+ - [ ] 구현 대상 화면의 데이터 소스가 정리되어 있는가?
98
+ - [ ] 화면별 최소 필드와 mock data 또는 API 계약이 있는가?
99
+ - [ ] mutation과 상태 관리 방식이 기록되어 있는가?
100
+ - [ ] acceptance criteria가 사용자 시나리오 기준으로 검증 가능한가?
101
+
102
+ 데이터·API·상태 계약이 없어 구현자가 임의 구조를 만들 수밖에 없으면 Pre-Code Technical Brief는 Fail로 처리한다.
103
+
104
+ ### Step 7: Rubric-First Writing 검사
76
105
 
77
106
  | 레이어 | 기준 |
78
107
  |:---|:---|
@@ -82,7 +111,7 @@ AGENTS.md 또는 `docs/01_Concept_Design/00_COLLABORATION_GUIDE.md`를 읽어
82
111
  | Technical_Specs (Layer 3) | Functionality, UX (latency), Open-source 언급 (권장) |
83
112
  | Logic_Progress (Layer 4) | Functionality, UX 언급 (권장) |
84
113
 
85
- ### Step 6: Gate Out 조건 검사
114
+ ### Step 8: Gate Out 조건 검사
86
115
 
87
116
  rules-product 기준으로 각 Phase의 필수 문서 존재 여부를 확인한다.
88
117
 
@@ -94,13 +123,15 @@ rules-product 기준으로 각 Phase의 필수 문서 존재 여부를 확인한
94
123
  **Phase 2 (UI 설계)**:
95
124
  - [ ] `docs/02_UI_Screens/00_SCREEN_FLOW.md`
96
125
  - [ ] `docs/02_UI_Screens/01_UI_DESIGN.md`
126
+ - [ ] 화면·동선·데이터 흐름·상태별 UI 확인 기록
127
+ - [ ] Pre-Code Technical Brief 기록
97
128
 
98
129
  **Phase 5 (개발문서)**:
99
130
  - [ ] `docs/03_Technical_Specs/00_DEVELOPMENT_PRINCIPLES.md`
100
131
  - [ ] `docs/04_Logic_Progress/00_ROADMAP.md`
101
132
  - [ ] `docs/05_QA_Validation/02_QA_CHECKLIST.md`
102
133
 
103
- ### Step 7: 검증 보고서 출력
134
+ ### Step 9: 검증 보고서 출력
104
135
 
105
136
  검사 완료 후 아래 형식으로 결과를 출력한다:
106
137
 
@@ -114,6 +145,8 @@ rules-product 기준으로 각 Phase의 필수 문서 존재 여부를 확인한
114
145
  | 메타데이터 | Pass / Fail | 누락 파일 목록 |
115
146
  | Related Documents | Pass / Fail | 미연결 파일 목록 |
116
147
  | Backlog Context Lock | Pass / Fail | 필수 필드 누락 작업 목록 |
148
+ | UI-First Gate | Pass / Fail | 화면·동선·데이터 흐름 누락 목록 |
149
+ | Pre-Code Technical Brief | Pass / Fail | 데이터·API·상태 계약 누락 목록 |
117
150
  | Rubric-First | Pass / Fail | |
118
151
  | Gate Out 조건 | Pass / Fail | 미충족 파일 목록 |
119
152
 
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Docs Verification"
3
+ short_description: "Audit documentation structure and metadata"
4
+ default_prompt: "Use $verify-docs to audit the five-layer docs structure and metadata fields."
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Drizzle Schema Verification"
3
+ short_description: "Check Drizzle schema and spec alignment"
4
+ default_prompt: "Use $verify-drizzle-schema to compare Drizzle schema changes against the technical docs."
@@ -5,35 +5,89 @@ disable-model-invocation: true
5
5
  argument-hint: "[선택사항: 특정 verify 스킬 이름]"
6
6
  ---
7
7
 
8
- # 구현 검증 (Master Template)
8
+ # 구현 검증 (Master)
9
9
 
10
10
  ## 목적
11
11
 
12
- 프로젝트에 존재하는 모든 `verify-*` 스킬을 동적으로 탐색하여 순차적으로 실행하고 통합 검증을 수행합니다.
12
+ 프로젝트에 존재하는 모든 `verify-*` 스킬을 동적으로 탐색하여 순차적으로 실행하고 통합 검증을 수행합니다. 기본 순서를 따르되, 변경 파일과 프로젝트 특성에 따라 해당 없는 스킬은 `N/A - 사유`로 기록합니다.
13
13
 
14
- ## 실행 대상 스킬 (Dynamic)
14
+ ## 기본 실행 순서
15
15
 
16
- | # | 스킬 | 설명 |
17
- |---|------|------|
18
- | * | `verify-*` | `.agent/skills` 또는 `.claude/commands`에서 자동 탐색 |
16
+ | 순서 | 스킬 | 목적 |
17
+ |---:|---|---|
18
+ | 1 | `verify-docs` | 문서 구조, Backlog Context Lock, UI-First Gate 검증 |
19
+ | 2 | `verify-ui` | 구현 UI와 화면 문서, 사용자 동선, 상태별 UI 일치 검증 |
20
+ | 3 | `verify-code` | 코드 품질, 타입, 로직, 사이드 이펙트 검증 |
21
+ | 4 | `verify-security` | 인증·인가·입력·시크릿·OWASP 보안 검증 |
22
+ | 5 | `verify-performance` | Lighthouse, Core Web Vitals, 렌더링·번들 검증 |
23
+ | 6 | `verify-drizzle-schema` | DB 스키마 변경 시 명세·관계·인덱스 검증 |
24
+ | 7 | `verify-skills` | solmate-skills 패키지 자체 변경 시 스킬 메타데이터·CLI·패키징 검증 |
19
25
 
20
26
  ## 워크플로우
21
27
 
28
+ ### Step 0: Flow 위치 확인
29
+ 검증을 시작하기 전에 `rules-product`의 `Flow Status Block` 형식으로 현재 위치를 보고합니다. 일반적으로 현재 위치는 `Phase 5 — 품질 검증`입니다.
30
+
31
+ ```
32
+ [Flow]
33
+ 현재: Phase 5 — 품질 검증
34
+ Gate: Quality Gate 진행 중
35
+ 완료: Phase 1, Phase 2, UI-First Gate, Pre-Code Technical Brief, Phase 3, Phase 4
36
+ 다음: Phase 6 — 최종 전달물 또는 Handoff
37
+ 필요 확인: Fail 항목 또는 N/A 처리 사유
38
+ 권장 스킬: /verify-implementation
39
+ ```
40
+
22
41
  ### Step 1: 동적 스킬 탐색
23
- `.agent/skills/` `.claude/commands/` 하위의 `verify-*` 패턴을 탐색합니다.
42
+ `.agent/skills/`, `.claude/commands/`, 또는 현재 저장소 하위의 `verify-*` 패턴을 탐색합니다.
43
+
44
+ ### Step 2: 변경 파일 기반 실행 계획 수립
45
+ `git diff --name-only HEAD` 기준으로 실행 대상을 정합니다.
24
46
 
25
- ### Step 2: 순차 실행
26
- 스킬의 `Workflow`, `Exceptions`, `Related Files`를 파싱하여 개별 검사를 수행합니다.
47
+ - 문서 변경: `verify-docs`
48
+ - TS/TSX/JS/JSX 변경: `verify-code`
49
+ - TSX/JSX 화면 변경: `verify-ui`
50
+ - auth/api/middleware/env/db 변경: `verify-security`
51
+ - page/layout/image/font/bundle 관련 변경: `verify-performance`
52
+ - schema/migration 변경: `verify-drizzle-schema`
53
+ - `SKILL.md`, `agents/openai.yaml`, `bin/cli.js`, `README.md`, `AGENTS.md`, `package.json` 변경: `verify-skills`
27
54
 
28
- ### Step 3: 통합 보고서 생성
55
+ ### Step 3: 순차 실행
56
+ 기본 실행 순서대로 각 스킬의 `Workflow`, `Exceptions`, `Related Files`를 파싱하여 개별 검사를 수행합니다. 앞 단계가 Fail이면 뒤 단계는 실행하되, 해당 Fail이 뒤 단계 판단을 왜곡하는 경우 `Blocked - 사유`로 표시합니다.
57
+
58
+ ### Step 4: 통합 보고서 생성
29
59
  PASS/FAIL 통계와 발견된 이슈 목록을 생성합니다.
60
+ 보고서 상단에는 `Flow Status Block`을 다시 포함하고, Gate 상태를 `통과`, `미통과`, `Blocked`, `N/A` 중 하나로 표시합니다.
30
61
 
31
- ### Step 4: 수정 옵션 제공
62
+ ### Step 5: 수정 옵션 제공
32
63
  자동 수정 또는 개별 수정을 사용자에게 제안합니다.
33
64
 
34
- ### Step 5: 수정 적용 및 재검증
65
+ ### Step 6: 수정 적용 및 재검증
35
66
  수정이 적용된 경우 해당 스킬을 다시 실행하여 통과 여부를 최종 확인합니다.
36
67
 
68
+ ## 보고 형식
69
+
70
+ ```
71
+ ## 통합 구현 검증 결과
72
+
73
+ | 순서 | 스킬 | 결과 | 비고 |
74
+ |---:|---|:---:|---|
75
+ | 1 | verify-docs | Pass / Fail / N/A | |
76
+ | 2 | verify-ui | Pass / Fail / N/A | |
77
+ | 3 | verify-code | Pass / Fail / N/A | |
78
+ | 4 | verify-security | Pass / Fail / N/A | |
79
+ | 5 | verify-performance | Pass / Fail / N/A | |
80
+ | 6 | verify-drizzle-schema | Pass / Fail / N/A | |
81
+ | 7 | verify-skills | Pass / Fail / N/A | |
82
+
83
+ ### 배포/PR 차단 항목
84
+ - [높음] ...
85
+
86
+ ### 재검증 필요 항목
87
+ - ...
88
+ ```
89
+
37
90
  ## 예외사항
38
91
  1. **자기 자신** (`verify-implementation`)은 실행 대상에서 제외.
39
92
  2. **관리 스킬** (`manage-skills` 등)은 `verify-`로 시작하지 않으므로 제외.
93
+ 3. **해당 없음**: DB, UI, 패키지 메타데이터 등 변경 범위와 관련 없는 검증은 `N/A - 사유`로 기록.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Implementation Verification"
3
+ short_description: "Run all verification skills as one review"
4
+ default_prompt: "Use $verify-implementation to discover and run the relevant verify skills before PR."
@@ -176,6 +176,20 @@ npx lighthouse http://localhost:3000 --view --output=html
176
176
 
177
177
  ---
178
178
 
179
+ ## Check 7: 상태별 UI 성능
180
+
181
+ UI-First Gate에서 정의한 로딩, 빈 상태, 오류 상태가 성능과 레이아웃 안정성을 해치지 않는지 확인한다.
182
+
183
+ - 로딩 스켈레톤 또는 placeholder가 최종 콘텐츠와 유사한 크기를 가져 CLS를 줄이는지 점검한다.
184
+ - 빈 상태와 오류 상태가 이미지·아이콘·폰트를 과도하게 로드하지 않는지 확인한다.
185
+ - 모바일 첫 화면에서 핵심 CTA가 로딩 상태 또는 오류 배너에 밀려 사라지지 않는지 확인한다.
186
+ - 체크:
187
+ - [ ] 로딩 상태가 최종 레이아웃과 유사한 공간을 예약하는가?
188
+ - [ ] 빈/오류 상태가 불필요한 대형 에셋을 초기 로드하지 않는가?
189
+ - [ ] 상태 전환이 CLS 또는 긴 INP를 유발하지 않는가?
190
+
191
+ ---
192
+
179
193
  ## 보고 형식
180
194
 
181
195
  ```
@@ -196,6 +210,7 @@ npx lighthouse http://localhost:3000 --view --output=html
196
210
  |------|-----------|------|:---------:|
197
211
  | src/pages/Home.tsx | 이미지 최적화 | <img> 직접 사용, LCP 지연 가능성 | LCP |
198
212
  | src/app/layout.tsx | 폰트 최적화 | Google Fonts <link> 직접 로드 | CLS·FCP |
213
+ | src/components/List.tsx | 상태별 UI 성능 | Empty state 전환 시 레이아웃 시프트 가능 | CLS |
199
214
 
200
215
  ### 수정 권장 우선순위
201
216
  1. [높음] ...
@@ -216,6 +231,7 @@ npx lighthouse http://localhost:3000 --view --output=html
216
231
  ## 관련 스킬
217
232
 
218
233
  - `verify-code`: 코드 품질 전반 리뷰
234
+ - `verify-ui`: 화면 상태와 사용자 동선 검증
219
235
  - `verify-security`: 보안 취약점 점검
220
236
  - `rules-dev`: 렌더링 전략·코드 스플리팅 컨벤션 기준
221
237
  - `verify-implementation`: 전체 verify-* 통합 실행 시 포함 대상
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Performance Verification"
3
+ short_description: "Check Lighthouse and Core Web Vitals risks"
4
+ default_prompt: "Use $verify-performance to inspect rendering, bundle, image, and Lighthouse risks."
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Security Verification"
3
+ short_description: "Review OWASP security risks before release"
4
+ default_prompt: "Use $verify-security to review authentication, authorization, inputs, secrets, and OWASP risks."