From sd
spec.md 의 단위(§4.x 화면 / §5.x 자동 처리 / §6.x 공통·기반 기능) 1개를 현재 코드베이스 상태와 비교해 차이만큼 풀 구현(테스트·시연 포함). Use when "화면 풀 구현", "데모를 실 구현으로", "화면 실가동", "자동 처리 풀 구현", "공통·기반 기능 풀 구현" 을 요청할 때.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sd:sd-implThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
spec.md 단위(§4.x 화면 / §5.x 자동 처리 / §6.x 공통·기반 기능) 1개를 현재 코드베이스 상태와 비교해 빠지거나 어긋난 부분만큼 풀 구현. 데모 골격이 있으면 보존. 끝에 사용자 시연으로 회귀 점검.
spec.md 단위(§4.x 화면 / §5.x 자동 처리 / §6.x 공통·기반 기능) 1개를 현재 코드베이스 상태와 비교해 빠지거나 어긋난 부분만큼 풀 구현. 데모 골격이 있으면 보존. 끝에 사용자 시연으로 회귀 점검.
호출 시나리오 2종 — 동일 워크플로:
워크플로 전 단계 적용:
§4.x (화면) / §5.x (자동 처리) / §6.x (공통·기반 기능).없으면 묻기. spec.md 에서 식별자 매칭이 안 되면 §4 화면 목록 표 / §5 자동 처리 / §6 공통·기반 기능 헤더 목록에서 후보를 제시 후 확정.
입력 spec.md 읽기 범위: 경로·식별자 확보 후 ① 구현 대상 단위(§4.x/§5.x/§6.x) 본문 → ② 그 본문이 이름 기반 참조([화면.X]·[모델.X]·[공통 정의.X] 등)로 가리키는 § 를 재귀적으로(참조의 참조까지) → ③ §10 본문 외 확정 사항 전체 를 Read. spec.md 는 다른 세션이 누적한 결정의 영속 산출물이라 안 읽은 영역의 결정·제약을 추측으로 덮어쓰면 안 되며, 그 결정·제약은 전역이면 §10·단위 한정이면 그 단위의 진행방법 NOTE 나 인라인 [OPEN] 에 모이도록 sd-spec 형식이 규정함. grep·부분 읽기로 대상 § 만 보고 §10·참조 § 를 빠뜨리지 않음.
작업 대상 §4.x/§5.x/§6.x 와 작업 대상이 참조하는 §5/§6/§7/§8/§9 항목을 점검:
[OPEN] (초안 부재): 섹션 본문이 재분석 포인터일 뿐 초안이 없음 → "spec 수정 절차" 적용.[OPEN]: 결정 근거가 있으면 결정. 없으면 1건씩 질문 → 답변 후 "spec 수정 절차" 적용.spec 본문 수정이 필요한 경우(인라인 [OPEN] 해소·섹션 [OPEN] 해소·구조 변경·6단계 (b)(c) 분류 처리 등) 메인 LLM 이 직접 처리:
[OPEN]·6단계 결정 반영)은 바로 Edit, 초안·판단 필요분(섹션 [OPEN] 초안·구조 변경·모순 정정)은 진단·초안 제시 → 합의 후 Edit. 수정분은 사후 보고.[구현] 마커 제거" 절의 의존 식별 규칙으로 수정된 § 를 의존으로 가진 §4.x/§5.x/§6.x 를 전수 추적. 본 작업 단위 자신은 제외 (작업 중).[구현] 마커 제거 (이전 구현 무효화). 합의 절차도 같은 절 따름.본 작업 단위(§4.x/§5.x/§6.x 자신)의 헤더에는 9단계에서 [구현] 마커를 부착.
부재로 워크플로를 멈추지 않음. framework 별 세부 지침은 본 SKILL.md 본문에 명시하지 않음 — 코드베이스 매뉴얼·기준 단위·테스트 환경이 발견되면 따르고, 부재 시 framework 자체 표준(Angular CLI 기본 구조·esbuild 기본 옵션 등)으로 채워도 됨. 도메인 결정·분기·계산식 등 spec 결정 사항은 본질 "임의 채움 금지" 적용.
@simplysm/* — SessionStart 가 주입한 활성 references 경로의 README.md 참조 후 "개발 매뉴얼" 진입.풀 구현은 다층 흐름이 한 줄로 가야 일관성이 유지됨. 기존 단위 1개를 통째로 따라가는 방식이 아니라, 기준 단위 1개를 잡고 비어있거나 부적합한 계층만 다른 단위에서 보강.
4계층:
| 계층 | §4.x (화면) | §5.x (자동 처리) | §6.x (공통·기반 기능) |
|---|---|---|---|
| 도메인 모델 | 엔티티·필드 | 동일 | 동일 |
| 데이터 접근 | 쿼리·서비스 | 동일 | 동일 |
| 본체 | 화면 컴포넌트 | 자동 처리 로직 + 트리거 | 부수효과 후크 또는 설정·부트스트랩 구성 |
| 테스트 | 단위 테스트 | 동일 | 동일 |
기준 단위 선정 (같은 종류 §4.x↔§4.x, §5.x↔§5.x, §6.x↔§6.x 안에서):
계층별 보강: 기준 단위의 4계층 각각을 다음과 같이 평가:
| 평가 | 의미 | 처리 |
|---|---|---|
| 비어있음 | 해당 계층 파일이 기준 단위에 없음 | 같은 종류 다른 단위에서 그 계층 패턴 차용 |
| 부적합 | 있지만 spec 요구와 어긋남 | 같은 종류 다른 단위에서 그 계층 패턴 차용 |
| 적합 | 그대로 따름 | 변경 없이 사용 |
비어있음·부적합 계층은 같은 종류의 서로 다른 단위 2개 이상에서 동일하게 나타난 패턴을 자동 채택. 단위 1개에서만 쓰인 변종은 배제. 여러 패턴이 갈리면 사용자에게 1회 질문.
읽기: 기준 단위의 적합 계층 파일 + 보강 출처 파일을 모두 읽기. 5단계 작성 시 채택 패턴 기준이자 7단계 drift 점검의 입력.
단위 테스트 프로젝트 구분·실행 명령·mocking 패턴·dev 서버 실행 명령을 파악. 부재 시 framework 자체 표준으로 조합.
대상 §4.x/§5.x/§6.x 와 참조 §5/§6/§7/§8/§9 본문을 항목 단위까지 분해하여 표 작성. 표는 assistant 응답으로 출력 (이후 5·6단계의 입력). 일치 항목은 손대지 않음(차이만 작업).
예시 (재고관리 도메인, 박스 입고 화면 §4.1 일부):
| 항목 ID | spec 인용 | 현재 코드 상태 | 판정 | 매핑 파일 | 의존 |
|---|---|---|---|---|---|
| 1 | §4.1 항목 "박스 바코드" (필수·문자열·24자) | 없음 | 없음 | packages/app/src/screens/incoming/box-form.view.ts | - |
| 2 | §4.1 동작 "스캔: 바코드 검증·박스 등록" | 있음 (검증 누락) | 불일치 | (동일) | 1 |
항목 분해 단위:
컬럼:
분해 중 spec 본문이 정의·정의식·분기·경계 케이스를 다루지 않거나 모순되는 부분을 발견 → 2단계로 회귀("spec 수정 절차" 적용).
표 작성 완료 후 5단계 진입.
표의 (없음·불일치) 판정 항목만 의존 순서로 진행 (차이만 작업). 일치 항목은 손대지 않음.
데모 골격 보존: 작업 대상 매핑 파일이 데모 골격(sd-demo 산출물)이면 골격 구조를 유지하며 차이만 보강.
각 항목 시작 시 테스트 작성 가능 여부를 판정 (3-C 의 테스트 환경 이용):
| 분류 | 적용 대상 | 사이클 |
|---|---|---|
| 테스트 가능 | 도메인 로직·계산·변환·서버 함수·데이터 접근 | RED → GREEN → REFACTOR |
| 테스트 불가·비효율 | UI 시각·인터랙션·외부 서비스 실호출·환경 의존 | 구현 → REFACTOR |
테스트 단위 = spec 이 요구한 산출 단위. 내부 구현을 쪼개지 말 것:
사이클 단계 정의:
작업 사이클 중 spec 미정의·모호 분기를 만나면 2단계로 회귀.
5단계의 모든 항목 완료 후, 별도 subagent 에 위탁해 spec ↔ 현재 코드 전체를 독립 대조. 같은 LLM 의 자체 검증에서 발생하는 표면적 확인 편향을 제거하는 목적.
대조는 작업 단위 전체를 대상으로 함. 신규·갱신 호출 무관, "이번 변경분만" 식 스코프 제한 없음.
Agent.subagent_type: general-purpose (추론·도메인 어휘 풀어 보고 필요해 read-only 에이전트 사용 안 함).description: sd-impl spec 대조.prompt: 아래 입력 패키지 (그대로 복사 후 <…> 부분만 채움).sd-impl 의 spec ↔ 코드 독립 대조를 수행해줘.
**대상**:
- spec.md 경로: <절대경로>
- 단위 식별자: <§4.x / §5.x / §6.x>
**참조 자료**:
(1) 4단계 spec 분해 표 (인라인):
| 항목 ID | spec 인용 | 현재 코드 상태 | 판정 | 매핑 파일 | 의존 |
| ------- | --------- | -------------- | ---- | --------- | ---- |
| ... | ... | ... | ... | ... | ... |
(2) 현재 구현 파일 목록 (절대경로):
- <file1>
- <file2>
- ...
**작업**:
1. spec.md 의 §<단위> 본문 + 참조 §5/§6/§7/§8/§9 항목을 다시 읽기.
2. 현재 구현 파일을 모두 읽기.
3. spec ↔ 코드를 항목 단위로 1:1 대조 (단위 전체 대상. "이번 변경분만" 식 스코프 제한 없음).
4. 차이 발견 시 아래 3분류로 보고:
- (a) **코드 위반**: spec 명확한데 코드가 빠뜨림·다름.
- (b) **spec 내부 모순**: §A 정의 vs §B 정의 충돌. (양쪽 인용 명시)
- (c) **spec 미정의 + 코드 임의 채움**: spec 본문에 정의·분기·경계 케이스 명시 없는데 코드가 채움.
5. 보고 형식 (각 차이 1건마다):
### 차이 N: <도메인 어휘로 표현된 한줄 요약>
- 분류: (a) / (b) / (c)
- spec 위치: §X.x line Y
- spec 인용: "..."
- 코드 위치: <file:line>
- 코드 동작: <도메인 어휘로>
- 비고: (b) 면 모순 상대 인용 함께
6. 차이 0건이면 `차이 없음, 검증 통과` 1줄만 응답.
**제약**:
- 보고 본문에 코드 식별자(변수명·SQL 함수명·타입 키워드 등) 노출 금지. 모두 도메인 어휘로 풀어 쓸 것.
- "코드가 spec 위반" 으로 단정 금지. 3분류 중 어디에 해당하는지 명시.
- spec 본문에 인용할 수 있는 문구가 없으면 (b)(c) 후보로 처리.
**산출**: 위 3분류 보고 목록 또는 `차이 없음, 검증 통과`.
subagent 출력을 받은 후 분류별로 처리:
(b)(c) 모두 한꺼번에 묶음 보고 금지. 1건씩 합의.
처리 완료 후 6단계 재실행 (재대조). 차이 0건 확인 후 7단계 진입.
정리 후 단위 테스트 재실행하여 회귀 없음을 확인.
시연 스킵 조건: 대상 단위에 세션 시작 시점부터 이미 [구현] 마커가 있었고(이전 시연 완료) + 이번 세션이 코드 파일을 하나도 생성·수정하지 않음(5단계 편집 0건 + 6단계 (a) 코드 위반 0건) → 본 단계 스킵 후 9단계 진입. 마커가 없던 단위(첫 검증)는 코드 변경이 없어도 시연 수행.
사용자에게 요청: "dev 서버를 실행하고 접속 주소를 알려달라."
사용자가 띄워 주소를 회신할 때까지 대기. 사용자가 본 단계의 스킵을 지시하거나 시연 불가 환경이 명시되면 본 단계 스킵 후 9단계 진입.
주소 회신 후 playwright-cli 로 §4.x/§5.x/§6.x 동작 시나리오를 직접 시연:
회귀 발견 시 5단계로 회귀 → 수정 → 재시연.
[구현] 마커를 부착. 이미 [구현] 이 있으면 그대로 둠 (날짜·[확정] 부착 안 함).npx claudepluginhub kslhunter/simplysm --plugin sdCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.