@simplysm/sd-claude 13.0.85 → 13.0.87

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 (33) hide show
  1. package/README.md +160 -30
  2. package/claude/rules/sd-claude-rules.md +14 -11
  3. package/claude/rules/sd-library-issue.md +9 -4
  4. package/claude/rules/sd-readme.md +5 -0
  5. package/claude/skills/sd-audit/SKILL.md +133 -0
  6. package/claude/skills/sd-check/SKILL.md +111 -49
  7. package/claude/skills/sd-commit/SKILL.md +121 -32
  8. package/claude/skills/sd-debug/SKILL.md +96 -82
  9. package/claude/skills/sd-document/SKILL.md +64 -58
  10. package/claude/skills/sd-document/_common.py +1 -6
  11. package/claude/skills/sd-document/extract_docx.py +0 -1
  12. package/claude/skills/sd-document/extract_pdf.py +17 -25
  13. package/claude/skills/sd-document/extract_pptx.py +0 -1
  14. package/claude/skills/sd-document/extract_xlsx.py +2 -4
  15. package/claude/skills/sd-email-analyze/SKILL.md +33 -23
  16. package/claude/skills/sd-init/SKILL.md +99 -80
  17. package/claude/skills/sd-plan/SKILL.md +113 -119
  18. package/claude/skills/sd-plan-dev/SKILL.md +122 -0
  19. package/claude/skills/sd-readme/SKILL.md +147 -100
  20. package/claude/skills/sd-spec/SKILL.md +207 -0
  21. package/claude/skills/sd-spec/sections/api.md +85 -0
  22. package/claude/skills/sd-spec/sections/architecture.md +104 -0
  23. package/claude/skills/sd-spec/sections/db.md +99 -0
  24. package/claude/skills/sd-spec/sections/process.md +98 -0
  25. package/claude/skills/sd-spec/sections/ui.md +146 -0
  26. package/claude/skills/sd-test/SKILL.md +116 -0
  27. package/claude/skills/sd-use/SKILL.md +149 -0
  28. package/package.json +1 -1
  29. package/claude/rules/sd-simplysm-usage.md +0 -7
  30. package/claude/skills/sd-api-review/SKILL.md +0 -85
  31. package/claude/skills/sd-document/__pycache__/_common.cpython-313.pyc +0 -0
  32. package/claude/skills/sd-review/SKILL.md +0 -72
  33. package/claude/skills/sd-simplify/SKILL.md +0 -66
@@ -0,0 +1,149 @@
1
+ ---
2
+ name: sd-use
3
+ description: 사용자의 요청을 분석하여 적절한 sd-* 스킬을 자동으로 매칭하고 즉시 실행.
4
+ argument-hint: "<요청 내용> | --help"
5
+ ---
6
+
7
+ # sd-use: 자동 스킬 라우터
8
+
9
+ 사용자가 어떤 스킬을 써야할지 모를 때, 요청을 분석하여 적절한 sd-* 계열 스킬을 자동으로 매칭하고 즉시 실행한다.
10
+
11
+ ## 1. 인자 파싱
12
+
13
+ `$ARGUMENTS`에서 사용자 요청 텍스트를 추출한다.
14
+ - `$ARGUMENTS`가 `--help`이면 바로 **5. 도움말 출력** 단계로 이동한다
15
+ - `$ARGUMENTS`가 비어있으면 현재 대화 맥락에서 요청을 파악한다
16
+ - 대화 맥락도 없으면 AskUserQuestion으로 요청 내용을 질문한다
17
+
18
+ ## 2. 스킬 매칭
19
+
20
+ 사용자 요청의 의도를 분석하여 아래 sd-* 스킬 중 가장 적합한 스킬을 판단한다. sd-use 자신은 매칭 대상에서 제외한다.
21
+
22
+ | 스킬 | 설명 | 키워드 힌트 |
23
+ |------|------|------------|
24
+ | sd-debug | 문제(버그, 에러, 비정상 동작)의 근본 원인을 분석하고 해결책을 제시 | 버그, 에러, 오류, 안됨, 무한루프, 크래시, 실패, 문제 |
25
+ | sd-document | 문서 파일(.docx/.xlsx/.pptx/.pdf)을 읽어 분석하거나 새 문서를 생성 | .docx, .xlsx, .pptx, .pdf, 문서 읽기, 문서 생성, 보고서, 엑셀 |
26
+ | sd-email-analyze | 이메일 파일(.eml/.msg)을 분석하여 헤더, 본문, 첨부파일을 추출 | .eml, .msg, 이메일, 메일 분석 |
27
+ | sd-init | 프로젝트 설정 파일을 분석하여 CLAUDE.md를 자동 생성 | CLAUDE.md, 프로젝트 초기화, init |
28
+ | sd-plan | 요구분석서 또는 리뷰 결과를 기반으로 TDD 방식의 구현계획서를 작성 | 구현계획, plan, 계획 수립, spec 기반 |
29
+ | sd-plan-dev | 구현계획서를 기반으로 TDD 방식의 실제 구현을 수행 | 구현 실행, plan-dev, 계획 실행, TDD 실행 |
30
+ | sd-readme | LLM 인덱싱용 README.md 및 docs/ 생성 | README, 문서화, 패키지 문서 |
31
+ | sd-audit | 코드베이스를 여러 관점에서 병렬로 점검하고 승인된 결과를 문서로 저장 | 점검, 감사, 개선점, 문제점 |
32
+ | sd-spec | 사용자 요청과 코드베이스를 분석하여 요구분석서를 작성 | 요구분석, 요구사항, spec, 기능 정의 |
33
+ | sd-check | typecheck, lint(fix), 단위test를 순차 수행하고 에러를 자동 수정 | 품질 검사, check, typecheck, lint, 코드 검사, 자동 수정 |
34
+ | sd-test | 테스트 대상에 대해 작업 유형별 TDD 테스트를 독립 수행 | 테스트, 테스트 작성, 유닛 테스트 |
35
+ | sd-commit | 변경사항을 분석하여 [type] scope 형식의 커밋 메시지를 생성하고 커밋 | 커밋, commit, 변경사항 저장, git commit |
36
+
37
+ 키워드 힌트는 참고용이며, 최종 판단은 요청의 전체 맥락과 의도를 기준으로 한다.
38
+
39
+ ### 매칭 결과 분기
40
+
41
+ **단일 스킬이 명확히 매칭되는 경우:**
42
+ - 바로 3단계(스킬 실행)로 진행한다
43
+
44
+ **복수 스킬이 후보인 경우 (판단 어려움):**
45
+ - 후보 스킬들의 설명을 텍스트로 먼저 출력한다
46
+ - AskUserQuestion으로 후보 목록을 제시하여 사용자에게 선택을 요청한다
47
+ - 사용자가 선택한 스킬로 3단계를 진행한다
48
+
49
+ **매칭 스킬이 없는 경우:**
50
+ - "적합한 스킬을 찾을 수 없습니다."를 출력한 뒤 위 테이블의 스킬 목록을 안내하고 종료한다
51
+
52
+ ## 3. 스킬 안내 출력
53
+
54
+ 스킬을 실행하기 전에 다음 형식으로 안내를 출력한다:
55
+
56
+ ```
57
+ > **`/sd-{매칭된 스킬명}`** — {스킬 설명}
58
+ >
59
+ > 유사 스킬: `/sd-{유사1}` (차이점), `/sd-{유사2}` (차이점)
60
+ >
61
+ > 다음부터는 `/sd-{매칭된 스킬명} {인자}`로 직접 호출할 수 있습니다.
62
+ ```
63
+
64
+ - 유사 스킬은 위 테이블에서 매칭 스킬과 혼동될 수 있는 스킬 1~2개를 선택한다
65
+ - 각 유사 스킬에 매칭 스킬과의 차이점을 간결히 설명한다
66
+ - 유사 스킬이 없으면 해당 줄을 생략한다
67
+
68
+ ## 4. 스킬 실행
69
+
70
+ 사용자 요청 전체를 인자로 하여 Skill tool로 매칭된 스킬을 호출한다.
71
+
72
+ ## 5. 도움말 출력
73
+
74
+ `--help` 인자가 주어졌을 때 아래 내용을 그대로 출력하고 종료한다:
75
+
76
+ ````
77
+ ## sd-* 스킬 프로세스 다이어그램
78
+
79
+ ### 메인 개발 파이프라인
80
+
81
+ ```
82
+ /sd-spec /sd-audit /sd-debug
83
+ (요구분석) (코드점검) (버그분석)
84
+ | | |
85
+ v v v
86
+ spec.md audit.md debug.md
87
+ | | |
88
+ +------------ ---+------------------+
89
+ v
90
+ /sd-plan
91
+ (구현계획 작성)
92
+ |
93
+ v
94
+ plan.md
95
+ |
96
+ v
97
+ /sd-plan-dev
98
+ (TDD 방식 구현 수행)
99
+ |
100
+ v
101
+ 코드 + 테스트
102
+ ```
103
+
104
+ ### 독립 스킬
105
+
106
+ ```
107
+ /sd-check ─────────> typecheck + lint(fix) + test 순차 실행 + 자동 수정
108
+
109
+ /sd-test ──────────> 테스트 작성 + 실행 (RED > GREEN > Refactor)
110
+
111
+ /sd-readme ────────> README.md + docs/ 생성
112
+
113
+ /sd-init ──────────> CLAUDE.md 자동 생성
114
+
115
+ /sd-document ──────> .docx/.xlsx/.pptx/.pdf 읽기/쓰기
116
+
117
+ /sd-commit ────────> 변경사항 분석 + [type] scope 커밋 메시지 생성 + 커밋
118
+
119
+ /sd-email-analyze ─> .eml/.msg 분석 > 첨부파일 추출
120
+ |
121
+ v
122
+ /sd-document (문서 첨부파일)
123
+ ```
124
+
125
+ ### 라우터
126
+
127
+ ```
128
+ /sd-use ──> 사용자 자연어 요청을 분석하여 위 모든 sd-* 스킬로 자동 매칭
129
+ ```
130
+
131
+ ### 스킬 목록
132
+
133
+ | 스킬 | 설명 | 사용 예시 |
134
+ |------|------|----------|
135
+ | `/sd-spec` | 요구분석서 작성 | `/sd-spec 로그인 기능 추가` |
136
+ | `/sd-audit` | 병렬 코드 점검 | `/sd-audit packages/core-common` |
137
+ | `/sd-debug` | 버그 원인 분석 | `/sd-debug 로그인 시 500 에러 발생` |
138
+ | `/sd-plan` | TDD 구현계획 작성 | `/sd-plan .tasks/.../spec.md` |
139
+ | `/sd-plan-dev` | 구현계획 기반 구현 | `/sd-plan-dev .tasks/.../plan.md` |
140
+ | `/sd-check` | 코드 품질 검사 + 자동 수정 | `/sd-check packages/core-common` |
141
+ | `/sd-test` | 독립 TDD 테스트 | `/sd-test packages/core-common/src/utils.ts` |
142
+ | `/sd-readme` | README.md 생성 | `/sd-readme packages/core-common` |
143
+ | `/sd-init` | CLAUDE.md 생성 | `/sd-init` |
144
+ | `/sd-commit` | 커밋 메시지 생성 + 커밋 | `/sd-commit` |
145
+ | `/sd-document` | 문서 읽기/쓰기 | `/sd-document report.xlsx` |
146
+ | `/sd-email-analyze` | 이메일 분석 | `/sd-email-analyze mail.eml` |
147
+ | `/sd-use` | 자동 스킬 매칭 | `/sd-use 로그인 버그 좀 봐줘` |
148
+ | `/sd-use --help` | 이 가이드 표시 | `/sd-use --help` |
149
+ ````
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/sd-claude",
3
- "version": "13.0.85",
3
+ "version": "13.0.87",
4
4
  "description": "Simplysm Claude Code asset installer",
5
5
  "author": "simplysm",
6
6
  "license": "Apache-2.0",
@@ -1,7 +0,0 @@
1
- # @simplysm Package Documentation
2
-
3
- When you need detailed API information, usage examples, or component props for `@simplysm/*` packages,
4
- read the corresponding package's README.md.
5
-
6
- 1. Read the package's README.md: `packages/{package-name}/README.md`
7
- 2. If the README.md contains a `docs/` index (Documentation table), read only the relevant category's `docs/*.md` files as needed
@@ -1,85 +0,0 @@
1
- ---
2
- name: sd-api-review
3
- description: Used when requesting "API review", "api-review", "sd-api-review", "API improvement", "public API review", "API intuitiveness", etc.
4
- ---
5
-
6
- # SD API Review — Public API Intuitiveness Review and Improvement
7
-
8
- Extracts the public API from the specified path (package/folder/file), compares it against relevant standards and similar libraries to derive intuitiveness improvements, then establishes an implementation plan via the `/sd-plan` process. Breaking changes are permitted, and user intuitiveness is the top priority.
9
-
10
- ARGUMENTS: Target path (required). Example: `/sd-api-review packages/my-pkg`
11
-
12
- ---
13
-
14
- ## Step 1: Validate Arguments
15
-
16
- 1. Extract the **target path** from ARGUMENTS. If no path is provided, display "Please specify a target path. Example: `/sd-api-review packages/my-pkg`" and terminate.
17
-
18
- ## Step 2: Extract Public API
19
-
20
- Collect the public API of the target.
21
- - **Folder/file target**: Directly analyze exports from the given path
22
- - **Depth**: Exported symbols (classes, functions, interfaces, types, constants) + public methods/properties of exported classes
23
-
24
- If there are no exports, display "The target has no exported API." and terminate.
25
-
26
- ## Step 3: Comparative Analysis and Improvement Derivation
27
-
28
- ### 3-1. Determine Comparison Targets
29
-
30
- - Analyze package metadata and code contents to infer the domain, then automatically select multiple widely-used libraries in that domain.
31
- - Automatically include relevant standards (HTML, WAI-ARIA, Web API, TC39, JavaScript, CSS, etc.) based on the domain.
32
-
33
- ### 3-2. External API Research
34
-
35
- Use WebSearch and WebFetch to research the following two axes with **equal weight**.
36
- Compare at the **category/pattern level** (do not search for each individual symbol).
37
-
38
- 1. **Standards**: Research naming, attributes, and patterns from official specifications of domain-related standards.
39
- 2. **Libraries**: Research APIs from official documentation of the selected libraries.
40
-
41
- ### 3-3. Derive Improvements
42
-
43
- Compare the API catalog from Step 2 against external APIs to derive improvements. Review from the perspectives of naming, structure, consistency, patterns, usability, and type quality.
44
-
45
- Precautions:
46
- - Breaking changes are not a concern. They are fully permitted.
47
- - When input/output/purpose differs or behavior differs, proposals may be incorrect — this must always be recognized. (A common mistake)
48
-
49
- Each improvement must include the following:
50
- - **Current**: Current API state (code example)
51
- - **Proposed**: Improved API (code example)
52
- - **Reasons to change**: Rationale for the change (including standard/library comparisons)
53
- - **Reasons not to change**: Rationale for maintaining the current state
54
-
55
- ## Step 4: Establish Implementation Plan via sd-plan
56
-
57
- Using the improvements derived in Step 3 as the task description, invoke `sd-plan` via the Skill tool. Pass the following in args:
58
-
59
- ```
60
- The following are API improvements **proposed by LLM analysis**.
61
- Since the improvements are not explicitly requested modifications by the user, treat them as unclear.
62
-
63
- ## Target
64
- <target path>
65
-
66
- ## LLM-Proposed Improvements — Comparative Analysis Table
67
- When asking the user about unclear improvements, **always present** the following content first so the user can understand the context.
68
-
69
- ```
70
- Improvement:
71
- - Current:
72
- - Proposed:
73
- - Reasons to change:
74
- - Reasons not to change:
75
- ```
76
-
77
- ## Required Considerations for Implementation
78
- 1. Breaking changes are not a concern. They are fully permitted.
79
- 2. Use Grep to search for usages of the changed API across the entire monorepo and update them together.
80
- 3. Do not leave deprecated wrappers (clean break).
81
- ```
82
-
83
- ## Step 5: Execute the Plan
84
-
85
- Once sd-plan is complete and a finalized plan is produced, modify the code according to that plan.
@@ -1,72 +0,0 @@
1
- ---
2
- name: sd-review
3
- description: Used when requesting "bug review", "sd-review", "code review", "find bugs", etc. Analyzes code at the specified path for potential bugs, then creates a plan and applies fixes.
4
- ---
5
-
6
- # SD Review — Potential Bug Detection
7
-
8
- Reads the code at the specified path, analyzes it for potential bugs, then creates and executes a plan via the `/sd-plan` process.
9
-
10
- ARGUMENTS: Target path (required). Specify any path within the repo.
11
-
12
- ---
13
-
14
- ## Step 1: Validate Arguments
15
-
16
- 1. Extract the target path from ARGUMENTS.
17
- 2. If no path is provided, display "Please specify a target path. Example: `/sd-review packages/my-pkg`" and stop.
18
-
19
- ## Step 2: Bug Analysis (Do Not Modify Code)
20
-
21
- Read the code at the target path and search for potential bugs from the following 5 perspectives.
22
- Do not modify the code under any circumstances. Only compile and output a list of findings.
23
-
24
- **Analysis Perspectives:**
25
- 1. **Logic/Correctness** — Incorrect conditions, off-by-one errors, wrong operators, unintended branching
26
- 2. **Null/Undefined Safety** — Missing null checks, unused optional chaining, misuse of type assertions
27
- 3. **Error Handling** — Swallowed errors, missing catch blocks, improper error propagation
28
- 4. **Edge Cases** — Empty arrays/strings, boundary values, concurrency/race conditions, missing await
29
- 5. **Resource Management** — Unclosed connections, event listener leaks, memory leak patterns
30
-
31
- Write each finding in the following format:
32
- ```
33
- - **filepath:line**
34
- - Current code: (excerpt of the relevant code)
35
- - Problem description:
36
- - Suggested fix:
37
- - Reasons to fix: Rationale for applying the fix
38
- - Reasons not to fix: Rationale for keeping the current code
39
- ```
40
-
41
- If no findings are discovered, display "No potential bugs were found." and stop.
42
-
43
- ## Step 3: Create Plan via sd-plan
44
-
45
- Using the list of findings from Step 2 as the task description, invoke `sd-plan` via the Skill tool. Pass the following as args:
46
-
47
- ```
48
- The following are potential bug fixes **analyzed and suggested by the LLM**.
49
- Since these fixes were not explicitly requested by the user, treat them as uncertain.
50
-
51
- ## Target
52
- <target path>
53
-
54
- ## LLM-Suggested Fixes
55
- When asking the user about uncertain fixes, **always present** the following information first so the user can understand the context.
56
-
57
- ```
58
- Fix:
59
- - Filepath:line:
60
- - Current code: (excerpt of the relevant code)
61
- - Problem description:
62
- - Suggested fix:
63
- - Reasons to fix:
64
- - Reasons not to fix:
65
- ```
66
-
67
- <Full list of findings from Step 2>
68
- ```
69
-
70
- ## Step 4: Execute Plan
71
-
72
- Once sd-plan completes and produces a finalized plan, apply the code modifications according to that plan.
@@ -1,66 +0,0 @@
1
- ---
2
- name: sd-simplify
3
- description: Used when requesting "code simplification", "simplify", "sd-simplify", "code refinement", etc. Analyzes code at a specified path, creates a plan, and applies modifications.
4
- ---
5
-
6
- # SD Simplify — Path-Specific Code Simplification
7
-
8
- Analyzes code at a specified path using the built-in `/simplify`, then creates and executes a plan via the `/sd-plan` process.
9
-
10
- ARGUMENTS: Target path (required). Specify any path within the repository.
11
-
12
- ---
13
-
14
- ## Step 1: Validate Arguments
15
-
16
- 1. Extract the target path from ARGUMENTS.
17
- 2. If no path is provided, display the message "Please specify a target path. Example: `/sd-simplify packages/my-pkg`" and stop.
18
-
19
- ## Step 2: simplify Analysis (Do Not Modify)
20
-
21
- Invoke `simplify` using the Skill tool. Pass the following instructions as args:
22
-
23
- ```
24
- Review the current codebase at the <target path> path. (Not recently changed code)
25
- Do NOT modify any code. Only compile and output a list of items to fix.
26
- Write each item in the following format:
27
- - **file-path:line**
28
- - Current code: (excerpt of the relevant code)
29
- - Problem description:
30
- - Suggested improvement:
31
- - Reasons to change: Rationale for applying the improvement
32
- - Reasons not to change: Rationale for keeping the current code
33
- ```
34
-
35
- Replace the `<target path>` placeholder with the actual path extracted in Step 1.
36
-
37
- ## Step 3: Create a Plan with sd-plan
38
-
39
- Using the list of items to fix from Step 2 as the task description, invoke `sd-plan` using the Skill tool. Pass the following as args:
40
-
41
- ```
42
- The following are code improvement suggestions **proposed by an LLM analysis**.
43
- Since these suggestions were not explicitly requested by the user, treat them as unclear.
44
-
45
- ## Target
46
- <target path>
47
-
48
- ## LLM-Suggested Improvements
49
- When asking the user about unclear suggestions, **always present** the following details first so the user can understand the context.
50
-
51
- ```
52
- Suggestion:
53
- - File path:line:
54
- - Current code: (excerpt of the relevant code)
55
- - Problem description:
56
- - Suggested improvement:
57
- - Reasons to change:
58
- - Reasons not to change:
59
- ```
60
-
61
- <Full list of items to fix from Step 2>
62
- ```
63
-
64
- ## Step 4: Execute the Plan
65
-
66
- Once sd-plan completes and a finalized plan is produced, modify the code according to that plan.