@simplysm/sd-claude 13.0.95 → 13.0.96

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/README.md CHANGED
@@ -101,12 +101,14 @@ INIT_CWD 환경변수 → node_modules 경로에서 역추적 → process.cwd()
101
101
  | 파일 | 설명 |
102
102
  |---|---|
103
103
  | `sd-claude-rules.md` | 질문 응답/문제해결 원칙 (편법 금지, 근본 원인 추적) |
104
+ | `sd-library-issue.md` | `@simplysm/*` 라이브러리 버그 발견 시 이슈 리포트 작성 규칙 |
104
105
  | `sd-readme.md` | `@simplysm/*` 패키지 사용 시 README.md 참조 규칙 |
105
106
 
106
107
  **Skills (`.claude/skills/`):**
107
108
 
108
109
  | 스킬 | 설명 |
109
110
  |---|---|
111
+ | `sd-apk-decompile` | APK 디컴파일 (JADX + Apktool + dex2jar/CFR) |
110
112
  | `sd-audit` | 코드베이스 점검 및 개선 사항 도출 |
111
113
  | `sd-check` | typecheck + lint(fix) + 단위test 순차 수행 및 자동 수정 |
112
114
  | `sd-commit` | `[type] scope` 형식의 커밋 메시지 생성 및 커밋 |
@@ -114,9 +116,12 @@ INIT_CWD 환경변수 → node_modules 경로에서 역추적 → process.cwd()
114
116
  | `sd-document` | `.docx/.xlsx/.pptx/.pdf` 파일 분석 및 생성 |
115
117
  | `sd-email-analyze` | `.eml/.msg` 이메일 파일 분석 (헤더/본문/첨부파일 추출) |
116
118
  | `sd-init` | 프로젝트 설정 분석 후 `CLAUDE.md` 자동 생성 |
119
+ | `sd-migration` | 원본/현재 코드베이스 비교 분석 후 마이그레이션 대상 목록 생성 |
117
120
  | `sd-plan` | 요구분석서/점검 결과 기반 TDD 구현계획서 작성 |
118
121
  | `sd-plan-dev` | 구현계획서 기반 TDD 방식 실제 구현 수행 |
119
122
  | `sd-readme` | LLM 인덱싱용 `README.md` 및 `docs/` 생성 |
123
+ | `sd-review` | spec/plan 문서와 구현 비교하여 완성도 검증 |
124
+ | `sd-simplify` | 수정된 코드를 reuse/quality/efficiency 관점으로 검토 및 개선 |
120
125
  | `sd-spec` | 사용자 요청과 코드베이스 분석 후 요구분석서 작성 |
121
126
  | `sd-test` | TDD 테스트 작성 및 실행 |
122
127
  | `sd-use` | 요청 내용에 적합한 `sd-*` 스킬 자동 매칭 및 실행 |
@@ -127,7 +127,7 @@ argument-hint: "<입력 문서 경로 [R번호]> 또는 <간단한 요구사항>
127
127
 
128
128
  ### Refactor Phase
129
129
 
130
- `/sd-simplify {수정한 파일 목록}` 하여 품질 개선 → 테스트 재실행하여 통과 확인
130
+ `/sd-simplify` 하여 코드 리팩터링완료 후 멈추지 말고 즉시 테스트 재실행하여 통과 확인
131
131
  ```
132
132
 
133
133
  **참조 문서 표기 규칙:**
@@ -107,7 +107,7 @@ plan의 GREEN Phase에 명시된 구현 계획에 따라 최소한의 구현을
107
107
 
108
108
  ### Refactor Phase
109
109
 
110
- `/sd-simplify {수정한 파일 목록}` 하여 품질을 개선한다.
110
+ `/sd-simplify` 하여 코드를 리팩터링한다. 완료 멈추지 말고 즉시 다음 단계로 진행한다.
111
111
  - 완료 후 테스트를 재실행하여 통과를 확인한다
112
112
  - 리팩터링으로 테스트가 깨지면 수정 후 재확인한다
113
113
 
@@ -115,7 +115,7 @@ plan의 GREEN Phase에 명시된 구현 계획에 따라 최소한의 구현을
115
115
 
116
116
  **각 작업의 TDD 사이클(RED → GREEN → Refactor) 완료 직후, 다음 작업으로 넘어가기 전에 반드시 커밋한다.**
117
117
 
118
- - `/sd-commit`을 실행하여 해당 작업에서 수정한 파일을 커밋한다
118
+ - `/sd-commit`을 실행하여 해당 작업에서 수정한 내용을 커밋한다
119
119
  - 작업 하나 = commit 하나. 여러 작업을 몰아서 한번에 커밋하지 않는다
120
120
 
121
121
  ### 다음 작업 전이
@@ -1,30 +1,32 @@
1
1
  ---
2
2
  name: sd-simplify
3
- description: 수정된 코드를 reuse·quality·efficiency 관점으로 검토하고 개선. 사용자가 코드 품질 리뷰를 요청할 때 사용
3
+ description: 외부 동작을 유지하면서 코드의 내부 구조를 개선. 사용자가 코드 리팩터링을 요청할 때 사용
4
4
  argument-hint: "<파일 경로 목록>"
5
5
  ---
6
6
 
7
- # sd-simplify: 코드 품질 검토 및 개선
7
+ # sd-simplify: 코드 리팩터링
8
8
 
9
- 수정된 파일을 reuse, quality, efficiency 3가지 관점으로 검토하고, 문제 발견 시 직접 수정한다.
9
+ 외부 동작을 그대로 유지하면서 내부 구조를 개선한다. 새로운 기능을 추가하지 않는다.
10
10
 
11
- ## 1. 3관점 검토
11
+ ## 1. 대상 파일 결정
12
12
 
13
- 다음 3가지 관점으로 코드를 검토하고, 개선이 필요한 부분을 수정한다.
13
+ `$ARGUMENTS`를 분석한다:
14
+ - 파일 경로가 있으면 해당 파일을 대상으로 한다
15
+ - 비어있으면 현재 대화에서 수정된 파일을 대상으로 한다
16
+ - 대상을 파악할 수 없으면 AskUserQuestion으로 요청한다
14
17
 
15
- ### Reuse (재사용성)
16
- - 중복 코드를 기존 유틸리티/헬퍼로 대체할 수 있는지
17
- - 반복 패턴을 공통화할 수 있는지
18
+ ## 2. 리팩터링 수행
18
19
 
19
- ### Quality (품질)
20
- - 네이밍이 의도를 명확히 전달하는지
21
- - 함수/메서드의 책임이 단일한지
22
- - 가독성을 해치는 구조가 있는지
20
+ 대상 파일을 읽고 다음 항목을 순서대로 점검하여 해당 사항이 있으면 수정한다.
23
21
 
24
- ### Efficiency (효율성)
25
- - 불필요한 연산/할당이 있는지
26
- - 적합한 데이터 구조나 알고리즘이 있는지
22
+ - **중복 제거**: 복붙이나 비슷한 로직이 있으면 공통 함수/메서드로 추출
23
+ - **네이밍 개선**: 의도가 불명확한 변수명/함수명/클래스명을 명확하게 변경
24
+ - **구조 분리**: 하나의 함수가 너무 많은 일을 하면 책임 단위로 분리 (Extract Method, Extract Class)
25
+ - **매직 넘버/하드코딩 제거**: `if (x === 3)` 같은 코드를 의미 있는 상수나 파라미터로 변환
26
+ - **테스트 코드 리팩터링**: 테스트 간 중복 setup을 beforeEach로 묶기, 테스트 헬퍼 추출, 테스트 이름 명확화
27
27
 
28
- ## 2. 완료
28
+ ## 3. 완료
29
29
 
30
- - 수정이 있는 경우에만, 수정된 파일 목록만 간략히 출력한다.
30
+ - 수정한 경우: 수정된 파일 목록과 변경 내용을 간략히 출력한다
31
+ - 수정할 것이 없는 경우: "리팩터링 대상 없음"을 출력한다
32
+ - 완료 후 절대 멈추지 않는다. 호출한 스킬의 다음 단계로 즉시 진행한다.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: sd-spec
3
3
  description: 사용자 요청과 코드베이스를 분석하여 요구분석서를 작성. 사용자가 요구분석/spec 작성을 요청할 때 사용
4
- argument-hint: "<topic> 또는 <spec 경로 R번호> 또는 <R번호> 또는 <migration.md 경로 M번호>"
4
+ argument-hint: "<topic> 또는 <spec 경로 R번호> 또는 <R번호> 또는 <migration.md 경로 [M번호...]>"
5
5
  ---
6
6
 
7
7
  # sd-spec: 요구분석서 작성
@@ -26,13 +26,16 @@ argument-hint: "<topic> 또는 <spec 경로 R번호> 또는 <R번호> 또는 <mi
26
26
  - 대화에도 spec이 없으면 AskUserQuestion으로 spec 파일 경로를 요청한다
27
27
  - 해당 spec을 Read하고 R항목의 내용을 추출한다. 해당 R번호가 존재하지 않으면 AskUserQuestion으로 올바른 R번호를 확인한다
28
28
 
29
- ### 1-3. migration.md 경로 + M번호 (마이그레이션 spec 모드)
29
+ ### 1-3. migration.md 경로 (+ 선택적 M번호) (마이그레이션 spec 모드)
30
30
 
31
- `$ARGUMENTS`에 `migration.md`로 끝나는 경로가 포함되고, 뒤에 `M숫자` 패턴이 따라오는 경우:
31
+ `$ARGUMENTS`에 `migration.md`로 끝나는 경로가 포함된 경우:
32
32
  - 해당 migration.md를 Read한다
33
- - 지정된 M항목(`#### M{숫자}. {제목}`)의 내용을 추출한다 (여러 M번호 지정 가능)
33
+ - 경로 뒤에 `M숫자` 패턴이 있으면 해당 M항목만 대상으로 한다 (여러 M번호 지정 가능)
34
+ - 경로만 있으면 (M번호 미지정) 문서 내 모든 M항목을 대상으로 한다
35
+ - 대상 M항목(`#### M{숫자}. {제목}`)의 내용을 추출한다
34
36
  - M항목의 "유형", "원본 위치", "현재 대응", "설명" 정보를 기반으로 요구분석서를 작성한다
35
37
  - 해당 M번호가 존재하지 않으면 AskUserQuestion으로 올바른 M번호를 확인한다
38
+ - 예: `/sd-spec .tasks/260316_my-app-migration/migration.md` → 모든 M항목 대상
36
39
  - 예: `/sd-spec .tasks/260316_my-app-migration/migration.md M3`
37
40
  - 예: `/sd-spec .tasks/260316_my-app-migration/migration.md M1 M5`
38
41
 
@@ -212,10 +215,14 @@ argument-hint: "<topic> 또는 <spec 경로 R번호> 또는 <R번호> 또는 <mi
212
215
 
213
216
  ### 마이그레이션 spec 모드
214
217
 
215
- - 디렉토리: migration.md와 동일 디렉토리 하위에 `{M번호}/` (복수 M이면 `{M번호}_{M번호}/`)
218
+ - 특정 M번호 지정 시: migration.md와 동일 디렉토리 하위에 `{M번호}/` (복수 M이면 `{M번호}_{M번호}/`)
219
+ - M번호 미지정 시 (전체): migration.md와 동일 디렉토리에 `spec.md`
216
220
  - 파일명: `spec.md`
217
- - 전체 경로: `{migration.md 디렉토리}/{M번호}/spec.md`
218
- - 예: migration.md가 `.tasks/260316_my-app-migration/migration.md`이고 M3이면 → `.tasks/260316_my-app-migration/M3/spec.md`
221
+ - 전체 경로:
222
+ - 특정 M: `{migration.md 디렉토리}/{M번호}/spec.md`
223
+ - 전체: `{migration.md 디렉토리}/spec.md`
224
+ - 예: migration.md가 `.tasks/260316_my-app-migration/migration.md`이고 M번호 미지정이면 → `.tasks/260316_my-app-migration/spec.md`
225
+ - 예: M3이면 → `.tasks/260316_my-app-migration/M3/spec.md`
219
226
  - 예: M1과 M5이면 → `.tasks/260316_my-app-migration/M1_M5/spec.md`
220
227
  - 디렉토리가 없으면 먼저 생성한다
221
228
 
@@ -117,7 +117,7 @@ sd-plan의 테스트 전략 결정과 sd-plan-dev의 TDD 사이클 실행을 통
117
117
 
118
118
  GREEN Phase에서 대상 파일을 수정한 경우에만 수행한다.
119
119
 
120
- `/sd-simplify {수정한 파일 목록}` 하여 품질을 개선한다.
120
+ `/sd-simplify` 하여 코드를 리팩터링한다. 완료 멈추지 말고 즉시 다음 단계로 진행한다.
121
121
  - 완료 후 테스트를 재실행하여 통과를 확인한다
122
122
  - 리팩터링으로 테스트가 깨지면 수정 후 재확인한다
123
123
 
@@ -33,7 +33,7 @@ argument-hint: "<요청 내용> | --help"
33
33
  | sd-check | typecheck, lint(fix), 단위test를 순차 수행하고 에러를 자동 수정 | 품질 검사, check, typecheck, lint, 코드 검사, 자동 수정 |
34
34
  | sd-test | 테스트 대상에 대해 작업 유형별 TDD 테스트를 독립 수행 | 테스트, 테스트 작성, 유닛 테스트 |
35
35
  | sd-review | spec/plan 문서와 구현을 비교하여 완성도를 검증 | 리뷰, review, 검증, 충족, 완성도, 구현 검토 |
36
- | sd-simplify | 수정된 코드를 reuse·quality·efficiency 관점으로 검토하고 개선 | 리팩터, simplify, 품질 개선, clean code |
36
+ | sd-simplify | 외부 동작을 유지하면서 코드의 내부 구조를 개선 | 리팩터링, simplify, 중복 제거, 구조 개선 |
37
37
  | sd-commit | 변경사항을 분석하여 [type] scope 형식의 커밋 메시지를 생성하고 커밋 | 커밋, commit, 변경사항 저장, git commit |
38
38
  | sd-apk-decompile | APK 파일을 디컴파일하여 Java 소스, 리소스, 웹 에셋을 추출 | APK, 디컴파일, decompile, 안드로이드 분석 |
39
39
  | sd-migration | 원본 코드베이스와 현재 코드베이스를 비교 분석하여 마이그레이션 대상 목록을 생성 | 마이그레이션, migration, 코드 이전, 포팅 |
@@ -125,7 +125,7 @@ argument-hint: "<요청 내용> | --help"
125
125
 
126
126
  /sd-document ──────> .docx/.xlsx/.pptx/.pdf 읽기/쓰기
127
127
 
128
- /sd-simplify ─────> reuse·quality·efficiency 관점 코드 검토 + 수정
128
+ /sd-simplify ─────> 코드 리팩터링 (중복 제거, 네이밍 개선, 구조 분리)
129
129
 
130
130
  /sd-commit ────────> 변경사항 분석 + [type] scope 커밋 메시지 생성 + 커밋
131
131
 
@@ -165,7 +165,7 @@ argument-hint: "<요청 내용> | --help"
165
165
  | `/sd-commit` | 커밋 메시지 생성 + 커밋 | `/sd-commit` |
166
166
  | `/sd-document` | 문서 읽기/쓰기 | `/sd-document report.xlsx` |
167
167
  | `/sd-email-analyze` | 이메일 분석 | `/sd-email-analyze mail.eml` |
168
- | `/sd-simplify` | 코드 품질 검토 및 개선 | `/sd-simplify src/utils.ts src/helper.ts` |
168
+ | `/sd-simplify` | 코드 리팩터링 | `/sd-simplify src/utils.ts` |
169
169
  | `/sd-apk-decompile` | APK 디컴파일 | `/sd-apk-decompile app.apk` |
170
170
  | `/sd-migration` | 마이그레이션 분석 | `/sd-migration /d/projects/old-app` |
171
171
  | `/sd-use` | 자동 스킬 매칭 | `/sd-use 로그인 버그 좀 봐줘` |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/sd-claude",
3
- "version": "13.0.95",
3
+ "version": "13.0.96",
4
4
  "description": "Simplysm Claude Code asset installer",
5
5
  "author": "simplysm",
6
6
  "license": "Apache-2.0",