@simplysm/sd-claude 14.0.63 → 14.0.64
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/claude/references/sd-simplysm-v14/sd-claude/assets.md +3 -2
- package/claude/rules/sd-ask.md +242 -0
- package/claude/rules/sd-clarify.md +24 -132
- package/claude/rules/sd-claude-rules.md +5 -3
- package/claude/rules/sd-response-format.md +3 -1
- package/claude/skills/sd-issue/SKILL.md +6 -2
- package/claude/skills/sd-sit/SKILL.md +141 -0
- package/claude/skills/sd-sit-plan/SKILL.md +159 -0
- package/claude/skills/sd-subdomain/SKILL.md +439 -0
- package/claude/skills/sd-use/SKILL.md +0 -1
- package/package.json +1 -1
- package/claude/skills/sd-deliverable/SKILL.md +0 -320
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sd-sit
|
|
3
|
+
description: SIT 문서(sit.md) 기반 검증을 실제로 실행하며 결과를 갱신하는 스킬. "SIT 검증해줘", "SIT 진행", "SIT 실행" 등을 요청할 때 사용한다.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# sd-sit: SIT 검증 진행
|
|
7
|
+
|
|
8
|
+
sit.md 체크리스트를 위에서 아래로 자동 실행하며 통과 항목을 `[x]`로 갱신한다. 한계 도달 시 즉시 중단하고 후속 액션을 제안한다.
|
|
9
|
+
|
|
10
|
+
## 공통 규칙
|
|
11
|
+
|
|
12
|
+
### 출력 갱신 형식
|
|
13
|
+
|
|
14
|
+
각 항목은 실행 직후 sit.md에서 다음 형식으로 갱신한다.
|
|
15
|
+
|
|
16
|
+
- 통과: `- [x] {항목명} — {결과 1줄 요약}`
|
|
17
|
+
- 실패(중단점): `- [ ] {항목명} — 실패: {사유 1줄}`
|
|
18
|
+
- 미수행: 변경하지 않는다 (`- [ ] {항목명}` 그대로 둔다)
|
|
19
|
+
|
|
20
|
+
체크박스 마커는 `[x]`/`[ ]` 두 개만 사용한다. `[!]`·`[?]`·`[/]` 등 비표준 마커 금지.
|
|
21
|
+
결과 1줄 요약은 항목과 같은 줄 끝에 ` — ` 구분자로 붙인다. 들여쓰기 자식 항목·별도 진행 표 등 다른 위치에 추가 금지.
|
|
22
|
+
|
|
23
|
+
### 중단 트리거
|
|
24
|
+
|
|
25
|
+
다음 사유 중 하나라도 발생하면 즉시(MUST) 중단하고 Step 4로 진입한다. 추정·우회·임의 다음 항목 진행 금지.
|
|
26
|
+
|
|
27
|
+
- playwright 자동화 한계 (셀렉터 미발견·페이지 로드 실패·인증 차단 등)
|
|
28
|
+
- 코드 버그 (애플리케이션 예외·네트워크 오류 등)
|
|
29
|
+
- 데이터 시드 부족 (검증에 필요한 사전 데이터 없음)
|
|
30
|
+
- 권한·설정 누락 (DB·계정·환경변수 부재)
|
|
31
|
+
- 그 외 어떤 사유든 자동 실행이 막히는 경우
|
|
32
|
+
|
|
33
|
+
### 임의 변형 금지
|
|
34
|
+
|
|
35
|
+
CRITICAL: 입력 sit.md에 없던 항목을 추가하거나 항목 문구를 의역·축약하지 않는다.
|
|
36
|
+
`[x]`는 실제 통과한 항목에만 부여한다 (통과하지 않은 항목에 `[x]` 거짓 부여 금지).
|
|
37
|
+
한계에 부딪힌 항목은 `- [ ] {항목명} — 실패: {사유 1줄}` 형식으로 반드시 갱신한 뒤 중단한다.
|
|
38
|
+
sit.md 외 파일은 수정·생성하지 않는다 (`.claude/`·소스 디렉토리·다른 `.tasks/` 하위 등).
|
|
39
|
+
|
|
40
|
+
## Step 1: 입력 sit.md 확인
|
|
41
|
+
|
|
42
|
+
호출 시 전달된 sit.md 경로를 식별하여 끝까지 읽는다.
|
|
43
|
+
|
|
44
|
+
### 입력 부재 처리
|
|
45
|
+
|
|
46
|
+
sit.md 경로가 없거나 파일이 존재하지 않으면, 임의로 sit.md를 신규 생성하지 말고 `sd-clarify` 지침에 따라 다음을 안내한다.
|
|
47
|
+
|
|
48
|
+
- 입력으로 받을 sit.md 경로 요청
|
|
49
|
+
- sit.md가 없는 경우 `/sd-sit-plan` 호출 권유
|
|
50
|
+
|
|
51
|
+
## Step 2: 환경 정보 수집
|
|
52
|
+
|
|
53
|
+
sit.md 본문 구조(Task/Story 섹션·단계 헤더·항목 리스트)를 파악한 뒤, sit.md에 등장하는 단계에 따라 사용자에게 환경 정보를 사전 요청한다.
|
|
54
|
+
|
|
55
|
+
### 수집 항목
|
|
56
|
+
|
|
57
|
+
sit.md에 등장하는 단계에 따라 필요한 항목만 묻는다.
|
|
58
|
+
|
|
59
|
+
- 메뉴 진입·CRUD 흐름·엑셀 업·다운로드·매트릭스/결과 검증 항목 존재 시: 접속 주소
|
|
60
|
+
- 데이터 시드·DB 권한·설정 항목 존재 시: DB 연결 정보 또는 시드 처리 책임자(sd-sit 자체 시도 vs 사용자 위임)
|
|
61
|
+
|
|
62
|
+
CRITICAL: 접속 주소를 임의로 결정하지 않는다 (`http://localhost:XXXX` 추측 금지). 반드시 사용자에게 묻는다.
|
|
63
|
+
|
|
64
|
+
### 명확화 적용
|
|
65
|
+
|
|
66
|
+
수집 항목 요청은 `sd-clarify` 지침을 따른다. 한 번에 하나씩, `sd-ask`의 5블록 형식으로 제시한다.
|
|
67
|
+
|
|
68
|
+
## Step 3: 항목 순차 실행
|
|
69
|
+
|
|
70
|
+
sit.md를 위에서 아래로 첫 `[ ]` 항목부터 1개씩 처리한다. 이미 `[x]`된 항목은 다시 실행하지 않고 건너뛴다 (재호출 시 진행 재개 동작).
|
|
71
|
+
|
|
72
|
+
### 3-1. 항목 도구 매핑
|
|
73
|
+
|
|
74
|
+
항목이 속한 단계 헤더에 따라 도구를 선택한다.
|
|
75
|
+
|
|
76
|
+
| 단계 헤더 | 도구 |
|
|
77
|
+
|---|---|
|
|
78
|
+
| 데이터 시드 | SQL/HTTP/CLI 자체 시도 |
|
|
79
|
+
| 메뉴 진입 / CRUD 흐름 / 엑셀 업·다운로드 / 매트릭스·결과 검증 | `playwright-cli` 스킬 호출 |
|
|
80
|
+
|
|
81
|
+
위 분류에 해당하지 않는 단계 헤더의 항목은 처리 방식을 사용자에게 묻는다.
|
|
82
|
+
|
|
83
|
+
### 3-2. 항목 실행
|
|
84
|
+
|
|
85
|
+
도구 호출 후 결과를 판정한다.
|
|
86
|
+
|
|
87
|
+
- 통과: 도구 호출 결과가 항목의 검증 조건을 만족함
|
|
88
|
+
- 실패(중단점): 중단 트리거 중 하나라도 해당함
|
|
89
|
+
|
|
90
|
+
판정 기준이 모호한 경우 임의 판정 금지(NEVER) — 사용자에게 결과를 보고하고 통과/실패 응답을 받는다.
|
|
91
|
+
|
|
92
|
+
### 3-3. sit.md 갱신
|
|
93
|
+
|
|
94
|
+
항목 실행 직후 즉시 sit.md를 갱신한다.
|
|
95
|
+
|
|
96
|
+
- 통과 시: 해당 항목 줄을 `- [x] {항목명} — {결과 1줄 요약}` 형식으로 갱신
|
|
97
|
+
- 실패 시: 해당 항목 줄을 `- [ ] {항목명} — 실패: {사유 1줄}` 형식으로 갱신한 뒤 Step 4로 진행
|
|
98
|
+
|
|
99
|
+
### 3-4. 다음 항목으로 진행
|
|
100
|
+
|
|
101
|
+
통과 후 `[ ]` 항목이 더 있으면 3-1로 돌아가 다음 항목 처리. 모든 항목이 `[x]`로 갱신되면 Step 5로 진행.
|
|
102
|
+
|
|
103
|
+
## Step 4: 중단 처리 및 후속 액션 제안
|
|
104
|
+
|
|
105
|
+
한계 도달로 중단된 경우 다음을 수행한다.
|
|
106
|
+
|
|
107
|
+
### 4-1. 상황 보고
|
|
108
|
+
|
|
109
|
+
다음 형식으로 사용자에게 보고한다.
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
중단점: {sit.md 경로}:{줄번호} — {항목명}
|
|
113
|
+
한계 사유: {1줄 사유}
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 4-2. 후속 액션 제안
|
|
117
|
+
|
|
118
|
+
추정 원인에 따라 1개 이상의 후속 액션을 제시한다 (`sd-ask` 형식).
|
|
119
|
+
|
|
120
|
+
| 한계 사유 | 후속 액션 후보 |
|
|
121
|
+
|---|---|
|
|
122
|
+
| playwright 자동화 한계 | 셀렉터 점검·DOM 변경 확인 후 `/sd-sit` 재호출 |
|
|
123
|
+
| 코드 버그 | `/sd-debug`로 원인 분석 → 코드 수정 후 `/sd-sit` 재호출 |
|
|
124
|
+
| 데이터 시드 부족 | 시드 SQL/스크립트 실행 후 `/sd-sit` 재호출 |
|
|
125
|
+
| 권한·설정 누락 | DB 권한 부여·환경 변수 설정 후 `/sd-sit` 재호출 |
|
|
126
|
+
|
|
127
|
+
CRITICAL: 후속 액션을 자동으로 호출(`Skill` tool로 sd-debug 등 직접 실행)하지 않는다. 사용자가 처리하도록 안내만 한다.
|
|
128
|
+
|
|
129
|
+
### 4-3. 사용자 처리 후 재개
|
|
130
|
+
|
|
131
|
+
사용자가 처리 후 동일 sit.md 경로로 `/sd-sit`을 재호출하면 Step 3에서 첫 `[ ]` 항목부터 자동 재개된다 (이전 통과 `[x]` 항목은 건너뜀).
|
|
132
|
+
|
|
133
|
+
## Step 5: 완료 보고
|
|
134
|
+
|
|
135
|
+
모든 항목이 `[x]`로 통과되면 다음을 보고한다.
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
SIT 진행 완료: {sit.md 경로}
|
|
139
|
+
- 통과 항목 수: {N}
|
|
140
|
+
- 중단·실패 없음
|
|
141
|
+
```
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sd-sit-plan
|
|
3
|
+
description: 시스템 통합 테스트(SIT) 검증 체크리스트 문서를 생성하는 스킬. "SIT 문서 만들어줘", "통합 테스트 체크리스트", "검증 항목 만들어줘" 등을 요청할 때 사용한다.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# sd-sit-plan: SIT 검증 문서 작성
|
|
7
|
+
|
|
8
|
+
자유 입력(자연어 / 외부 자료 / sd-* 산출물 경로)을 받아 SIT 검증 체크리스트(`sit.md`)를 생성·갱신한다.
|
|
9
|
+
|
|
10
|
+
## Step 1: 입력 자료 수집
|
|
11
|
+
|
|
12
|
+
호출 시 전달된 인자에서 다음 자료를 식별하여 끝까지 읽는다.
|
|
13
|
+
|
|
14
|
+
- **자연어 본문** — 명령 메시지 본문에서 메뉴·화면 정의·검증 요건 추출
|
|
15
|
+
- **파일 경로 (.docx/.xlsx/.pdf/.eml/.msg 등)** — `/sd-doc-extract`로 텍스트·이미지 추출 후 활용
|
|
16
|
+
- **sd-* 산출물 경로 (`.tasks/{...}/wbs.md`·Task 문서)** — Read 도구로 완독
|
|
17
|
+
|
|
18
|
+
### 자료 부족 처리
|
|
19
|
+
|
|
20
|
+
자료에서 메뉴·화면·검증 대상 식별자를 추출할 수 없거나 SIT 항목 1개 이상 도출이 불가하면, 임의로 항목을 채우지 말고 `sd-clarify` 지침에 따라 추가 정보를 명확화한다.
|
|
21
|
+
|
|
22
|
+
## Step 2: 출력 경로 결정
|
|
23
|
+
|
|
24
|
+
입력에 `.tasks/{timestamp}_{topic}/` 형태의 경로가 포함되면 해당 디렉토리에 `sit.md`를 생성·갱신한다.
|
|
25
|
+
|
|
26
|
+
- 기존 `sit.md`가 없으면 신규 생성한다.
|
|
27
|
+
- 기존 `sit.md`가 있으면 갱신 모드로 동작한다. 기존 체크박스 상태(`[x]`/`[ ]`)·사용자 메모는 보존하고 신규 항목만 추가한다.
|
|
28
|
+
|
|
29
|
+
입력에 해당 경로가 없으면 `.tasks/{yyMMddHHmmss}_{topic}/sit.md`를 신규 생성한다.
|
|
30
|
+
|
|
31
|
+
- `{yyMMddHHmmss}` — `date +%y%m%d%H%M%S` 실행 결과
|
|
32
|
+
- `{topic}` — 영어 kebab-case (예: `book-register`)
|
|
33
|
+
|
|
34
|
+
NEVER: `tests/sit/`, `packages/**/sit/` 등 결정된 경로 외부에 SIT 문서를 생성하지 않는다.
|
|
35
|
+
|
|
36
|
+
## Step 3: SIT 항목 도출
|
|
37
|
+
|
|
38
|
+
수집한 자료에서 검증 항목을 추출하여 다음 구조로 정리한다.
|
|
39
|
+
|
|
40
|
+
### 그룹핑 단위
|
|
41
|
+
|
|
42
|
+
자료의 식별자 유형에 따라 섹션을 그룹핑한다.
|
|
43
|
+
|
|
44
|
+
- 자료에 Task/Story 식별자가 있으면 (`Task {N}.{M}`, `Story {N}.{M}.{L}`) 동일 식별자로 섹션을 만든다.
|
|
45
|
+
- 식별자가 없으면 화면·메뉴 단위로 섹션을 만든다.
|
|
46
|
+
|
|
47
|
+
평면 체크리스트(섹션 없이 모든 항목 나열)는 금지한다.
|
|
48
|
+
|
|
49
|
+
### 검증 단계 분리
|
|
50
|
+
|
|
51
|
+
각 Story·화면 섹션 안에 적용 가능한 단계 헤더를 둔다. 기능에 해당 단계가 없으면 그 헤더는 생략한다.
|
|
52
|
+
|
|
53
|
+
- 데이터 시드
|
|
54
|
+
- 메뉴 진입
|
|
55
|
+
- CRUD 흐름
|
|
56
|
+
- 엑셀 업·다운로드
|
|
57
|
+
- 매트릭스/결과 검증
|
|
58
|
+
|
|
59
|
+
`sit.md` 본문 전체에는 위 단계 헤더가 최소 1개 이상 등장한다.
|
|
60
|
+
|
|
61
|
+
### 항목 형식
|
|
62
|
+
|
|
63
|
+
모든 검증 항목은 `- [ ] {항목명}` 마크다운 체크박스 형식으로 작성한다.
|
|
64
|
+
|
|
65
|
+
- 정량/열거값(수치·필드명·상태값 등)은 입력 자료의 표현을 그대로 옮긴다. 의역·축약 금지 (예: "도서명·저자·ISBN" → "필수 항목들" 금지).
|
|
66
|
+
- 입력 자료에 없는 항목(가짜 비즈니스 규칙·실재 안 함 화면 동작·자료에 명시된 제외 사항)은 추가하지 않는다.
|
|
67
|
+
|
|
68
|
+
## Step 4: sit.md 생성
|
|
69
|
+
|
|
70
|
+
다음 템플릿으로 작성한다.
|
|
71
|
+
|
|
72
|
+
````markdown
|
|
73
|
+
# SIT: {주제}
|
|
74
|
+
|
|
75
|
+
## 참조 자료
|
|
76
|
+
|
|
77
|
+
- {입력 자료 경로 — `@path` 형태. 자연어만 들어온 경우 `자연어 입력`으로 표기 후 본문 발췌 인용}
|
|
78
|
+
|
|
79
|
+
## {Task {N}.{M} {이름} | 화면명 | 메뉴명}
|
|
80
|
+
|
|
81
|
+
### {Story {N}.{M}.{L} {이름} | 하위 화면명}
|
|
82
|
+
|
|
83
|
+
#### 데이터 시드
|
|
84
|
+
|
|
85
|
+
- [ ] {시드 항목}
|
|
86
|
+
|
|
87
|
+
#### 메뉴 진입
|
|
88
|
+
|
|
89
|
+
- [ ] {진입 항목}
|
|
90
|
+
|
|
91
|
+
#### CRUD 흐름
|
|
92
|
+
|
|
93
|
+
- [ ] {등록/조회/수정/삭제 항목}
|
|
94
|
+
|
|
95
|
+
#### 엑셀 업·다운로드
|
|
96
|
+
|
|
97
|
+
- [ ] {업로드/다운로드 항목}
|
|
98
|
+
|
|
99
|
+
#### 매트릭스/결과 검증
|
|
100
|
+
|
|
101
|
+
- [ ] {결과 검증 항목}
|
|
102
|
+
````
|
|
103
|
+
|
|
104
|
+
## Step 5: 격리 검증 (정보 유실·누락 점검)
|
|
105
|
+
|
|
106
|
+
**CRITICAL: 자체 판단으로 생략 금지(NEVER). 자체 요약 텍스트로 대체 금지(NEVER). 반드시 Agent tool 호출로 수행한다.**
|
|
107
|
+
|
|
108
|
+
문서 작성 후, 작성자 편향 제거와 정보 유실 차단을 위해 메인 세션과 분리된 Agent tool로 격리 검증을 수행한다.
|
|
109
|
+
|
|
110
|
+
### 5-1. 검증 호출
|
|
111
|
+
|
|
112
|
+
Agent tool(effort: `low`)을 다음 입력으로 호출한다:
|
|
113
|
+
|
|
114
|
+
- **sit.md 절대 경로** — Step 4에서 작성한 검증 대상
|
|
115
|
+
- **입력 자료 절대 경로 목록** — 자연어만 들어온 경우 사용자 초기 요청 메시지 본문을 프롬프트에 인라인 삽입
|
|
116
|
+
- **사용자 초기 요청 메시지 본문** — 프롬프트에 인라인 삽입
|
|
117
|
+
|
|
118
|
+
Agent tool에 부여할 제약: "보고만 수행. sit.md를 수정하지 말 것."
|
|
119
|
+
|
|
120
|
+
### Agent tool 프롬프트에 포함할 검증 가이드
|
|
121
|
+
|
|
122
|
+
#### 검증 항목
|
|
123
|
+
|
|
124
|
+
1. **정량 매핑 표 (양방향 커버리지)** — 입력 자료에서 검증 항목 후보(화면 동작·필드·검증 조건·수치·열거값·예외 흐름)를 추출하여 sit.md 위치(섹션 헤더)에 1:1 매핑.
|
|
125
|
+
|
|
126
|
+
- 컬럼: `원본 표현` / `출처(자료명·위치)` / `sit.md 반영 위치` / `sit 표현` (반영 위치 빈칸 = 누락)
|
|
127
|
+
- 누락: 원본에 있는데 sit.md에 매핑되지 않은 항목
|
|
128
|
+
- 근거 없는 추가: sit.md에 있는데 입력 자료에서 추적 불가한 항목
|
|
129
|
+
|
|
130
|
+
2. **의역 변형 검출** — 원문이 구체적인데 sit.md가 추상화된 사례 (예: 원문 "도서명·저자·ISBN" → sit "필수 항목들")
|
|
131
|
+
|
|
132
|
+
3. **체크박스 형식 검증** — sit.md의 모든 검증 항목이 `- [ ] {항목명}` 형식으로 작성되었는지 확인 (`* `, `1.`, `- ` 단독, 체크박스 누락은 위반).
|
|
133
|
+
|
|
134
|
+
4. **그룹핑 형식 검증** — 입력 자료에 Task/Story 식별자가 있을 때 sit.md 본문에 Task 단위 섹션 + Story 단위 하위 섹션이 등장하는지 확인. 평면 체크리스트는 위반.
|
|
135
|
+
|
|
136
|
+
5. **단계 헤더 등장 검증** — sit.md 본문 전체에 데이터 시드/메뉴 진입/CRUD 흐름/엑셀 업·다운로드/매트릭스·결과 검증 중 1개 이상의 단계 헤더가 등장하는지 확인.
|
|
137
|
+
|
|
138
|
+
#### 완독 의무
|
|
139
|
+
|
|
140
|
+
원본 자료(첨부 파일·인라인 요청 메시지·sd-* 산출물)와 sit.md는 끝까지 읽는다. 키워드 검색만으로 종결하지 않는다.
|
|
141
|
+
|
|
142
|
+
#### 출력 포맷
|
|
143
|
+
|
|
144
|
+
- **요약** — 입력 항목 수 / 매핑·누락·근거 없는 추가·의역 변형·형식 위반 (각 정수)
|
|
145
|
+
- **정량 매핑 표** (항목 1)
|
|
146
|
+
- **누락 / 근거 없는 추가 / 의역 변형 / 형식 위반 / 단계 헤더 누락 목록** — 각 항목 출처, 권장 반영 위치, 권장 처리 방향 포함
|
|
147
|
+
|
|
148
|
+
### 5-2. 메인의 결과 처리
|
|
149
|
+
|
|
150
|
+
1. 모든 결과 항목은 `sd-clarify` 지침에 따라 명확화한다.
|
|
151
|
+
2. SIT 항목 재작성이 필요하면 Step 3으로 되돌아간다.
|
|
152
|
+
|
|
153
|
+
## Step 6: 다음 단계 안내
|
|
154
|
+
|
|
155
|
+
SIT 문서 작성 완료 후 다음 단계를 안내한다.
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
/sd-sit {sit.md 경로}
|
|
159
|
+
```
|