@simplysm/sd-claude 13.0.64 → 13.0.65

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.
@@ -25,20 +25,44 @@ Start by understanding the current project context, then ask questions one at a
25
25
 
26
26
  When you think you've asked enough, **STOP and run a gap review before moving on.**
27
27
 
28
- 1. Silently check ALL of these categories for unanswered questions:
29
- - **Scope**: What's in? What's explicitly out?
30
- - **User flows**: All inputs, outputs, feedback, navigation
31
- - **Edge cases**: Empty states, errors, limits, concurrency, undo
32
- - **Data**: Shape, validation, persistence, migration, relationships
33
- - **Integration**: How does this connect to existing code/systems?
34
- - **Non-functional**: Performance, accessibility, security, i18n
35
- - **Assumptions**: Anything you assumed but never confirmed
36
- 2. If ANY new question emerges ask it, then **restart from step 1**
37
- 3. Only when zero questions remain across ALL categories → proceed to exploring approaches.
28
+ Tell the user you're running a gap review, then check ALL categories. For each ✅, you MUST **cite specific evidence** (which Q&A, code reference, or explicit user requirement). "I already know" is not evidence.
29
+
30
+ | Category | Check for... |
31
+ |----------|-------------|
32
+ | Scope | What's in? What's explicitly out? |
33
+ | User flows | All inputs, outputs, feedback, navigation |
34
+ | Edge cases | Empty states, errors, limits, concurrency, undo |
35
+ | Data | Shape, validation, persistence, migration, relationships |
36
+ | Integration | How does this connect to existing code/systems? |
37
+ | Non-functional | Performance, accessibility, security, i18n |
38
+ | Assumptions | Anything you assumed but never confirmed |
39
+
40
+ Output format — cite evidence for each:
41
+ - `✅ Scope — [Q2: user confirmed X / code at file:line / requirement doc says Y]`
42
+ - `❓ Edge cases — gap: [what's missing]`
43
+
44
+ If evidence is vague ("obvious", "I already know", "common sense") → mark as ❓, not ✅.
45
+
46
+ - If ANY ❓ exists → ask about it. After the user answers, **run the full checklist again from scratch**.
47
+ - Only when ALL categories show ✅ with cited evidence → proceed to exploring approaches.
48
+
49
+ **All-✅ on first run is PROHIBITED — not "suspicious", prohibited.**
50
+ If your first gap review shows all ✅:
51
+ 1. You are rubber-stamping. Prior investigation ≠ complete design exploration.
52
+ 2. Pick the 2 weakest categories (thinnest evidence).
53
+ 3. Write one concrete unasked question per category.
54
+ 4. Ask those questions, then re-run the full checklist from scratch.
55
+
56
+ | Excuse | Reality |
57
+ |--------|---------|
58
+ | "Requirements are already clear" | Clear requirements ≠ complete design. Edge cases, error states, integration points still need exploration. |
59
+ | "I already investigated the code" | Code investigation reveals what IS. Design exploration asks what SHOULD BE. Different activities. |
60
+ | "It's just a bug fix" | Bug fixes have edge cases: error states, concurrent access, timing changes, consumer compatibility. |
61
+ | "User is frustrated/in a hurry" | Rushing causes exactly the mistakes brainstorming prevents. Slow down. |
38
62
 
39
63
  **Rules:**
40
- - Each loop must seriously re-examine all categories, not just skim.
41
- - Looping only once is suspiciousdouble-check.
64
+ - You MUST show the checklist to the user every time you run it. No silent/internal-only checks.
65
+ - Each run must re-examine ALL categories from zero do not carry over previous results.
42
66
  - When in doubt, ask. One extra question costs less than a flawed design.
43
67
 
44
68
  **Exploring approaches:**
@@ -10,12 +10,12 @@ model: haiku
10
10
 
11
11
  ## Overview
12
12
 
13
- Stages and commits changes using Conventional Commits format. Two modes: **default** (context-relevant files, single commit) and **all** (all changed files, split by intent if needed).
13
+ Stages and commits changes using Conventional Commits format. Two modes: **default** (context-relevant files, single commit) and **all** (all changed files, single commit).
14
14
 
15
15
  ## Mode
16
16
 
17
17
  - **Default mode** (no arguments): Stage files relevant to the current conversation context. Always a **single commit**.
18
- - **"all" mode** (`$ARGUMENTS` is "all"): Target **all** changed/untracked files. May produce multiple commits.
18
+ - **"all" mode** (`$ARGUMENTS` is "all"): Target **all** changed/untracked files. Always a **single commit**.
19
19
 
20
20
  ## File Selection Rules
21
21
 
@@ -60,30 +60,10 @@ Examples:
60
60
 
61
61
  Use a HEREDOC for multi-line messages when needed.
62
62
 
63
- ## Commit Strategy (all mode only)
64
-
65
- Group by **intent/purpose**, not by package.
66
-
67
- **Single commit** — all changes share the same intent:
68
-
69
- - Version bumps across packages → `chore: bump version to x.y.z`
70
- - One feature spanning multiple packages → single `feat`
71
- - Dependency updates across packages → single `chore`
72
-
73
- **Split commits** — changes have different intents:
74
-
75
- - Version bump + unrelated bug fix → `chore` + `fix`
76
- - New feature + unrelated refactor → two commits
77
- - `docs` changes + independent `feat` changes → two commits
78
-
79
63
  ## Execution
80
64
 
81
65
  **Default mode:** `git add <context-relevant files>` → `git commit`
82
66
 
83
- **All mode:**
84
-
85
- 1. Decide: single or split.
86
- 2. Single: `git add .` → `git commit`.
87
- 3. Split: group by logical unit, commit in dependency order (foundations first). Per group: `git add <files>` → `git commit`.
67
+ **All mode:** `git add .` → `git commit` with a single message summarizing all changes (message may be long).
88
68
 
89
69
  Call multiple tools in one response when possible. Do not use other tools or output other text.
@@ -1,11 +1,18 @@
1
1
  ---
2
2
  name: sd-plan
3
- description: Use when you have a spec or requirements for a multi-step task, before touching code
3
+ description: "NEVER invoke directly from user requests. This skill is ONLY called as a follow-up step after sd-brainstorm has completed. If the user asks to plan, design, or implement something, use sd-brainstorm first."
4
4
  model: opus
5
5
  ---
6
6
 
7
7
  # Writing Plans
8
8
 
9
+ ## Prerequisite Check
10
+
11
+ **MANDATORY:** Before proceeding, verify that `sd-brainstorm` has already been completed in this conversation.
12
+
13
+ - If a brainstorm design document exists (discussed or saved in this session) → proceed.
14
+ - If NOT → **STOP** and tell the user (in the system's configured language) that sd-plan requires sd-brainstorm to be completed first, then invoke sd-brainstorm instead.
15
+
9
16
  ## Overview
10
17
 
11
18
  Write comprehensive implementation plans assuming the engineer has zero context for our codebase and questionable taste. Document everything they need to know: which files to touch for each task, code, testing, docs they might need to check, how to test it. Give them the whole plan as bite-sized tasks. DRY. YAGNI. TDD. Frequent commits.
@@ -96,7 +103,9 @@ git commit -m "feat: add specific feature"
96
103
 
97
104
  ## Execution Handoff
98
105
 
99
- After saving the plan:
106
+ After saving the plan, **commit the plan document to git** before proceeding.
107
+
108
+ Then:
100
109
 
101
110
  - If in **yolo mode** (user chose "yolo" from sd-brainstorm): Immediately proceed to sd-plan-dev without asking. No confirmation needed.
102
111
  - Otherwise: Display this message **in the system's configured language** (detect from the language setting and translate accordingly):
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/sd-claude",
3
- "version": "13.0.64",
3
+ "version": "13.0.65",
4
4
  "description": "Simplysm Claude Code CLI — asset installer and cross-platform npx wrapper",
5
5
  "author": "김석래",
6
6
  "license": "Apache-2.0",