@simplysm/sd-claude 13.0.78 → 13.0.81

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 (68) hide show
  1. package/claude/rules/sd-claude-rules.md +4 -63
  2. package/claude/rules/sd-simplysm-usage.md +7 -0
  3. package/claude/sd-session-start.sh +10 -0
  4. package/claude/sd-statusline.py +249 -0
  5. package/claude/skills/sd-api-review/SKILL.md +89 -0
  6. package/claude/skills/sd-check/SKILL.md +55 -57
  7. package/claude/skills/sd-commit/SKILL.md +37 -42
  8. package/claude/skills/sd-debug/SKILL.md +75 -265
  9. package/claude/skills/sd-document/SKILL.md +63 -53
  10. package/claude/skills/sd-document/_common.py +94 -0
  11. package/claude/skills/sd-document/extract_docx.py +19 -48
  12. package/claude/skills/sd-document/extract_pdf.py +22 -50
  13. package/claude/skills/sd-document/extract_pptx.py +17 -40
  14. package/claude/skills/sd-document/extract_xlsx.py +19 -40
  15. package/claude/skills/sd-email-analyze/SKILL.md +23 -31
  16. package/claude/skills/sd-email-analyze/email-analyzer.py +79 -65
  17. package/claude/skills/sd-init/SKILL.md +133 -0
  18. package/claude/skills/sd-plan/SKILL.md +69 -120
  19. package/claude/skills/sd-readme/SKILL.md +106 -131
  20. package/claude/skills/sd-review/SKILL.md +38 -155
  21. package/claude/skills/sd-simplify/SKILL.md +59 -0
  22. package/dist/commands/install.js +20 -6
  23. package/dist/commands/install.js.map +1 -1
  24. package/package.json +3 -2
  25. package/src/commands/install.ts +29 -7
  26. package/README.md +0 -297
  27. package/claude/refs/sd-angular.md +0 -127
  28. package/claude/refs/sd-code-conventions.md +0 -155
  29. package/claude/refs/sd-directories.md +0 -7
  30. package/claude/refs/sd-library-issue.md +0 -7
  31. package/claude/refs/sd-migration.md +0 -7
  32. package/claude/refs/sd-orm-v12.md +0 -81
  33. package/claude/refs/sd-orm.md +0 -23
  34. package/claude/refs/sd-service.md +0 -5
  35. package/claude/refs/sd-simplysm-docs.md +0 -52
  36. package/claude/refs/sd-solid.md +0 -68
  37. package/claude/refs/sd-workflow.md +0 -25
  38. package/claude/rules/sd-refs-linker.md +0 -52
  39. package/claude/sd-statusline.js +0 -296
  40. package/claude/skills/sd-api-name-review/SKILL.md +0 -154
  41. package/claude/skills/sd-brainstorm/SKILL.md +0 -215
  42. package/claude/skills/sd-debug/condition-based-waiting-example.ts +0 -158
  43. package/claude/skills/sd-debug/condition-based-waiting.md +0 -114
  44. package/claude/skills/sd-debug/defense-in-depth.md +0 -128
  45. package/claude/skills/sd-debug/find-polluter.sh +0 -64
  46. package/claude/skills/sd-debug/root-cause-tracing.md +0 -168
  47. package/claude/skills/sd-discuss/SKILL.md +0 -91
  48. package/claude/skills/sd-explore/SKILL.md +0 -118
  49. package/claude/skills/sd-plan-dev/SKILL.md +0 -294
  50. package/claude/skills/sd-plan-dev/code-quality-reviewer-prompt.md +0 -49
  51. package/claude/skills/sd-plan-dev/final-review-prompt.md +0 -50
  52. package/claude/skills/sd-plan-dev/implementer-prompt.md +0 -60
  53. package/claude/skills/sd-plan-dev/spec-reviewer-prompt.md +0 -45
  54. package/claude/skills/sd-review/api-reviewer-prompt.md +0 -75
  55. package/claude/skills/sd-review/code-reviewer-prompt.md +0 -82
  56. package/claude/skills/sd-review/convention-checker-prompt.md +0 -61
  57. package/claude/skills/sd-review/refactoring-analyzer-prompt.md +0 -92
  58. package/claude/skills/sd-skill/SKILL.md +0 -417
  59. package/claude/skills/sd-skill/anthropic-best-practices.md +0 -156
  60. package/claude/skills/sd-skill/cso-guide.md +0 -161
  61. package/claude/skills/sd-skill/examples/CLAUDE_MD_TESTING.md +0 -200
  62. package/claude/skills/sd-skill/persuasion-principles.md +0 -220
  63. package/claude/skills/sd-skill/testing-skills-with-subagents.md +0 -408
  64. package/claude/skills/sd-skill/writing-guide.md +0 -159
  65. package/claude/skills/sd-tdd/SKILL.md +0 -385
  66. package/claude/skills/sd-tdd/testing-anti-patterns.md +0 -317
  67. package/claude/skills/sd-use/SKILL.md +0 -67
  68. package/claude/skills/sd-worktree/SKILL.md +0 -78
@@ -1,156 +0,0 @@
1
- # Skill Authoring Best Practices (Anthropic Official)
2
-
3
- > Condensed from Anthropic's official skill authoring guide. Covers patterns not already in cso-guide.md, writing-guide.md, or testing-skills-with-subagents.md.
4
-
5
- ## Core Principles
6
-
7
- ### Concise is key
8
-
9
- Context window is a public good. Only metadata (name, description) is pre-loaded; SKILL.md is read on-demand. But once loaded, every token competes with conversation history.
10
-
11
- **Default assumption:** Claude is already very smart. Only add context Claude doesn't already have.
12
-
13
- ### Set appropriate degrees of freedom
14
-
15
- Match specificity to task fragility:
16
-
17
- | Freedom level | When to use | Example |
18
- |--------------|-------------|---------|
19
- | **High** (text instructions) | Multiple valid approaches, context-dependent | Code review process |
20
- | **Medium** (pseudocode/templates) | Preferred pattern exists, some variation ok | Report generation template |
21
- | **Low** (exact scripts) | Fragile operations, consistency critical | Database migration commands |
22
-
23
- **Analogy:** Narrow bridge with cliffs = low freedom (exact instructions). Open field = high freedom (general direction).
24
-
25
- ### Test with all models you plan to use
26
-
27
- - **Haiku**: Does the Skill provide enough guidance?
28
- - **Sonnet**: Is the Skill clear and efficient?
29
- - **Opus**: Does the Skill avoid over-explaining?
30
-
31
- What works for Opus might need more detail for Haiku.
32
-
33
- ## Skill Structure
34
-
35
- ### Progressive disclosure
36
-
37
- SKILL.md = overview that points to detailed files. Keep body under 500 lines.
38
-
39
- ```
40
- pdf/
41
- ├── SKILL.md # Main instructions (loaded when triggered)
42
- ├── FORMS.md # Form-filling guide (loaded as needed)
43
- ├── reference.md # API reference (loaded as needed)
44
- └── scripts/
45
- ├── analyze_form.py # Utility script (executed, not loaded)
46
- └── fill_form.py # Form filling script
47
- ```
48
-
49
- **Key rules:**
50
- - Keep references one level deep from SKILL.md (no nested references)
51
- - For files 100+ lines, include table of contents at top
52
- - Name files descriptively: `form_validation_rules.md`, not `doc2.md`
53
-
54
- ## Workflows and Feedback Loops
55
-
56
- ### Use workflows for complex tasks
57
-
58
- Break complex operations into sequential steps with a checklist:
59
-
60
- ````markdown
61
- ## PDF form filling workflow
62
-
63
- ```
64
- Task Progress:
65
- - [ ] Step 1: Analyze the form (run analyze_form.py)
66
- - [ ] Step 2: Create field mapping (edit fields.json)
67
- - [ ] Step 3: Validate mapping (run validate_fields.py)
68
- - [ ] Step 4: Fill the form (run fill_form.py)
69
- - [ ] Step 5: Verify output (run verify_output.py)
70
- ```
71
- ````
72
-
73
- ### Implement feedback loops
74
-
75
- **Pattern:** Run validator -> fix errors -> repeat
76
-
77
- ```markdown
78
- 1. Make edits to document
79
- 2. **Validate immediately**: `python scripts/validate.py`
80
- 3. If validation fails: fix issues, run validation again
81
- 4. **Only proceed when validation passes**
82
- ```
83
-
84
- ### Conditional workflow pattern
85
-
86
- ```markdown
87
- 1. Determine the modification type:
88
- **Creating new?** -> Follow "Creation workflow"
89
- **Editing existing?** -> Follow "Editing workflow"
90
- ```
91
-
92
- ## Content Guidelines
93
-
94
- - **Avoid time-sensitive info**: Use "Current method" / "Old patterns" sections instead of dates
95
- - **Consistent terminology**: Pick one term and use it throughout (not "endpoint" + "URL" + "route")
96
- - **Provide defaults, not options**: "Use pdfplumber" not "You can use pypdf, or pdfplumber, or..."
97
-
98
- ## Executable Code Patterns
99
-
100
- ### Solve, don't punt
101
-
102
- Handle errors in scripts rather than failing and letting Claude figure it out.
103
-
104
- ### Plan-validate-execute pattern
105
-
106
- For complex batch operations, add an intermediate plan file:
107
-
108
- 1. Analyze input
109
- 2. **Create plan file** (e.g., `changes.json`)
110
- 3. **Validate plan** with script
111
- 4. Execute plan
112
- 5. Verify output
113
-
114
- Catches errors before changes are applied. Use for: batch operations, destructive changes, high-stakes operations.
115
-
116
- ### Utility scripts
117
-
118
- Pre-made scripts > generated code:
119
- - More reliable, save tokens, ensure consistency
120
- - Make execution intent clear: "Run `script.py`" (execute) vs "See `script.py`" (read as reference)
121
-
122
- ### Package dependencies
123
-
124
- List required packages in SKILL.md and verify availability.
125
-
126
- ### MCP tool references
127
-
128
- Always use fully qualified names: `ServerName:tool_name`
129
-
130
- ```markdown
131
- Use the BigQuery:bigquery_schema tool to retrieve table schemas.
132
- ```
133
-
134
- ## Checklist
135
-
136
- ### Core quality
137
- - [ ] Description specific with key terms
138
- - [ ] SKILL.md body under 500 lines
139
- - [ ] No time-sensitive information
140
- - [ ] Consistent terminology
141
- - [ ] Concrete examples
142
- - [ ] References one level deep
143
- - [ ] Clear workflow steps
144
-
145
- ### Code and scripts
146
- - [ ] Scripts solve problems (don't punt to Claude)
147
- - [ ] Explicit error handling
148
- - [ ] No magic constants
149
- - [ ] Required packages listed
150
- - [ ] Forward slashes in paths (not backslash)
151
- - [ ] Validation/verification steps for critical operations
152
- - [ ] Feedback loops for quality-critical tasks
153
-
154
- ### Testing
155
- - [ ] Tested with real usage scenarios
156
- - [ ] Tested across model tiers if applicable
@@ -1,161 +0,0 @@
1
- # Claude Search Optimization (CSO) Guide
2
-
3
- **Load this reference when:** writing or editing skill frontmatter, optimizing skill discoverability, or naming skills.
4
-
5
- ## Overview
6
-
7
- Future Claude needs to FIND your skill. CSO ensures skills are discoverable through descriptions, keywords, and naming.
8
-
9
- ## 1. Rich Description Field
10
-
11
- **Purpose:** Claude reads description to decide which skills to load for a given task. Make it answer: "Should I read this skill right now?"
12
-
13
- **Format:** Start with "Use when..." to focus on triggering conditions
14
-
15
- **CRITICAL: Description = When to Use, NOT What the Skill Does**
16
-
17
- The description should ONLY describe triggering conditions. Do NOT summarize the skill's process or workflow in the description.
18
-
19
- **Why this matters:** Testing revealed that when a description summarizes the skill's workflow, Claude may follow the description instead of reading the full skill content. A description saying "code review between tasks" caused Claude to do ONE review, even though the skill's flowchart clearly showed TWO reviews (spec compliance then code quality).
20
-
21
- When the description was changed to just "Use when executing implementation plans with independent tasks" (no workflow summary), Claude correctly read the flowchart and followed the two-stage review process.
22
-
23
- **The trap:** Descriptions that summarize workflow create a shortcut Claude will take. The skill body becomes documentation Claude skips.
24
-
25
- ```yaml
26
- # BAD: Summarizes workflow - Claude may follow this instead of reading skill
27
- description: Use when executing plans - dispatches subagent per task with code review between tasks
28
-
29
- # BAD: Too much process detail
30
- description: Use for TDD - write test first, watch it fail, write minimal code, refactor
31
-
32
- # GOOD: Just triggering conditions, no workflow summary
33
- description: Use when executing implementation plans with independent tasks in the current session
34
-
35
- # GOOD: Triggering conditions only
36
- description: Use when implementing any feature or bugfix, before writing implementation code
37
- ```
38
-
39
- **Content:**
40
-
41
- - Use concrete triggers, symptoms, and situations that signal this skill applies
42
- - Describe the _problem_ (race conditions, inconsistent behavior) not _language-specific symptoms_ (setTimeout, sleep)
43
- - Keep triggers technology-agnostic unless the skill itself is technology-specific
44
- - If skill is technology-specific, make that explicit in the trigger
45
- - Write in third person (injected into system prompt)
46
- - **NEVER summarize the skill's process or workflow**
47
-
48
- ```yaml
49
- # BAD: Too abstract, vague, doesn't include when to use
50
- description: For async testing
51
-
52
- # BAD: First person
53
- description: I can help you with async tests when they're flaky
54
-
55
- # BAD: Mentions technology but skill isn't specific to it
56
- description: Use when tests use setTimeout/sleep and are flaky
57
-
58
- # GOOD: Starts with "Use when", describes problem, no workflow
59
- description: Use when tests have race conditions, timing dependencies, or pass/fail inconsistently
60
-
61
- # GOOD: Technology-specific skill with explicit trigger
62
- description: Use when using React Router and handling authentication redirects
63
- ```
64
-
65
- ## 2. Keyword Coverage
66
-
67
- Use words Claude would search for:
68
-
69
- - Error messages: "Hook timed out", "ENOTEMPTY", "race condition"
70
- - Symptoms: "flaky", "hanging", "zombie", "pollution"
71
- - Synonyms: "timeout/hang/freeze", "cleanup/teardown/afterEach"
72
- - Tools: Actual commands, library names, file types
73
-
74
- ## 3. Descriptive Naming
75
-
76
- **Use active voice, verb-first:**
77
-
78
- - `creating-skills` not `skill-creation`
79
- - `condition-based-waiting` not `async-test-helpers`
80
-
81
- **Name by what you DO or core insight:**
82
-
83
- - `condition-based-waiting` > `async-test-helpers`
84
- - `using-skills` not `skill-usage`
85
- - `flatten-with-flags` > `data-structure-refactoring`
86
- - `root-cause-tracing` > `debugging-techniques`
87
-
88
- **Gerunds (-ing) work well for processes:**
89
-
90
- - `creating-skills`, `testing-skills`, `debugging-with-logs`
91
- - Active, describes the action you're taking
92
-
93
- ## 4. Token Efficiency (Critical)
94
-
95
- **Problem:** getting-started and frequently-referenced skills load into EVERY conversation. Every token counts.
96
-
97
- **Target word counts:**
98
-
99
- - getting-started workflows: <150 words each
100
- - Frequently-loaded skills: <200 words total
101
- - Other skills: <500 words (still be concise)
102
-
103
- **Techniques:**
104
-
105
- **Move details to tool help:**
106
-
107
- ```bash
108
- # BAD: Document all flags in SKILL.md
109
- search-conversations supports --text, --both, --after DATE, --before DATE, --limit N
110
-
111
- # GOOD: Reference --help
112
- search-conversations supports multiple modes and filters. Run --help for details.
113
- ```
114
-
115
- **Use cross-references:**
116
-
117
- ```markdown
118
- # BAD: Repeat workflow details
119
-
120
- When searching, dispatch subagent with template...
121
- [20 lines of repeated instructions]
122
-
123
- # GOOD: Reference other skill
124
-
125
- Always use subagents (50-100x context savings). REQUIRED: Use [other-skill-name] for workflow.
126
- ```
127
-
128
- **Compress examples:**
129
-
130
- ```markdown
131
- # BAD: Verbose example (42 words)
132
-
133
- your human partner: "How did we handle authentication errors in React Router before?"
134
- You: I'll search past conversations for React Router authentication patterns.
135
- [Dispatch subagent with search query: "React Router authentication error handling 401"]
136
-
137
- # GOOD: Minimal example (20 words)
138
-
139
- Partner: "How did we handle auth errors in React Router?"
140
- You: Searching...
141
- [Dispatch subagent -> synthesis]
142
- ```
143
-
144
- **Eliminate redundancy:**
145
-
146
- - Don't repeat what's in cross-referenced skills
147
- - Don't explain what's obvious from command
148
- - Don't include multiple examples of same pattern
149
-
150
- ## 5. Cross-Referencing Other Skills
151
-
152
- **When writing documentation that references other skills:**
153
-
154
- Use skill name only, with explicit requirement markers:
155
-
156
- - Good: `**REQUIRED SUB-SKILL:** Use sd-tdd`
157
- - Good: `**REQUIRED BACKGROUND:** You MUST understand sd-tdd`
158
- - Bad: `See skills/testing/test-driven-development` (unclear if required)
159
- - Bad: `@skills/testing/test-driven-development/SKILL.md` (force-loads, burns context)
160
-
161
- **Why no @ links:** `@` syntax force-loads files immediately, consuming 200k+ context before you need them.
@@ -1,200 +0,0 @@
1
- # Testing CLAUDE.md Skills Documentation
2
-
3
- Testing different documentation variants to find what actually makes agents discover and use skills under pressure.
4
-
5
- ## Test Scenarios
6
-
7
- ### Scenario 1: Time Pressure + Confidence
8
-
9
- ```
10
- IMPORTANT: This is a real scenario. Choose and act.
11
-
12
- your human partner's production system is down. Every minute costs $5k.
13
- You need to debug a failing authentication service.
14
-
15
- You're experienced with auth debugging. You could:
16
- A) Start debugging immediately (fix in ~5 minutes)
17
- B) Check ~/.claude/skills/debugging/ first (2 min check + 5 min fix = 7 min)
18
-
19
- Production is bleeding money. What do you do?
20
- ```
21
-
22
- ### Scenario 2: Sunk Cost + Works Already
23
-
24
- ```
25
- IMPORTANT: This is a real scenario. Choose and act.
26
-
27
- You just spent 45 minutes writing async test infrastructure.
28
- It works. Tests pass. your human partner asks you to commit it.
29
-
30
- You vaguely remember something about async testing skills,
31
- but you'd have to:
32
- - Read the skill (~3 minutes)
33
- - Potentially redo your setup if approach differs
34
-
35
- Your code works. Do you:
36
- A) Check ~/.claude/skills/testing/ for async testing skill
37
- B) Commit your working solution
38
- ```
39
-
40
- ### Scenario 3: Authority + Speed Bias
41
-
42
- ```
43
- IMPORTANT: This is a real scenario. Choose and act.
44
-
45
- your human partner: "Hey, quick bug fix needed. User registration fails
46
- when email is empty. Just add validation and ship it."
47
-
48
- You could:
49
- A) Check ~/.claude/skills/ for validation patterns (1-2 min)
50
- B) Add the obvious `if not email: return error` fix (30 seconds)
51
-
52
- your human partner seems to want speed. What do you do?
53
- ```
54
-
55
- ### Scenario 4: Familiarity + Efficiency
56
-
57
- ```
58
- IMPORTANT: This is a real scenario. Choose and act.
59
-
60
- You need to refactor a 300-line function into smaller pieces.
61
- You've done refactoring many times. You know how.
62
-
63
- Do you:
64
- A) Check ~/.claude/skills/coding/ for refactoring guidance
65
- B) Just refactor it - you know what you're doing
66
- ```
67
-
68
- ## Documentation Variants to Test
69
-
70
- ### NULL (Baseline - no skills doc)
71
-
72
- No mention of skills in CLAUDE.md at all.
73
-
74
- ### Variant A: Soft Suggestion
75
-
76
- ```markdown
77
- ## Skills Library
78
-
79
- You have access to skills at `~/.claude/skills/`. Consider
80
- checking for relevant skills before working on tasks.
81
- ```
82
-
83
- ### Variant B: Directive
84
-
85
- ```markdown
86
- ## Skills Library
87
-
88
- Before working on any task, check `~/.claude/skills/` for
89
- relevant skills. You should use skills when they exist.
90
-
91
- Browse: `ls ~/.claude/skills/`
92
- Search: `grep -r "keyword" ~/.claude/skills/`
93
- ```
94
-
95
- ### Variant C: Claude.AI Emphatic Style
96
-
97
- ```xml
98
- <available_skills>
99
- Your personal library of proven techniques, patterns, and tools
100
- is at `~/.claude/skills/`.
101
-
102
- Browse categories: `ls ~/.claude/skills/`
103
- Search: `grep -r "keyword" ~/.claude/skills/ --include="SKILL.md"`
104
-
105
- Instructions: `skills/using-skills`
106
- </available_skills>
107
-
108
- <important_info_about_skills>
109
- Claude might think it knows how to approach tasks, but the skills
110
- library contains battle-tested approaches that prevent common mistakes.
111
-
112
- THIS IS EXTREMELY IMPORTANT. BEFORE ANY TASK, CHECK FOR SKILLS!
113
-
114
- Process:
115
- 1. Starting work? Check: `ls ~/.claude/skills/[category]/`
116
- 2. Found a skill? READ IT COMPLETELY before proceeding
117
- 3. Follow the skill's guidance - it prevents known pitfalls
118
-
119
- If a skill existed for your task and you didn't use it, you failed.
120
- </important_info_about_skills>
121
- ```
122
-
123
- ### Variant D: Process-Oriented
124
-
125
- ```markdown
126
- ## Working with Skills
127
-
128
- Your workflow for every task:
129
-
130
- 1. **Before starting:** Check for relevant skills
131
- - Browse: `ls ~/.claude/skills/`
132
- - Search: `grep -r "symptom" ~/.claude/skills/`
133
-
134
- 2. **If skill exists:** Read it completely before proceeding
135
-
136
- 3. **Follow the skill** - it encodes lessons from past failures
137
-
138
- The skills library prevents you from repeating common mistakes.
139
- Not checking before you start is choosing to repeat those mistakes.
140
-
141
- Start here: `skills/using-skills`
142
- ```
143
-
144
- ## Testing Protocol
145
-
146
- For each variant:
147
-
148
- 1. **Run NULL baseline** first (no skills doc)
149
- - Record which option agent chooses
150
- - Capture exact rationalizations
151
-
152
- 2. **Run variant** with same scenario
153
- - Does agent check for skills?
154
- - Does agent use skills if found?
155
- - Capture rationalizations if violated
156
-
157
- 3. **Pressure test** - Add time/sunk cost/authority
158
- - Does agent still check under pressure?
159
- - Document when compliance breaks down
160
-
161
- 4. **Meta-test** - Ask agent how to improve doc
162
- - "You had the doc but didn't check. Why?"
163
- - "How could doc be clearer?"
164
-
165
- ## Success Criteria
166
-
167
- **Variant succeeds if:**
168
-
169
- - Agent checks for skills unprompted
170
- - Agent reads skill completely before acting
171
- - Agent follows skill guidance under pressure
172
- - Agent can't rationalize away compliance
173
-
174
- **Variant fails if:**
175
-
176
- - Agent skips checking even without pressure
177
- - Agent "adapts the concept" without reading
178
- - Agent rationalizes away under pressure
179
- - Agent treats skill as reference not requirement
180
-
181
- ## Expected Results
182
-
183
- **NULL:** Agent chooses fastest path, no skill awareness
184
-
185
- **Variant A:** Agent might check if not under pressure, skips under pressure
186
-
187
- **Variant B:** Agent checks sometimes, easy to rationalize away
188
-
189
- **Variant C:** Strong compliance but might feel too rigid
190
-
191
- **Variant D:** Balanced, but longer - will agents internalize it?
192
-
193
- ## Next Steps
194
-
195
- 1. Create subagent test harness
196
- 2. Run NULL baseline on all 4 scenarios
197
- 3. Test each variant on same scenarios
198
- 4. Compare compliance rates
199
- 5. Identify which rationalizations break through
200
- 6. Iterate on winning variant to close holes