@simplysm/sd-claude 13.0.60 → 13.0.61
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/claude/agents/sd-api-reviewer.md +7 -6
- package/claude/agents/sd-code-simplifier.md +0 -3
- package/claude/agents/sd-security-reviewer.md +14 -3
- package/claude/refs/sd-angular.md +127 -0
- package/claude/refs/sd-orm-v12.md +81 -0
- package/claude/refs/sd-orm.md +7 -1
- package/claude/refs/sd-solid.md +8 -0
- package/claude/rules/sd-refs-linker.md +41 -9
- package/claude/skills/sd-api-name-review/SKILL.md +6 -6
- package/claude/skills/sd-brainstorm/SKILL.md +4 -0
- package/claude/skills/sd-check/SKILL.md +10 -10
- package/claude/skills/sd-check/baseline-analysis.md +24 -3
- package/claude/skills/sd-check/test-scenarios.md +34 -1
- package/claude/skills/sd-commit/SKILL.md +11 -5
- package/claude/skills/sd-debug/SKILL.md +26 -17
- package/claude/skills/sd-debug/condition-based-waiting.md +17 -12
- package/claude/skills/sd-debug/defense-in-depth.md +14 -8
- package/claude/skills/sd-debug/root-cause-tracing.md +18 -4
- package/claude/skills/sd-debug/test-baseline-pressure.md +10 -8
- package/claude/skills/sd-discuss/SKILL.md +17 -13
- package/claude/skills/sd-eml-analyze/SKILL.md +8 -7
- package/claude/skills/sd-explore/SKILL.md +2 -0
- package/claude/skills/sd-plan/SKILL.md +9 -3
- package/claude/skills/sd-plan-dev/SKILL.md +7 -2
- package/claude/skills/sd-plan-dev/code-quality-reviewer-prompt.md +2 -0
- package/claude/skills/sd-plan-dev/final-review-prompt.md +2 -2
- package/claude/skills/sd-readme/SKILL.md +22 -16
- package/claude/skills/sd-review/SKILL.md +22 -21
- package/claude/skills/sd-skill/SKILL.md +94 -35
- package/claude/skills/sd-skill/anthropic-best-practices.md +174 -148
- package/claude/skills/sd-skill/examples/CLAUDE_MD_TESTING.md +11 -0
- package/claude/skills/sd-skill/persuasion-principles.md +39 -6
- package/claude/skills/sd-skill/testing-skills-with-subagents.md +46 -26
- package/claude/skills/sd-tdd/SKILL.md +54 -36
- package/claude/skills/sd-tdd/testing-anti-patterns.md +40 -22
- package/claude/skills/sd-use/SKILL.md +22 -22
- package/claude/skills/sd-worktree/SKILL.md +1 -0
- package/claude/skills/sd-worktree/sd-worktree.mjs +1 -1
- package/package.json +1 -1
- package/claude/skills/sd-check/run-checks.mjs +0 -54
|
@@ -28,30 +28,32 @@ A **skill** is a reference guide for proven techniques, patterns, or tools. Skil
|
|
|
28
28
|
|
|
29
29
|
## TDD Mapping for Skills
|
|
30
30
|
|
|
31
|
-
| TDD Concept
|
|
32
|
-
|
|
33
|
-
| **Test case**
|
|
34
|
-
| **Production code**
|
|
35
|
-
| **Test fails (RED)**
|
|
36
|
-
| **Test passes (GREEN)** | Agent complies with skill present
|
|
37
|
-
| **Refactor**
|
|
38
|
-
| **Write test first**
|
|
39
|
-
| **Watch it fail**
|
|
40
|
-
| **Minimal code**
|
|
41
|
-
| **Watch it pass**
|
|
42
|
-
| **Refactor cycle**
|
|
31
|
+
| TDD Concept | Skill Creation |
|
|
32
|
+
| ----------------------- | ------------------------------------------------ |
|
|
33
|
+
| **Test case** | Pressure scenario with subagent |
|
|
34
|
+
| **Production code** | Skill document (SKILL.md) |
|
|
35
|
+
| **Test fails (RED)** | Agent violates rule without skill (baseline) |
|
|
36
|
+
| **Test passes (GREEN)** | Agent complies with skill present |
|
|
37
|
+
| **Refactor** | Close loopholes while maintaining compliance |
|
|
38
|
+
| **Write test first** | Run baseline scenario BEFORE writing skill |
|
|
39
|
+
| **Watch it fail** | Document exact rationalizations agent uses |
|
|
40
|
+
| **Minimal code** | Write skill addressing those specific violations |
|
|
41
|
+
| **Watch it pass** | Verify agent now complies |
|
|
42
|
+
| **Refactor cycle** | Find new rationalizations → plug → re-verify |
|
|
43
43
|
|
|
44
44
|
The entire skill creation process follows RED-GREEN-REFACTOR.
|
|
45
45
|
|
|
46
46
|
## When to Create a Skill
|
|
47
47
|
|
|
48
48
|
**Create when:**
|
|
49
|
+
|
|
49
50
|
- Technique wasn't intuitively obvious to you
|
|
50
51
|
- You'd reference this again across projects
|
|
51
52
|
- Pattern applies broadly (not project-specific)
|
|
52
53
|
- Others would benefit
|
|
53
54
|
|
|
54
55
|
**Don't create for:**
|
|
56
|
+
|
|
55
57
|
- One-off solutions
|
|
56
58
|
- Standard practices well-documented elsewhere
|
|
57
59
|
- Project-specific conventions (put in CLAUDE.md)
|
|
@@ -60,17 +62,19 @@ The entire skill creation process follows RED-GREEN-REFACTOR.
|
|
|
60
62
|
## Skill Types
|
|
61
63
|
|
|
62
64
|
### Technique
|
|
65
|
+
|
|
63
66
|
Concrete method with steps to follow (condition-based-waiting, root-cause-tracing)
|
|
64
67
|
|
|
65
68
|
### Pattern
|
|
69
|
+
|
|
66
70
|
Way of thinking about problems (flatten-with-flags, test-invariants)
|
|
67
71
|
|
|
68
72
|
### Reference
|
|
73
|
+
|
|
69
74
|
API docs, syntax guides, tool documentation (office docs)
|
|
70
75
|
|
|
71
76
|
## Directory Structure
|
|
72
77
|
|
|
73
|
-
|
|
74
78
|
```
|
|
75
79
|
skills/
|
|
76
80
|
skill-name/
|
|
@@ -81,10 +85,12 @@ skills/
|
|
|
81
85
|
**Flat namespace** - all skills in one searchable namespace
|
|
82
86
|
|
|
83
87
|
**Separate files for:**
|
|
88
|
+
|
|
84
89
|
1. **Heavy reference** (100+ lines) - API docs, comprehensive syntax
|
|
85
90
|
2. **Reusable tools** - Scripts, utilities, templates
|
|
86
91
|
|
|
87
92
|
**Keep inline:**
|
|
93
|
+
|
|
88
94
|
- Principles and concepts
|
|
89
95
|
- Code patterns (< 50 lines)
|
|
90
96
|
- Everything else
|
|
@@ -92,6 +98,7 @@ skills/
|
|
|
92
98
|
## SKILL.md Structure
|
|
93
99
|
|
|
94
100
|
**Frontmatter (YAML):**
|
|
101
|
+
|
|
95
102
|
- Only two fields supported: `name` and `description`
|
|
96
103
|
- Max 1024 characters total
|
|
97
104
|
- `name`: Use letters, numbers, and hyphens only (no parentheses, special chars)
|
|
@@ -110,32 +117,38 @@ description: Use when [specific triggering conditions and symptoms]
|
|
|
110
117
|
# Skill Name
|
|
111
118
|
|
|
112
119
|
## Overview
|
|
120
|
+
|
|
113
121
|
What is this? Core principle in 1-2 sentences.
|
|
114
122
|
|
|
115
123
|
## When to Use
|
|
124
|
+
|
|
116
125
|
[Small inline flowchart IF decision non-obvious]
|
|
117
126
|
|
|
118
127
|
Bullet list with SYMPTOMS and use cases
|
|
119
128
|
When NOT to use
|
|
120
129
|
|
|
121
130
|
## Core Pattern (for techniques/patterns)
|
|
131
|
+
|
|
122
132
|
Before/after code comparison
|
|
123
133
|
|
|
124
134
|
## Quick Reference
|
|
135
|
+
|
|
125
136
|
Table or bullets for scanning common operations
|
|
126
137
|
|
|
127
138
|
## Implementation
|
|
139
|
+
|
|
128
140
|
Inline code for simple patterns
|
|
129
141
|
Link to file for heavy reference or reusable tools
|
|
130
142
|
|
|
131
143
|
## Common Mistakes
|
|
144
|
+
|
|
132
145
|
What goes wrong + fixes
|
|
133
146
|
|
|
134
147
|
## Real-World Impact (optional)
|
|
148
|
+
|
|
135
149
|
Concrete results
|
|
136
150
|
```
|
|
137
151
|
|
|
138
|
-
|
|
139
152
|
## Claude Search Optimization (CSO)
|
|
140
153
|
|
|
141
154
|
**Critical for discovery:** Future Claude needs to FIND your skill
|
|
@@ -171,8 +184,9 @@ description: Use when implementing any feature or bugfix, before writing impleme
|
|
|
171
184
|
```
|
|
172
185
|
|
|
173
186
|
**Content:**
|
|
187
|
+
|
|
174
188
|
- Use concrete triggers, symptoms, and situations that signal this skill applies
|
|
175
|
-
- Describe the
|
|
189
|
+
- Describe the _problem_ (race conditions, inconsistent behavior) not _language-specific symptoms_ (setTimeout, sleep)
|
|
176
190
|
- Keep triggers technology-agnostic unless the skill itself is technology-specific
|
|
177
191
|
- If skill is technology-specific, make that explicit in the trigger
|
|
178
192
|
- Write in third person (injected into system prompt)
|
|
@@ -198,6 +212,7 @@ description: Use when using React Router and handling authentication redirects
|
|
|
198
212
|
### 2. Keyword Coverage
|
|
199
213
|
|
|
200
214
|
Use words Claude would search for:
|
|
215
|
+
|
|
201
216
|
- Error messages: "Hook timed out", "ENOTEMPTY", "race condition"
|
|
202
217
|
- Symptoms: "flaky", "hanging", "zombie", "pollution"
|
|
203
218
|
- Synonyms: "timeout/hang/freeze", "cleanup/teardown/afterEach"
|
|
@@ -206,6 +221,7 @@ Use words Claude would search for:
|
|
|
206
221
|
### 3. Descriptive Naming
|
|
207
222
|
|
|
208
223
|
**Use active voice, verb-first:**
|
|
224
|
+
|
|
209
225
|
- ✅ `creating-skills` not `skill-creation`
|
|
210
226
|
- ✅ `condition-based-waiting` not `async-test-helpers`
|
|
211
227
|
|
|
@@ -214,6 +230,7 @@ Use words Claude would search for:
|
|
|
214
230
|
**Problem:** getting-started and frequently-referenced skills load into EVERY conversation. Every token counts.
|
|
215
231
|
|
|
216
232
|
**Target word counts:**
|
|
233
|
+
|
|
217
234
|
- getting-started workflows: <150 words each
|
|
218
235
|
- Frequently-loaded skills: <200 words total
|
|
219
236
|
- Other skills: <500 words (still be concise)
|
|
@@ -221,6 +238,7 @@ Use words Claude would search for:
|
|
|
221
238
|
**Techniques:**
|
|
222
239
|
|
|
223
240
|
**Move details to tool help:**
|
|
241
|
+
|
|
224
242
|
```bash
|
|
225
243
|
# ❌ BAD: Document all flags in SKILL.md
|
|
226
244
|
search-conversations supports --text, --both, --after DATE, --before DATE, --limit N
|
|
@@ -230,40 +248,49 @@ search-conversations supports multiple modes and filters. Run --help for details
|
|
|
230
248
|
```
|
|
231
249
|
|
|
232
250
|
**Use cross-references:**
|
|
251
|
+
|
|
233
252
|
```markdown
|
|
234
253
|
# ❌ BAD: Repeat workflow details
|
|
254
|
+
|
|
235
255
|
When searching, dispatch subagent with template...
|
|
236
256
|
[20 lines of repeated instructions]
|
|
237
257
|
|
|
238
258
|
# ✅ GOOD: Reference other skill
|
|
259
|
+
|
|
239
260
|
Always use subagents (50-100x context savings). REQUIRED: Use [other-skill-name] for workflow.
|
|
240
261
|
```
|
|
241
262
|
|
|
242
263
|
**Compress examples:**
|
|
264
|
+
|
|
243
265
|
```markdown
|
|
244
266
|
# ❌ BAD: Verbose example (42 words)
|
|
267
|
+
|
|
245
268
|
your human partner: "How did we handle authentication errors in React Router before?"
|
|
246
269
|
You: I'll search past conversations for React Router authentication patterns.
|
|
247
270
|
[Dispatch subagent with search query: "React Router authentication error handling 401"]
|
|
248
271
|
|
|
249
272
|
# ✅ GOOD: Minimal example (20 words)
|
|
273
|
+
|
|
250
274
|
Partner: "How did we handle auth errors in React Router?"
|
|
251
275
|
You: Searching...
|
|
252
276
|
[Dispatch subagent → synthesis]
|
|
253
277
|
```
|
|
254
278
|
|
|
255
279
|
**Eliminate redundancy:**
|
|
280
|
+
|
|
256
281
|
- Don't repeat what's in cross-referenced skills
|
|
257
282
|
- Don't explain what's obvious from command
|
|
258
283
|
- Don't include multiple examples of same pattern
|
|
259
284
|
|
|
260
285
|
**Name by what you DO or core insight:**
|
|
286
|
+
|
|
261
287
|
- ✅ `condition-based-waiting` > `async-test-helpers`
|
|
262
288
|
- ✅ `using-skills` not `skill-usage`
|
|
263
289
|
- ✅ `flatten-with-flags` > `data-structure-refactoring`
|
|
264
290
|
- ✅ `root-cause-tracing` > `debugging-techniques`
|
|
265
291
|
|
|
266
292
|
**Gerunds (-ing) work well for processes:**
|
|
293
|
+
|
|
267
294
|
- `creating-skills`, `testing-skills`, `debugging-with-logs`
|
|
268
295
|
- Active, describes the action you're taking
|
|
269
296
|
|
|
@@ -272,6 +299,7 @@ You: Searching...
|
|
|
272
299
|
**When writing documentation that references other skills:**
|
|
273
300
|
|
|
274
301
|
Use skill name only, with explicit requirement markers:
|
|
302
|
+
|
|
275
303
|
- ✅ Good: `**REQUIRED SUB-SKILL:** Use sd-tdd`
|
|
276
304
|
- ✅ Good: `**REQUIRED BACKGROUND:** You MUST understand sd-tdd`
|
|
277
305
|
- ❌ Bad: `See skills/testing/test-driven-development` (unclear if required)
|
|
@@ -295,11 +323,13 @@ digraph when_flowchart {
|
|
|
295
323
|
```
|
|
296
324
|
|
|
297
325
|
**Use flowcharts ONLY for:**
|
|
326
|
+
|
|
298
327
|
- Non-obvious decision points
|
|
299
328
|
- Process loops where you might stop too early
|
|
300
329
|
- "When to use A vs B" decisions
|
|
301
330
|
|
|
302
331
|
**Never use flowcharts for:**
|
|
332
|
+
|
|
303
333
|
- Reference material → Tables, lists
|
|
304
334
|
- Code examples → Markdown blocks
|
|
305
335
|
- Linear instructions → Numbered lists
|
|
@@ -310,11 +340,13 @@ digraph when_flowchart {
|
|
|
310
340
|
**One excellent example beats many mediocre ones**
|
|
311
341
|
|
|
312
342
|
Choose most relevant language:
|
|
343
|
+
|
|
313
344
|
- Testing techniques → TypeScript/JavaScript
|
|
314
345
|
- System debugging → Shell/Python
|
|
315
346
|
- Data processing → Python
|
|
316
347
|
|
|
317
348
|
**Good example:**
|
|
349
|
+
|
|
318
350
|
- Complete and runnable
|
|
319
351
|
- Well-commented explaining WHY
|
|
320
352
|
- From real scenario
|
|
@@ -322,6 +354,7 @@ Choose most relevant language:
|
|
|
322
354
|
- Ready to adapt (not generic template)
|
|
323
355
|
|
|
324
356
|
**Don't:**
|
|
357
|
+
|
|
325
358
|
- Implement in 5+ languages
|
|
326
359
|
- Create fill-in-the-blank templates
|
|
327
360
|
- Write contrived examples
|
|
@@ -331,21 +364,26 @@ You're good at porting - one great example is enough.
|
|
|
331
364
|
## File Organization
|
|
332
365
|
|
|
333
366
|
### Self-Contained Skill
|
|
367
|
+
|
|
334
368
|
```
|
|
335
369
|
defense-in-depth/
|
|
336
370
|
SKILL.md # Everything inline
|
|
337
371
|
```
|
|
372
|
+
|
|
338
373
|
When: All content fits, no heavy reference needed
|
|
339
374
|
|
|
340
375
|
### Skill with Reusable Tool
|
|
376
|
+
|
|
341
377
|
```
|
|
342
378
|
condition-based-waiting/
|
|
343
379
|
SKILL.md # Overview + patterns
|
|
344
380
|
example.ts # Working helpers to adapt
|
|
345
381
|
```
|
|
382
|
+
|
|
346
383
|
When: Tool is reusable code, not just narrative
|
|
347
384
|
|
|
348
385
|
### Skill with Heavy Reference
|
|
386
|
+
|
|
349
387
|
```
|
|
350
388
|
pptx/
|
|
351
389
|
SKILL.md # Overview + workflows
|
|
@@ -353,6 +391,7 @@ pptx/
|
|
|
353
391
|
ooxml.md # 500 lines XML structure
|
|
354
392
|
scripts/ # Executable tools
|
|
355
393
|
```
|
|
394
|
+
|
|
356
395
|
When: Reference material too large for inline
|
|
357
396
|
|
|
358
397
|
## The Iron Law (Same as TDD)
|
|
@@ -367,6 +406,7 @@ Write skill before testing? Delete it. Start over.
|
|
|
367
406
|
Edit skill without testing? Same violation.
|
|
368
407
|
|
|
369
408
|
**No exceptions:**
|
|
409
|
+
|
|
370
410
|
- Not for "simple additions"
|
|
371
411
|
- Not for "just adding a section"
|
|
372
412
|
- Not for "documentation updates"
|
|
@@ -385,6 +425,7 @@ Different skill types need different test approaches:
|
|
|
385
425
|
**Examples:** TDD, verification-before-completion, designing-before-coding
|
|
386
426
|
|
|
387
427
|
**Test with:**
|
|
428
|
+
|
|
388
429
|
- Academic questions: Do they understand the rules?
|
|
389
430
|
- Pressure scenarios: Do they comply under stress?
|
|
390
431
|
- Multiple pressures combined: time + sunk cost + exhaustion
|
|
@@ -397,6 +438,7 @@ Different skill types need different test approaches:
|
|
|
397
438
|
**Examples:** condition-based-waiting, root-cause-tracing, defensive-programming
|
|
398
439
|
|
|
399
440
|
**Test with:**
|
|
441
|
+
|
|
400
442
|
- Application scenarios: Can they apply the technique correctly?
|
|
401
443
|
- Variation scenarios: Do they handle edge cases?
|
|
402
444
|
- Missing information tests: Do instructions have gaps?
|
|
@@ -417,6 +459,7 @@ Example: Testing a "condition-based-waiting" skill
|
|
|
417
459
|
**Examples:** reducing-complexity, information-hiding concepts
|
|
418
460
|
|
|
419
461
|
**Test with:**
|
|
462
|
+
|
|
420
463
|
- Recognition scenarios: Do they recognize when pattern applies?
|
|
421
464
|
- Application scenarios: Can they use the mental model?
|
|
422
465
|
- Counter-examples: Do they know when NOT to apply?
|
|
@@ -428,6 +471,7 @@ Example: Testing a "condition-based-waiting" skill
|
|
|
428
471
|
**Examples:** API documentation, command references, library guides
|
|
429
472
|
|
|
430
473
|
**Test with:**
|
|
474
|
+
|
|
431
475
|
- Retrieval scenarios: Can they find the right information?
|
|
432
476
|
- Application scenarios: Can they use what they found correctly?
|
|
433
477
|
- Gap testing: Are common use cases covered?
|
|
@@ -436,16 +480,16 @@ Example: Testing a "condition-based-waiting" skill
|
|
|
436
480
|
|
|
437
481
|
## Common Rationalizations for Skipping Testing
|
|
438
482
|
|
|
439
|
-
| Excuse
|
|
440
|
-
|
|
441
|
-
| "Skill is obviously clear"
|
|
442
|
-
| "It's just a reference"
|
|
443
|
-
| "Testing is overkill"
|
|
444
|
-
| "I'll test if problems emerge"
|
|
445
|
-
| "Too tedious to test"
|
|
446
|
-
| "I'm confident it's good"
|
|
447
|
-
| "Academic review is enough"
|
|
448
|
-
| "No time to test"
|
|
483
|
+
| Excuse | Reality |
|
|
484
|
+
| -------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
485
|
+
| "Skill is obviously clear" | Clear to you ≠ clear to other agents. Test it. |
|
|
486
|
+
| "It's just a reference" | References can have gaps, unclear sections. Test retrieval. |
|
|
487
|
+
| "Testing is overkill" | Untested skills have issues. Always. 15 min testing saves hours. |
|
|
488
|
+
| "I'll test if problems emerge" | Problems = agents can't use skill. Test BEFORE deploying. |
|
|
489
|
+
| "Too tedious to test" | Testing is less tedious than debugging bad skill in production. |
|
|
490
|
+
| "I'm confident it's good" | Overconfidence guarantees issues. Test anyway. |
|
|
491
|
+
| "Academic review is enough" | Reading ≠ using. Test application scenarios. |
|
|
492
|
+
| "No time to test" | Deploying untested skill wastes more time fixing it later. |
|
|
449
493
|
| "I already know the baseline failures" | You know what YOU think the failures are. Run a subagent to see what ACTUALLY happens. Knowledge ≠ observation. |
|
|
450
494
|
|
|
451
495
|
**All of these mean: Test before deploying. No exceptions.**
|
|
@@ -471,11 +515,13 @@ Write code before test? Delete it.
|
|
|
471
515
|
Write code before test? Delete it. Start over.
|
|
472
516
|
|
|
473
517
|
**No exceptions:**
|
|
518
|
+
|
|
474
519
|
- Don't keep it as "reference"
|
|
475
520
|
- Don't "adapt" it while writing tests
|
|
476
521
|
- Don't look at it
|
|
477
522
|
- Delete means delete
|
|
478
|
-
|
|
523
|
+
|
|
524
|
+
````
|
|
479
525
|
</Good>
|
|
480
526
|
|
|
481
527
|
### Address "Spirit vs Letter" Arguments
|
|
@@ -484,7 +530,7 @@ Add foundational principle early:
|
|
|
484
530
|
|
|
485
531
|
```markdown
|
|
486
532
|
**Violating the letter of the rules is violating the spirit of the rules.**
|
|
487
|
-
|
|
533
|
+
````
|
|
488
534
|
|
|
489
535
|
This cuts off entire class of "I'm following the spirit" rationalizations.
|
|
490
536
|
|
|
@@ -493,10 +539,10 @@ This cuts off entire class of "I'm following the spirit" rationalizations.
|
|
|
493
539
|
Capture rationalizations from baseline testing (see Testing section below). Every excuse agents make goes in the table:
|
|
494
540
|
|
|
495
541
|
```markdown
|
|
496
|
-
| Excuse
|
|
497
|
-
|
|
498
|
-
| "Too simple to test"
|
|
499
|
-
| "I'll test after"
|
|
542
|
+
| Excuse | Reality |
|
|
543
|
+
| -------------------------------- | ----------------------------------------------------------------------- |
|
|
544
|
+
| "Too simple to test" | Simple code breaks. Test takes 30 seconds. |
|
|
545
|
+
| "I'll test after" | Tests passing immediately prove nothing. |
|
|
500
546
|
| "Tests after achieve same goals" | Tests-after = "what does this do?" Tests-first = "what should this do?" |
|
|
501
547
|
```
|
|
502
548
|
|
|
@@ -531,6 +577,7 @@ Follow the TDD cycle:
|
|
|
531
577
|
### RED: Write Failing Test (Baseline)
|
|
532
578
|
|
|
533
579
|
Run pressure scenario with subagent WITHOUT the skill. Document exact behavior:
|
|
580
|
+
|
|
534
581
|
- What choices did they make?
|
|
535
582
|
- What rationalizations did they use (verbatim)?
|
|
536
583
|
- Which pressures triggered violations?
|
|
@@ -550,6 +597,7 @@ Run same scenarios WITH skill. Agent should now comply.
|
|
|
550
597
|
Agent found new rationalization? Add explicit counter. Re-test until bulletproof.
|
|
551
598
|
|
|
552
599
|
**Testing methodology:** See testing-skills-with-subagents.md for the complete testing methodology:
|
|
600
|
+
|
|
553
601
|
- How to write pressure scenarios
|
|
554
602
|
- Pressure types (time, sunk cost, authority, exhaustion)
|
|
555
603
|
- Plugging holes systematically
|
|
@@ -558,21 +606,26 @@ Agent found new rationalization? Add explicit counter. Re-test until bulletproof
|
|
|
558
606
|
## Anti-Patterns
|
|
559
607
|
|
|
560
608
|
### ❌ Narrative Example
|
|
609
|
+
|
|
561
610
|
"In session 2025-10-03, we found empty projectDir caused..."
|
|
562
611
|
**Why bad:** Too specific, not reusable
|
|
563
612
|
|
|
564
613
|
### ❌ Multi-Language Dilution
|
|
614
|
+
|
|
565
615
|
example-js.js, example-py.py, example-go.go
|
|
566
616
|
**Why bad:** Mediocre quality, maintenance burden
|
|
567
617
|
|
|
568
618
|
### ❌ Code in Flowcharts
|
|
619
|
+
|
|
569
620
|
```dot
|
|
570
621
|
step1 [label="import fs"];
|
|
571
622
|
step2 [label="read file"];
|
|
572
623
|
```
|
|
624
|
+
|
|
573
625
|
**Why bad:** Can't copy-paste, hard to read
|
|
574
626
|
|
|
575
627
|
### ❌ Generic Labels
|
|
628
|
+
|
|
576
629
|
helper1, helper2, step3, pattern4
|
|
577
630
|
**Why bad:** Labels should have semantic meaning
|
|
578
631
|
|
|
@@ -581,6 +634,7 @@ helper1, helper2, step3, pattern4
|
|
|
581
634
|
**After writing ANY skill, you MUST STOP and complete the deployment process.**
|
|
582
635
|
|
|
583
636
|
**Do NOT:**
|
|
637
|
+
|
|
584
638
|
- Create multiple skills in batch without testing each
|
|
585
639
|
- Move to next skill before current one is verified
|
|
586
640
|
- Skip testing because "batching is more efficient"
|
|
@@ -594,11 +648,13 @@ Deploying untested skills = deploying untested code. It's a violation of quality
|
|
|
594
648
|
**IMPORTANT: Use TaskCreate to create todos for EACH checklist item below.**
|
|
595
649
|
|
|
596
650
|
**RED Phase - Write Failing Test:**
|
|
651
|
+
|
|
597
652
|
- [ ] Create pressure scenarios (3+ combined pressures for discipline skills)
|
|
598
653
|
- [ ] Run scenarios WITHOUT skill - document baseline behavior verbatim
|
|
599
654
|
- [ ] Identify patterns in rationalizations/failures
|
|
600
655
|
|
|
601
656
|
**GREEN Phase - Write Minimal Skill:**
|
|
657
|
+
|
|
602
658
|
- [ ] Name uses only letters, numbers, hyphens (no parentheses/special chars)
|
|
603
659
|
- [ ] YAML frontmatter with only name and description (max 1024 chars)
|
|
604
660
|
- [ ] Description starts with "Use when..." and includes specific triggers/symptoms
|
|
@@ -611,6 +667,7 @@ Deploying untested skills = deploying untested code. It's a violation of quality
|
|
|
611
667
|
- [ ] Run scenarios WITH skill - verify agents now comply
|
|
612
668
|
|
|
613
669
|
**REFACTOR Phase - Close Loopholes:**
|
|
670
|
+
|
|
614
671
|
- [ ] Identify NEW rationalizations from testing
|
|
615
672
|
- [ ] Add explicit counters (if discipline skill)
|
|
616
673
|
- [ ] Build rationalization table from all test iterations
|
|
@@ -618,6 +675,7 @@ Deploying untested skills = deploying untested code. It's a violation of quality
|
|
|
618
675
|
- [ ] Re-test until bulletproof
|
|
619
676
|
|
|
620
677
|
**Quality Checks:**
|
|
678
|
+
|
|
621
679
|
- [ ] Small flowchart only if decision non-obvious
|
|
622
680
|
- [ ] Quick reference table
|
|
623
681
|
- [ ] Common mistakes section
|
|
@@ -625,6 +683,7 @@ Deploying untested skills = deploying untested code. It's a violation of quality
|
|
|
625
683
|
- [ ] Supporting files only for tools or heavy reference
|
|
626
684
|
|
|
627
685
|
**Deployment:**
|
|
686
|
+
|
|
628
687
|
- [ ] Commit skill to git and push to your fork (if configured)
|
|
629
688
|
- [ ] Consider contributing back via PR (if broadly useful)
|
|
630
689
|
|
|
@@ -633,10 +692,10 @@ Deploying untested skills = deploying untested code. It's a violation of quality
|
|
|
633
692
|
How future Claude finds your skill:
|
|
634
693
|
|
|
635
694
|
1. **Encounters problem** ("tests are flaky")
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
695
|
+
2. **Finds SKILL** (description matches)
|
|
696
|
+
3. **Scans overview** (is this relevant?)
|
|
697
|
+
4. **Reads patterns** (quick reference table)
|
|
698
|
+
5. **Loads example** (only when implementing)
|
|
640
699
|
|
|
641
700
|
**Optimize for this flow** - put searchable terms early and often.
|
|
642
701
|
|