solmate-skills 2.0.4 → 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.
- package/AGENTS.md +10 -6
- package/README.md +68 -7
- package/bin/cli.js +42 -2
- package/docs-business/agents/openai.yaml +4 -0
- package/docs-dev/SKILL.md +17 -0
- package/docs-dev/agents/openai.yaml +4 -0
- package/docs-pitch/agents/openai.yaml +4 -0
- package/docs-plan/SKILL.md +34 -5
- package/docs-plan/agents/openai.yaml +4 -0
- package/manage-collaboration/agents/openai.yaml +4 -0
- package/manage-decisions/agents/openai.yaml +4 -0
- package/manage-skills/SKILL.md +8 -1
- package/manage-skills/agents/openai.yaml +4 -0
- package/package.json +1 -1
- package/role-team-lead/agents/openai.yaml +4 -0
- package/role-team-member/agents/openai.yaml +4 -0
- package/rules-dev/agents/openai.yaml +4 -0
- package/rules-docs/agents/openai.yaml +4 -0
- package/rules-product/SKILL.md +105 -6
- package/rules-product/agents/openai.yaml +4 -0
- package/rules-react/SKILL.md +10 -7
- package/rules-react/agents/openai.yaml +4 -0
- package/rules-workflow/SKILL.md +17 -2
- package/rules-workflow/agents/openai.yaml +4 -0
- package/tools-obsidian/agents/openai.yaml +4 -0
- package/tools-shadcn/agents/openai.yaml +4 -0
- package/verify-code/SKILL.md +17 -1
- package/verify-code/agents/openai.yaml +4 -0
- package/verify-docs/SKILL.md +38 -5
- package/verify-docs/agents/openai.yaml +4 -0
- package/verify-drizzle-schema/agents/openai.yaml +4 -0
- package/verify-implementation/SKILL.md +66 -12
- package/verify-implementation/agents/openai.yaml +4 -0
- package/verify-performance/SKILL.md +16 -0
- package/verify-performance/agents/openai.yaml +4 -0
- package/verify-security/agents/openai.yaml +4 -0
- package/verify-skills/SKILL.md +179 -0
- package/verify-skills/agents/openai.yaml +4 -0
- package/verify-ui/SKILL.md +128 -0
- package/verify-ui/agents/openai.yaml +4 -0
package/AGENTS.md
CHANGED
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
- **배포 설정**: 배포 서비스의 Root Directory를 **App Directory(`web/`)** 로 지정하거나, Build Command를 `cd web && npm run build` 등으로 설정한다.
|
|
71
71
|
|
|
72
72
|
## 4. Skills & AI Capabilities
|
|
73
|
-
AI 에이전트는 본 프로젝트에 설치된 다음 **
|
|
73
|
+
AI 에이전트는 본 프로젝트에 설치된 다음 **26개 스킬**을 활용하여 작업을 수행하며, 모든 작업 결과물은 이 스킬들의 검증 가이드를 통과해야 한다.
|
|
74
74
|
|
|
75
75
|
| 카테고리 | 스킬명 | 주요 역할 |
|
|
76
76
|
| :--- | :--- | :--- |
|
|
@@ -85,12 +85,14 @@ AI 에이전트는 본 프로젝트에 설치된 다음 **24개 스킬**을 활
|
|
|
85
85
|
| | `docs-dev` | Layer 3-5 기술·진행·QA 문서 작성 (DB 스키마, API, 백로그) |
|
|
86
86
|
| | `docs-pitch` | 피치덱 작성 (Markdown / Reveal.js HTML) |
|
|
87
87
|
| | `docs-business` | 사업계획서 작성 (정부 지원, 투자 심사, 파트너십 목적별 구성) |
|
|
88
|
-
| **품질 검증 (QA)** | `verify-implementation` | 모든 `verify-*` 스킬의 통합 순차 실행 및 보고
|
|
89
|
-
| | `verify-docs` | 문서 레이어 정합성 및
|
|
90
|
-
| | `verify-
|
|
88
|
+
| **품질 검증 (QA)** | `verify-implementation` | 모든 `verify-*` 스킬의 통합 순차 실행 및 보고 |
|
|
89
|
+
| | `verify-docs` | 문서 레이어 정합성 및 네이밍/메타데이터, UI-First Gate 검증 |
|
|
90
|
+
| | `verify-ui` | 구현 UI와 화면 문서·사용자 동선·상태별 UI 정합성 검증 |
|
|
91
|
+
| | `verify-code` | PR 전 코드 품질 종합 리뷰 (로직, 타입, 중복, 사이드 이펙트) |
|
|
91
92
|
| | `verify-security` | OWASP Top 10 기준 보안 취약점 점검 (인증, 인젝션, 시크릿 노출 등) |
|
|
92
93
|
| | `verify-performance` | Lighthouse·Core Web Vitals 기준 성능 점검 (LCP, CLS, 번들, 이미지) |
|
|
93
|
-
| | `verify-
|
|
94
|
+
| | `verify-drizzle-schema` | Drizzle 스키마 설계 정합성 및 기술 표준 검증 |
|
|
95
|
+
| | `verify-skills` | 스킬 패키지 메타데이터·CLI·README/AGENTS·패키징 검증 |
|
|
94
96
|
| **개발 및 설계** | `rules-dev` | 코딩 표준 및 프로젝트 컨벤션 준수 여부 확인 |
|
|
95
97
|
| | `rules-react` | UI 컴포넌트 설계 및 구현 표준 가이드 |
|
|
96
98
|
| | `rules-product` | 기획→UI→React→개발문서 전체 파이프라인 오케스트레이션 |
|
|
@@ -110,11 +112,13 @@ AI 에이전트는 사용자가 스킬을 호출하지 않아도, 아래 상황
|
|
|
110
112
|
| 기술 선택, DB/API/아키텍처 설계 논의 시작 | `manage-decisions` | "결정이 필요한 상황입니다. `/manage-decisions`로 유형별 질문을 진행할까요?" |
|
|
111
113
|
| 보안·인증·인가·환경변수 관련 코드 작성 전후 | `verify-security` | "보안 관련 변경입니다. `/verify-security`로 OWASP 점검을 실행할까요?" |
|
|
112
114
|
| 성능·렌더링·이미지·번들 관련 작업 완료 후 | `verify-performance` | "성능 영향이 있을 수 있습니다. `/verify-performance`로 Lighthouse 점검을 실행할까요?" |
|
|
115
|
+
| UI·화면·컴포넌트 구현 완료 후 | `verify-ui` | "UI 구현 변경입니다. `/verify-ui`로 화면 문서와 사용자 동선 정합성을 검증할까요?" |
|
|
113
116
|
| PR 생성 전, 코드 변경 완료 후 | `verify-code`, `verify-implementation` | "PR 전 최종 점검입니다. `/verify-implementation`으로 전체 검증을 실행할까요?" |
|
|
114
117
|
| 기획·UI 문서 작성 요청 | `docs-plan` | "Layer 1-2 문서 작성은 `/docs-plan`을 사용하세요." |
|
|
115
118
|
| DB 스키마·API 명세·백로그 작성 요청 | `docs-dev` | "Layer 3-5 문서 작성은 `/docs-dev`를 사용하세요." |
|
|
116
119
|
| Drizzle 스키마 파일 수정 | `verify-drizzle-schema` | "스키마 변경 후 `/verify-drizzle-schema`로 정합성을 검증하세요." |
|
|
117
|
-
|
|
|
120
|
+
| 스킬 파일·CLI·패키지 메타데이터 수정 | `verify-skills` | "스킬 패키지 변경입니다. `/verify-skills`로 메타데이터와 패키징을 검증하세요." |
|
|
121
|
+
| 기능 구현 시작 전 | `rules-product`, `rules-workflow` | "먼저 `/rules-product`로 현재 단계를 진단한 뒤 `/rules-workflow`로 구현을 진행하세요." |
|
|
118
122
|
| 새 프로젝트 또는 단계 전환 | `rules-product` | "현재 단계를 진단하려면 `/rules-product`를 실행하세요." |
|
|
119
123
|
|
|
120
124
|
**제안 방식**:
|
package/README.md
CHANGED
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Curated skills for Solmate projects. Easily share and install AI tool skills across your team.
|
|
4
4
|
|
|
5
|
-
## What's New in 2.0.
|
|
5
|
+
## What's New in 2.0.4
|
|
6
6
|
|
|
7
|
-
`solmate-skills@2.0.
|
|
7
|
+
`solmate-skills@2.0.4` keeps **Backlog Context Lock** as the current documentation guardrail, adds **UI-First Gate** expectations, and tightens package hygiene for Codex-local settings.
|
|
8
8
|
|
|
9
9
|
Key changes:
|
|
10
10
|
|
|
11
11
|
- Every backlog task must link to related Concept, UI, Technical Spec, and QA documents.
|
|
12
|
+
- UI, user paths, data flow, loading states, empty states, and error states must be confirmed before coding.
|
|
12
13
|
- `/rules-workflow` now treats linked backlog documents as implementation inputs before coding starts.
|
|
13
14
|
- `/verify-docs` fails backlog items that omit required related-document fields.
|
|
14
15
|
- Local Codex settings under `.codex/` are excluded from the npm package.
|
|
@@ -24,12 +25,17 @@ npx solmate-skills list
|
|
|
24
25
|
# Install all available skills (use @latest to bypass npx cache)
|
|
25
26
|
npx solmate-skills@latest install all
|
|
26
27
|
|
|
28
|
+
# Install proactive hook suggestions for Claude Code projects
|
|
29
|
+
npx solmate-skills@latest install hooks
|
|
30
|
+
|
|
27
31
|
# Install a specific skill
|
|
28
32
|
npx solmate-skills install rules-docs
|
|
29
33
|
```
|
|
30
34
|
|
|
31
35
|
When you run the `install` command, the script copies the skill folder to `.agent/skills/<skill-name>` in your current project.
|
|
32
36
|
|
|
37
|
+
`install all` installs only skill folders that contain `SKILL.md`. Use `install hooks` separately when you want prompt/file-change suggestions that nudge the agent toward `/rules-product`, `/rules-workflow`, and the relevant `verify-*` skills.
|
|
38
|
+
|
|
33
39
|
---
|
|
34
40
|
|
|
35
41
|
## Quick Start
|
|
@@ -40,7 +46,7 @@ When you run the `install` command, the script copies the skill folder to `.agen
|
|
|
40
46
|
|:---|:---|:---|
|
|
41
47
|
| 신규 프로젝트 — 아무것도 없을 때 | `/rules-product` | 현재 단계를 자동 진단하고 Phase 1부터 순서대로 안내 |
|
|
42
48
|
| 기획은 있고 코드를 작성하려 할 때 | `/rules-dev` | 커밋 형식, 환경변수, TypeScript 기준 등 컨벤션 먼저 정립 |
|
|
43
|
-
| 기능 하나를 구현하려 할 때 | `/rules-workflow` | 계획 수립부터 PR까지
|
|
49
|
+
| 기능 하나를 구현하려 할 때 | `/rules-product` → `/rules-workflow` | 현재 Phase를 먼저 진단한 뒤 계획 수립부터 PR까지 진행 |
|
|
44
50
|
| PR 전 최종 점검 | `/verify-implementation` | 모든 `verify-*` 스킬을 순차 실행하여 통합 보고 |
|
|
45
51
|
|
|
46
52
|
**가장 권장하는 시작 한 줄:**
|
|
@@ -51,6 +57,49 @@ When you run the `install` command, the script copies the skill folder to `.agen
|
|
|
51
57
|
|
|
52
58
|
`rules-product`는 프로젝트 상태를 스스로 진단해 현재 어느 단계인지 파악하고, 해당 단계의 올바른 스킬로 위임하는 오케스트레이터입니다. 새 프로젝트든 재개 중인 프로젝트든 동일하게 사용할 수 있습니다.
|
|
53
59
|
|
|
60
|
+
`rules-product` and `rules-workflow` should show a short Flow Status Block at the start of work, before implementation, before verification, and at handoff:
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
[Flow]
|
|
64
|
+
현재: Phase 2 — UI 설계
|
|
65
|
+
Gate: UI-First Gate 진행 중
|
|
66
|
+
완료: Phase 1 — Concept
|
|
67
|
+
다음: Pre-Code Technical Brief
|
|
68
|
+
필요 확인: 화면별 오류 상태
|
|
69
|
+
권장 스킬: /docs-plan
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Using Skills in an Existing Project
|
|
73
|
+
|
|
74
|
+
이미 진행 중인 프로젝트에도 최신 `solmate-skills`를 다시 설치해서 사용할 수 있습니다. 사용 방식은 신규 프로젝트와 같지만, 시작점은 항상 현재 프로젝트 상태를 먼저 진단하는 것입니다.
|
|
75
|
+
|
|
76
|
+
**Update or reinstall skills from the project root:**
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
npx solmate-skills@latest install all
|
|
80
|
+
npx solmate-skills@latest install hooks
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**Recommended first prompt:**
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
/rules-product를 사용해서 이 프로젝트의 현재 진행 상태를 진단하고, 다음 작업을 Flow Status Block 기준으로 안내해줘.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**When starting implementation work:**
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
/rules-workflow를 사용해서 현재 기능 작업을 진행해줘. 먼저 Flow Status Block으로 현재 위치를 알려주고, UI-First 흐름에 맞춰 진행해줘.
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**When verifying finished work:**
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
/verify-implementation으로 현재 변경사항을 전체 검증해줘. Flow Status Block을 포함해서 보고해줘.
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
진행 중인 프로젝트에서는 Phase 1부터 강제로 다시 시작하지 않습니다. `/rules-product`가 기존 문서, 코드, 백로그, 변경사항을 보고 현재 위치를 진단한 뒤, 이어서 진행할 Phase와 필요한 Gate를 제안해야 합니다.
|
|
102
|
+
|
|
54
103
|
---
|
|
55
104
|
|
|
56
105
|
## Available Skills
|
|
@@ -110,6 +159,8 @@ Skills are organized into five categories.
|
|
|
110
159
|
| `verify-security` | Check for security vulnerabilities based on OWASP Top 10. |
|
|
111
160
|
| `verify-performance` | Lighthouse & Core Web Vitals check. |
|
|
112
161
|
| `verify-code` | Comprehensive pre-PR code quality review. |
|
|
162
|
+
| `verify-ui` | Verify implemented UI against screen docs and user flows. |
|
|
163
|
+
| `verify-skills` | Verify skill package metadata, CLI output, and release readiness. |
|
|
113
164
|
|
|
114
165
|
---
|
|
115
166
|
|
|
@@ -143,10 +194,12 @@ docs/
|
|
|
143
194
|
```
|
|
144
195
|
1. /docs-plan → Write VISION_CORE.md, LEAN_CANVAS.md, PRODUCT_SPECS.md
|
|
145
196
|
2. /docs-plan → Write SCREEN_FLOW.md, UI_DESIGN.md
|
|
146
|
-
3.
|
|
147
|
-
4.
|
|
148
|
-
5. /
|
|
149
|
-
6. /
|
|
197
|
+
3. UI-First Gate → Confirm screens, user paths, data flow, and UI states before coding
|
|
198
|
+
4. Pre-Code Technical Brief → Confirm data sources, API shape, state strategy, and acceptance criteria
|
|
199
|
+
5. /docs-dev → Write DEVELOPMENT_PRINCIPLES.md, DB_SCHEMA.md, API_SPECS.md
|
|
200
|
+
6. /docs-dev → Write ROADMAP.md, BACKLOG.md with mandatory related document links
|
|
201
|
+
7. /rules-workflow → Implement each backlog item only after reading linked docs and passing UI-First Gate
|
|
202
|
+
8. /verify-implementation → Audit docs, UI, code, security, performance, DB, and skill package changes
|
|
150
203
|
```
|
|
151
204
|
|
|
152
205
|
Backlog items are intentionally document-linked. Each task in `docs/04_Logic_Progress/00_BACKLOG.md` must include related Concept, UI, Technical Spec, and QA documents, plus implementation preconditions, acceptance criteria, and a document sync check. If a related document does not exist, the item must say `N/A - 사유`; implementation should pause when the missing document is required for a safe decision.
|
|
@@ -155,6 +208,10 @@ Backlog items are intentionally document-linked. Each task in `docs/04_Logic_Pro
|
|
|
155
208
|
|
|
156
209
|
Backlog Context Lock makes `docs/04_Logic_Progress/00_BACKLOG.md` act as a bridge between planning documents and implementation. A backlog item is not considered ready for coding until it names the documents that define why the task exists, how the UI should behave, what technical constraints apply, and how the work will be verified.
|
|
157
210
|
|
|
211
|
+
### UI-First Gate
|
|
212
|
+
|
|
213
|
+
UI-First Gate prevents implementation from starting before the team has reviewed the actual screens and the user's path through them. Before coding, confirm the core screen structure, user entry and exit paths, CTAs, screen-by-screen data flow, loading states, empty states, and error states. If these are missing, update `docs/02_UI_Screens/` or the backlog first.
|
|
214
|
+
|
|
158
215
|
Required fields for every backlog item:
|
|
159
216
|
|
|
160
217
|
- `Related Concept Docs`
|
|
@@ -183,8 +240,12 @@ If a related document does not exist, write `N/A - 사유`. Do not leave the fie
|
|
|
183
240
|
- [QA Checklist](../05_QA_Validation/02_QA_CHECKLIST.md) - acceptance and release criteria
|
|
184
241
|
- Implementation Preconditions:
|
|
185
242
|
- [ ] Read all related documents before coding
|
|
243
|
+
- [ ] Confirm screen/UI before coding
|
|
244
|
+
- [ ] Confirm user path and screen-by-screen data flow
|
|
245
|
+
- [ ] Confirm loading, empty, and error states
|
|
186
246
|
- [ ] Confirm implementation scope does not conflict with documented intent
|
|
187
247
|
- Acceptance Criteria:
|
|
248
|
+
- [ ] Feature follows the confirmed screen structure and user path
|
|
188
249
|
- [ ] Feature behavior matches linked Concept/UI/Technical docs
|
|
189
250
|
- [ ] QA criteria are testable and satisfied
|
|
190
251
|
- Document Sync Check:
|
package/bin/cli.js
CHANGED
|
@@ -19,7 +19,12 @@ const targetSkillsDir = path.join(targetProjectRoot, '.agent', 'skills');
|
|
|
19
19
|
|
|
20
20
|
function getAvailableSkills() {
|
|
21
21
|
return fs.readdirSync(packageRoot, { withFileTypes: true })
|
|
22
|
-
.filter(dirent =>
|
|
22
|
+
.filter(dirent => {
|
|
23
|
+
if (!dirent.isDirectory() || IGNORED_FOLDERS.includes(dirent.name)) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return fs.existsSync(path.join(packageRoot, dirent.name, 'SKILL.md'));
|
|
27
|
+
})
|
|
23
28
|
.map(dirent => dirent.name);
|
|
24
29
|
}
|
|
25
30
|
|
|
@@ -42,7 +47,33 @@ function listSkills() {
|
|
|
42
47
|
const skills = getAvailableSkills();
|
|
43
48
|
console.log('\nAvailable skills to install:');
|
|
44
49
|
skills.forEach(skill => console.log(` - ${skill}`));
|
|
45
|
-
console.log('\
|
|
50
|
+
console.log('\nUtilities:');
|
|
51
|
+
console.log(' - hooks (install with: npx solmate-skills install hooks)');
|
|
52
|
+
console.log('\nUsage: npx solmate-skills install <skill-name> | all | hooks\n');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function installHooks() {
|
|
56
|
+
const sourcePath = path.join(packageRoot, 'hooks');
|
|
57
|
+
const destPath = path.join(targetSkillsDir, 'hooks');
|
|
58
|
+
|
|
59
|
+
if (!fs.existsSync(sourcePath)) {
|
|
60
|
+
console.error('Error: hooks directory not found.');
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
console.log('Installing hooks utility...');
|
|
65
|
+
copyFolderSync(sourcePath, destPath);
|
|
66
|
+
console.log('Successfully installed hooks utility to .agent/skills/hooks');
|
|
67
|
+
|
|
68
|
+
const scriptPath = path.join(destPath, 'install.sh');
|
|
69
|
+
if (fs.existsSync(scriptPath)) {
|
|
70
|
+
console.log('Running hook installer...');
|
|
71
|
+
try {
|
|
72
|
+
execSync(`bash "${scriptPath}"`, { stdio: 'inherit', cwd: targetProjectRoot });
|
|
73
|
+
} catch (err) {
|
|
74
|
+
console.error('Warning: hook installer exited with an error.');
|
|
75
|
+
}
|
|
76
|
+
}
|
|
46
77
|
}
|
|
47
78
|
|
|
48
79
|
function installSkill(skillName) {
|
|
@@ -54,6 +85,11 @@ function installSkill(skillName) {
|
|
|
54
85
|
return;
|
|
55
86
|
}
|
|
56
87
|
|
|
88
|
+
if (skillName === 'hooks') {
|
|
89
|
+
installHooks();
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
|
|
57
93
|
if (!skills.includes(skillName)) {
|
|
58
94
|
console.error(`Error: Skill "${skillName}" not found.`);
|
|
59
95
|
process.exit(1);
|
|
@@ -94,11 +130,15 @@ if (!command || command === 'list') {
|
|
|
94
130
|
}
|
|
95
131
|
if (subCommand === 'all' || subCommand === 'install-all') {
|
|
96
132
|
installSkill('install-all');
|
|
133
|
+
} else if (subCommand === 'hooks' || subCommand === 'install-hooks') {
|
|
134
|
+
installHooks();
|
|
97
135
|
} else {
|
|
98
136
|
installSkill(subCommand);
|
|
99
137
|
}
|
|
100
138
|
} else if (command === 'install-all' || command === 'all') {
|
|
101
139
|
installSkill('install-all');
|
|
140
|
+
} else if (command === 'install-hooks' || command === 'hooks') {
|
|
141
|
+
installHooks();
|
|
102
142
|
} else {
|
|
103
143
|
console.log(`Unknown command: ${command}`);
|
|
104
144
|
listSkills();
|
package/docs-dev/SKILL.md
CHANGED
|
@@ -60,6 +60,10 @@ This skill manages **Layer 3 (Technical_Specs)**, **Layer 4 (Logic_Progress)**,
|
|
|
60
60
|
|
|
61
61
|
**Backlog 문서 참조 강제 규칙**: `00_BACKLOG.md`의 모든 작업 항목은 관련 문서를 읽은 뒤 작성해야 하며, 구현자는 코드 작성 전에 해당 문서를 다시 확인해야 한다. 백로그는 단순 ToDo 목록이 아니라 Concept, UI, Technical Spec, QA 기준을 구현으로 연결하는 실행 티켓이어야 한다.
|
|
62
62
|
|
|
63
|
+
**UI-First Gate 강제 규칙**: 구현 코드는 화면 확인 이후에만 작성한다. 백로그 항목은 관련 UI 문서에서 화면 구조, 사용자 동선, 데이터 흐름, 로딩·빈 상태·오류 상태를 확인했음을 `Implementation Preconditions`에 포함해야 한다. 해당 정보가 없으면 `docs/02_UI_Screens/` 문서부터 보완한다.
|
|
64
|
+
|
|
65
|
+
**Pre-Code Technical Brief 강제 규칙**: UI 확인 후에도 바로 구현하지 않는다. 데이터 소스, 최소 필드, mutation, 상태 관리 방식, acceptance criteria가 백로그나 기술 문서에 기록되어야 한다. 불명확하면 `docs/03_Technical_Specs/` 문서 또는 백로그 항목을 먼저 보완한다.
|
|
66
|
+
|
|
63
67
|
Backlog 항목 작성 전 필수 확인 대상:
|
|
64
68
|
- `docs/01_Concept_Design/`: 기능 목적, 사용자 가치, 제품 방향
|
|
65
69
|
- `docs/02_UI_Screens/`: 화면 흐름, UI 상태, 인터랙션
|
|
@@ -80,6 +84,11 @@ Backlog 항목 작성 전 필수 확인 대상:
|
|
|
80
84
|
구현 시작 전 체크:
|
|
81
85
|
- 관련 문서를 실제로 읽었는가?
|
|
82
86
|
- 문서의 요구사항이 Backlog 항목에 반영되어 있는가?
|
|
87
|
+
- 화면 구조와 사용자 동선을 먼저 확인했는가?
|
|
88
|
+
- 화면별 입력·출력 데이터와 상태 변화를 확인했는가?
|
|
89
|
+
- 로딩·빈 상태·오류 상태가 UI 문서나 백로그에 반영되어 있는가?
|
|
90
|
+
- 데이터 소스, 최소 필드, mutation, 상태 관리 방식이 정리되었는가?
|
|
91
|
+
- acceptance criteria가 사용자 시나리오 기준으로 검증 가능한가?
|
|
83
92
|
- 구현 범위가 관련 문서의 의도와 충돌하지 않는가?
|
|
84
93
|
- 관련 QA 기준이 `Acceptance Criteria`에 반영되어 있는가?
|
|
85
94
|
- 누락된 문서가 있다면 `N/A - 사유`가 타당한가?
|
|
@@ -185,8 +194,16 @@ Backlog 항목 작성 전 필수 확인 대상:
|
|
|
185
194
|
- [문서명](../05_QA_Validation/XX_DOCUMENT.md) - 테스트 기준/수용 조건 근거
|
|
186
195
|
- Implementation Preconditions:
|
|
187
196
|
- [ ] 관련 문서 전체 확인 완료
|
|
197
|
+
- [ ] 화면/UI 선확인 완료
|
|
198
|
+
- [ ] 사용자 진입·전환·이탈 동선 확인 완료
|
|
199
|
+
- [ ] 화면별 입력·출력 데이터 및 상태 변화 확인 완료
|
|
200
|
+
- [ ] 로딩·빈 상태·오류 상태 확인 완료
|
|
201
|
+
- [ ] 데이터 소스와 최소 필드 확인 완료
|
|
202
|
+
- [ ] mutation 및 상태 관리 방식 확인 완료
|
|
188
203
|
- [ ] 구현 범위와 문서 요구사항 충돌 없음
|
|
189
204
|
- Acceptance Criteria:
|
|
205
|
+
- [ ] 구현 결과가 확인된 화면 구조와 사용자 동선을 따른다
|
|
206
|
+
- [ ] 데이터 흐름과 상태 변화가 Pre-Code Technical Brief와 일치한다
|
|
190
207
|
- [ ] QA 기준이 구현 완료 판단에 반영됨
|
|
191
208
|
- [ ] 핵심 사용자 흐름이 검증됨
|
|
192
209
|
- Document Sync Check:
|
package/docs-plan/SKILL.md
CHANGED
|
@@ -37,9 +37,9 @@ This skill manages **Layer 1 (Concept_Design)** and **Layer 2 (UI_Screens)** —
|
|
|
37
37
|
- `04_USER_RESEARCH.md` — 사용자 인터뷰, 페르소나, 행동 패턴 (선택, 권장)
|
|
38
38
|
|
|
39
39
|
**Layer 2 — UI_Screens**
|
|
40
|
-
- `00_SCREEN_FLOW.md` — 전체 사용자
|
|
41
|
-
- `01_UI_DESIGN.md` — 디자인
|
|
42
|
-
- `XX_PROTOTYPE_REVIEW.md` — 페이지별 피드백
|
|
40
|
+
- `00_SCREEN_FLOW.md` — 전체 사용자 여정, 진입·전환·이탈 흐름, 화면별 데이터 입출력
|
|
41
|
+
- `01_UI_DESIGN.md` — 디자인 시스템, 화면 구조, 상태별 UI, 핵심 CTA
|
|
42
|
+
- `XX_PROTOTYPE_REVIEW.md` — 페이지별 화면 확인 결과와 구현 전 피드백
|
|
43
43
|
|
|
44
44
|
## 3. Interactive Process (Ask Before Write)
|
|
45
45
|
|
|
@@ -69,6 +69,16 @@ This skill manages **Layer 1 (Concept_Design)** and **Layer 2 (UI_Screens)** —
|
|
|
69
69
|
15. **The 3 Investor Lenses**: Leverage / Realistic Money Flow / Defensibility — 세 가지를 증명했는가?
|
|
70
70
|
16. **The Future Weapon**: 6~18개월 뒤 시장에서 싸울 강력한 무기는 무엇인가?
|
|
71
71
|
|
|
72
|
+
### Phase 4 — UI-First Gate (코딩 시작 전 필수)
|
|
73
|
+
|
|
74
|
+
구현 코드를 작성하기 전 반드시 화면 기준으로 아래 질문에 답한다.
|
|
75
|
+
|
|
76
|
+
17. **Screen Inventory**: 구현할 주요 화면은 무엇이며, 각 화면의 목적은 무엇인가?
|
|
77
|
+
18. **User Path**: 사용자는 어디서 진입하고, 어떤 CTA를 누르며, 어디로 이동하거나 이탈하는가?
|
|
78
|
+
19. **Data Flow**: 각 화면에서 필요한 입력 데이터, 표시 데이터, 저장/전송 데이터는 무엇인가?
|
|
79
|
+
20. **State Coverage**: 로딩, 빈 상태, 오류 상태, 권한 없음 상태는 화면에서 어떻게 보이는가?
|
|
80
|
+
21. **Prototype Review**: 사용자가 실제 화면, 스크린샷, 와이어프레임, 또는 프로토타입 리뷰를 먼저 확인했는가?
|
|
81
|
+
|
|
72
82
|
## 4. Templates
|
|
73
83
|
|
|
74
84
|
### Template 0 — User Research (`04_USER_RESEARCH.md`)
|
|
@@ -139,10 +149,29 @@ This skill manages **Layer 1 (Concept_Design)** and **Layer 2 (UI_Screens)** —
|
|
|
139
149
|
## 2. Key User Flows
|
|
140
150
|
(이 프로토타입에서 시연된 흐름 설명)
|
|
141
151
|
|
|
142
|
-
## 3.
|
|
152
|
+
## 3. Screen States
|
|
153
|
+
- Default:
|
|
154
|
+
- Loading:
|
|
155
|
+
- Empty:
|
|
156
|
+
- Error:
|
|
157
|
+
- Permission denied / unavailable:
|
|
158
|
+
|
|
159
|
+
## 4. Data Flow
|
|
160
|
+
- Inputs:
|
|
161
|
+
- Displayed data:
|
|
162
|
+
- Mutations / saved data:
|
|
163
|
+
- External dependencies:
|
|
164
|
+
|
|
165
|
+
## 5. User Confirmation
|
|
166
|
+
- 화면/UI 선확인 여부:
|
|
167
|
+
- 확인자:
|
|
168
|
+
- 확인 일시:
|
|
169
|
+
- 보완 필요 사항:
|
|
170
|
+
|
|
171
|
+
## 6. Feedback & Improvements
|
|
143
172
|
(구현 전 변경이 필요한 사항)
|
|
144
173
|
|
|
145
|
-
##
|
|
174
|
+
## 7. Related Documents
|
|
146
175
|
- **Concept_Design**: [Product Specs](../01_Concept_Design/03_PRODUCT_SPECS.md) - 사이트맵 및 사용자 플로우
|
|
147
176
|
- **UI_Screens**: [UI Design](./01_UI_DESIGN.md) - 디자인 시스템 및 컴포넌트 가이드라인
|
|
148
177
|
- **Technical_Specs**: [Related Spec](../03_Technical_Specs/XX_SPEC.md) - 구현 명세 요구사항
|
package/manage-skills/SKILL.md
CHANGED
|
@@ -28,7 +28,14 @@ argument-hint: "[선택사항: 특정 스킬 이름 또는 집중할 영역]"
|
|
|
28
28
|
|
|
29
29
|
| 스킬 | 설명 | 커버 파일 패턴 |
|
|
30
30
|
|------|------|---------------|
|
|
31
|
-
| `verify
|
|
31
|
+
| `verify-docs` | 문서 구조, Backlog Context Lock, UI-First Gate | `docs/**/*.md`, `README.md`, `AGENTS.md` |
|
|
32
|
+
| `verify-ui` | 화면 구현과 UI 문서, 사용자 동선, 상태별 UI 정합성 | `src/**/*.tsx`, `src/**/*.jsx`, `docs/02_UI_Screens/**/*.md` |
|
|
33
|
+
| `verify-code` | 코드 품질, 타입, 로직, 사이드 이펙트 | `src/**/*.{ts,tsx,js,jsx}` |
|
|
34
|
+
| `verify-security` | 인증·인가·입력·시크릿·OWASP 보안 | `auth`, `api`, `route`, `middleware`, `.env`, `db` 관련 파일 |
|
|
35
|
+
| `verify-performance` | Lighthouse, Core Web Vitals, 렌더링·번들 | page/layout/image/font/bundle 관련 파일 |
|
|
36
|
+
| `verify-drizzle-schema` | Drizzle 스키마와 기술 명세 정합성 | `schema.ts`, `schema/*.ts`, migration 파일 |
|
|
37
|
+
| `verify-skills` | 스킬 패키지 메타데이터, CLI, README/AGENTS, npm pack | `*/SKILL.md`, `*/agents/openai.yaml`, `bin/cli.js`, `package.json` |
|
|
38
|
+
| `verify-implementation` | 전체 verify 스킬 통합 실행 | 모든 변경 |
|
|
32
39
|
|
|
33
40
|
## 워크플로우
|
|
34
41
|
|
package/package.json
CHANGED