claude-skills-cli 0.0.3 → 0.0.5
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 +59 -226
- package/dist/commands/init.js +29 -20
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.js +69 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/package.js +5 -9
- package/dist/commands/package.js.map +1 -1
- package/dist/commands/stats.js +154 -0
- package/dist/commands/stats.js.map +1 -0
- package/dist/commands/validate.js +1 -1
- package/dist/commands/validate.js.map +1 -1
- package/dist/core/templates.js +63 -12
- package/dist/core/templates.js.map +1 -1
- package/dist/core/validator.js +31 -10
- package/dist/core/validator.js.map +1 -1
- package/dist/index.js +28 -4
- package/dist/index.js.map +1 -1
- package/dist/skills/skill-creator/SKILL.md +143 -0
- package/dist/skills/skill-creator/references/anthropic-resources.md +504 -0
- package/dist/skills/skill-creator/references/cli-reference.md +507 -0
- package/dist/skills/skill-creator/references/skill-examples.md +413 -0
- package/{skills → dist/skills}/skill-creator/references/writing-guide.md +156 -131
- package/dist/skills/skill-creator/skill-creator/SKILL.md +143 -0
- package/dist/skills/skill-creator/skill-creator/references/anthropic-resources.md +504 -0
- package/dist/skills/skill-creator/skill-creator/references/cli-reference.md +507 -0
- package/dist/skills/skill-creator/skill-creator/references/skill-examples.md +413 -0
- package/dist/skills/skill-creator/skill-creator/references/writing-guide.md +619 -0
- package/dist/utils/fs.js +2 -2
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/output.js +2 -1
- package/dist/utils/output.js.map +1 -1
- package/docs/SKILL-DEVELOPMENT.md +38 -35
- package/docs/SKILL-EXAMPLES.md +73 -63
- package/docs/SKILLS-ARCHITECTURE.md +42 -41
- package/package.json +2 -2
- package/skills/skill-creator/SKILL.md +0 -345
- package/skills/skill-creator/references/skill-examples.md +0 -403
|
@@ -4,18 +4,19 @@
|
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
# Create a new skill
|
|
7
|
-
|
|
7
|
+
claude-skills init --name my-skill --description "What it does"
|
|
8
8
|
|
|
9
9
|
# Validate the skill
|
|
10
|
-
|
|
10
|
+
claude-skills validate .claude/skills/my-skill
|
|
11
11
|
|
|
12
12
|
# Package for distribution
|
|
13
|
-
|
|
13
|
+
claude-skills package .claude/skills/my-skill
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## The 6-Step Process
|
|
17
17
|
|
|
18
|
-
Based on Anthropic's skill-creator methodology, adapted for
|
|
18
|
+
Based on Anthropic's skill-creator methodology, adapted for
|
|
19
|
+
devhub-crm.
|
|
19
20
|
|
|
20
21
|
### Step 1: Understanding with Concrete Examples
|
|
21
22
|
|
|
@@ -68,7 +69,7 @@ Based on Anthropic's skill-creator methodology, adapted for devhub-crm.
|
|
|
68
69
|
**Command**:
|
|
69
70
|
|
|
70
71
|
```bash
|
|
71
|
-
|
|
72
|
+
claude-skills init \
|
|
72
73
|
--name database-patterns \
|
|
73
74
|
--description "Guide for SQLite operations..."
|
|
74
75
|
```
|
|
@@ -82,7 +83,7 @@ python .claude/scripts/init_skill.py \
|
|
|
82
83
|
├── references/
|
|
83
84
|
│ └── detailed-guide.md # Example reference
|
|
84
85
|
├── scripts/
|
|
85
|
-
│ └── example.
|
|
86
|
+
│ └── example.js # Example script
|
|
86
87
|
└── assets/ # Empty directory
|
|
87
88
|
```
|
|
88
89
|
|
|
@@ -92,7 +93,8 @@ python .claude/scripts/init_skill.py \
|
|
|
92
93
|
|
|
93
94
|
### Step 4: Editing the Skill
|
|
94
95
|
|
|
95
|
-
**Focus**: Write content for another instance of Claude to use
|
|
96
|
+
**Focus**: Write content for another instance of Claude to use
|
|
97
|
+
effectively.
|
|
96
98
|
|
|
97
99
|
#### Start with Reusable Contents
|
|
98
100
|
|
|
@@ -169,8 +171,8 @@ For detailed information:
|
|
|
169
171
|
|
|
170
172
|
## Scripts
|
|
171
173
|
|
|
172
|
-
- `scripts/validate.
|
|
173
|
-
- `scripts/generate.
|
|
174
|
+
- `scripts/validate.js`: Description
|
|
175
|
+
- `scripts/generate.js`: Description
|
|
174
176
|
|
|
175
177
|
## Notes
|
|
176
178
|
|
|
@@ -192,7 +194,7 @@ For detailed information:
|
|
|
192
194
|
**Validation First**:
|
|
193
195
|
|
|
194
196
|
```bash
|
|
195
|
-
|
|
197
|
+
claude-skills validate .claude/skills/database-patterns
|
|
196
198
|
|
|
197
199
|
# Output shows:
|
|
198
200
|
# ✅ All required fields present
|
|
@@ -203,7 +205,7 @@ python .claude/scripts/validate_skill.py .claude/skills/database-patterns
|
|
|
203
205
|
**Fix Validation Issues**, then package:
|
|
204
206
|
|
|
205
207
|
```bash
|
|
206
|
-
|
|
208
|
+
claude-skills package .claude/skills/database-patterns
|
|
207
209
|
|
|
208
210
|
# Creates:
|
|
209
211
|
# dist/database-patterns.zip
|
|
@@ -234,13 +236,13 @@ python .claude/scripts/package_skill.py .claude/skills/database-patterns
|
|
|
234
236
|
vim .claude/skills/database-patterns/SKILL.md
|
|
235
237
|
|
|
236
238
|
# Validate changes
|
|
237
|
-
|
|
239
|
+
claude-skills validate .claude/skills/database-patterns
|
|
238
240
|
|
|
239
241
|
# Test in conversation
|
|
240
242
|
# (Skills auto-reload in Claude Code)
|
|
241
243
|
|
|
242
244
|
# Package new version if needed
|
|
243
|
-
|
|
245
|
+
claude-skills package .claude/skills/database-patterns
|
|
244
246
|
```
|
|
245
247
|
|
|
246
248
|
**Common Iterations**:
|
|
@@ -315,7 +317,8 @@ Add comments explaining WHY, not just WHAT:
|
|
|
315
317
|
```markdown
|
|
316
318
|
## ID Generation
|
|
317
319
|
|
|
318
|
-
Generate IDs with nanoid() to ensure uniqueness without database
|
|
320
|
+
Generate IDs with nanoid() to ensure uniqueness without database
|
|
321
|
+
overhead.
|
|
319
322
|
|
|
320
323
|
<!-- Not just: "Use nanoid()" -->
|
|
321
324
|
```
|
|
@@ -325,10 +328,11 @@ Generate IDs with nanoid() to ensure uniqueness without database overhead.
|
|
|
325
328
|
Always run validation:
|
|
326
329
|
|
|
327
330
|
```bash
|
|
328
|
-
|
|
331
|
+
claude-skills validate .claude/skills/my-skill --strict
|
|
329
332
|
```
|
|
330
333
|
|
|
331
|
-
Strict mode treats warnings as errors - use before packaging for
|
|
334
|
+
Strict mode treats warnings as errors - use before packaging for
|
|
335
|
+
distribution.
|
|
332
336
|
|
|
333
337
|
---
|
|
334
338
|
|
|
@@ -425,33 +429,32 @@ description: Brief description including when to use this skill
|
|
|
425
429
|
|
|
426
430
|
### Script File
|
|
427
431
|
|
|
428
|
-
```
|
|
429
|
-
#!/usr/bin/env
|
|
430
|
-
"""
|
|
431
|
-
Description of what this script does.
|
|
432
|
+
```javascript
|
|
433
|
+
#!/usr/bin/env node
|
|
432
434
|
|
|
433
|
-
|
|
434
|
-
|
|
435
|
+
/**
|
|
436
|
+
* Description of what this script does.
|
|
437
|
+
*
|
|
438
|
+
* Usage:
|
|
439
|
+
* node script_name.js [arguments]
|
|
440
|
+
*
|
|
441
|
+
* Example:
|
|
442
|
+
* node validate.js --check-all
|
|
443
|
+
*/
|
|
435
444
|
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
445
|
+
function main() {
|
|
446
|
+
// Script logic here
|
|
447
|
+
}
|
|
439
448
|
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
def main():
|
|
443
|
-
# Script logic here
|
|
444
|
-
pass
|
|
445
|
-
|
|
446
|
-
if __name__ == "__main__":
|
|
447
|
-
main()
|
|
449
|
+
main();
|
|
448
450
|
```
|
|
449
451
|
|
|
450
452
|
---
|
|
451
453
|
|
|
452
454
|
## Next Steps
|
|
453
455
|
|
|
454
|
-
1. Read [SKILLS-ARCHITECTURE.md](SKILLS-ARCHITECTURE.md) for system
|
|
456
|
+
1. Read [SKILLS-ARCHITECTURE.md](SKILLS-ARCHITECTURE.md) for system
|
|
457
|
+
overview
|
|
455
458
|
2. See [SKILL-EXAMPLES.md](SKILL-EXAMPLES.md) for real examples
|
|
456
|
-
3. Create your first skill with `
|
|
459
|
+
3. Create your first skill with `claude-skills init`
|
|
457
460
|
4. Join skill development workflow for devhub-crm
|
package/docs/SKILL-EXAMPLES.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Skill Examples
|
|
2
2
|
|
|
3
|
-
Real-world examples from Anthropic's Skills repository and Claude
|
|
3
|
+
Real-world examples from Anthropic's Skills repository and Claude
|
|
4
|
+
Cookbooks, with analysis of what makes them effective.
|
|
4
5
|
|
|
5
6
|
---
|
|
6
7
|
|
|
@@ -12,8 +13,8 @@ Real-world examples from Anthropic's Skills repository and Claude Cookbooks, wit
|
|
|
12
13
|
applying-brand-guidelines/
|
|
13
14
|
├── SKILL.md
|
|
14
15
|
└── scripts/
|
|
15
|
-
├── apply_brand.
|
|
16
|
-
└── validate_brand.
|
|
16
|
+
├── apply_brand.js
|
|
17
|
+
└── validate_brand.js
|
|
17
18
|
```
|
|
18
19
|
|
|
19
20
|
### SKILL.md Frontmatter
|
|
@@ -21,15 +22,19 @@ applying-brand-guidelines/
|
|
|
21
22
|
```yaml
|
|
22
23
|
---
|
|
23
24
|
name: applying-brand-guidelines
|
|
24
|
-
description:
|
|
25
|
+
description:
|
|
26
|
+
This skill applies consistent corporate branding and styling to all
|
|
27
|
+
generated documents including colors, fonts, layouts, and messaging
|
|
25
28
|
---
|
|
26
29
|
```
|
|
27
30
|
|
|
28
31
|
### What Makes It Good
|
|
29
32
|
|
|
30
|
-
**✅ Clear Scope**: Focuses on one thing - brand consistency across
|
|
33
|
+
**✅ Clear Scope**: Focuses on one thing - brand consistency across
|
|
34
|
+
documents
|
|
31
35
|
|
|
32
|
-
**✅ Actionable Content**: Specific hex codes, font sizes, spacing
|
|
36
|
+
**✅ Actionable Content**: Specific hex codes, font sizes, spacing
|
|
37
|
+
rules
|
|
33
38
|
|
|
34
39
|
```markdown
|
|
35
40
|
### Color Palette
|
|
@@ -40,12 +45,13 @@ description: This skill applies consistent corporate branding and styling to all
|
|
|
40
45
|
|
|
41
46
|
**✅ Executable Scripts**: Validation doesn't need manual checking
|
|
42
47
|
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
```javascript
|
|
49
|
+
// scripts/validate_brand.js
|
|
50
|
+
// Checks documents for brand compliance automatically
|
|
46
51
|
```
|
|
47
52
|
|
|
48
|
-
**✅ "When to Use" in Description**: "applies consistent corporate
|
|
53
|
+
**✅ "When to Use" in Description**: "applies consistent corporate
|
|
54
|
+
branding...to all generated documents"
|
|
49
55
|
|
|
50
56
|
### Key Takeaway
|
|
51
57
|
|
|
@@ -68,7 +74,7 @@ pdf/
|
|
|
68
74
|
│ ├── forms.md
|
|
69
75
|
│ └── reference.md
|
|
70
76
|
└── scripts/
|
|
71
|
-
└── extract_fields.
|
|
77
|
+
└── extract_fields.js
|
|
72
78
|
```
|
|
73
79
|
|
|
74
80
|
### SKILL.md Excerpt
|
|
@@ -76,19 +82,26 @@ pdf/
|
|
|
76
82
|
````markdown
|
|
77
83
|
---
|
|
78
84
|
name: pdf
|
|
79
|
-
description:
|
|
85
|
+
description:
|
|
86
|
+
Extract text and tables from PDF files, fill forms, merge documents.
|
|
87
|
+
Use when working with PDF files or when the user mentions PDFs,
|
|
88
|
+
forms, or document extraction.
|
|
80
89
|
---
|
|
81
90
|
|
|
82
91
|
# PDF Processing
|
|
83
92
|
|
|
84
93
|
## Quick Start
|
|
85
94
|
|
|
86
|
-
Use
|
|
95
|
+
Use pdf-parse to extract text from PDFs:
|
|
87
96
|
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
97
|
+
```javascript
|
|
98
|
+
const fs = require('fs');
|
|
99
|
+
const pdf = require('pdf-parse');
|
|
100
|
+
|
|
101
|
+
const dataBuffer = fs.readFileSync('document.pdf');
|
|
102
|
+
pdf(dataBuffer).then((data) => {
|
|
103
|
+
console.log(data.text);
|
|
104
|
+
});
|
|
92
105
|
```
|
|
93
106
|
````
|
|
94
107
|
|
|
@@ -122,14 +135,9 @@ Large domains benefit from splitting:
|
|
|
122
135
|
### Structure (from Claude Cookbooks)
|
|
123
136
|
```
|
|
124
137
|
|
|
125
|
-
financial-analyzer/
|
|
126
|
-
├──
|
|
127
|
-
|
|
128
|
-
│ ├── formulas.md
|
|
129
|
-
│ └── ratios-reference.md
|
|
130
|
-
└── scripts/
|
|
131
|
-
├── calculate_ratios.py
|
|
132
|
-
└── generate_dashboard.py
|
|
138
|
+
financial-analyzer/ ├── SKILL.md ├── references/ │ ├── formulas.md │
|
|
139
|
+
└── ratios-reference.md └── scripts/ ├── calculate_ratios.js └──
|
|
140
|
+
generate_dashboard.js
|
|
133
141
|
|
|
134
142
|
````
|
|
135
143
|
|
|
@@ -147,17 +155,18 @@ description: Calculate financial ratios, analyze statements, and generate perfor
|
|
|
147
155
|
### Liquidity Ratios
|
|
148
156
|
|
|
149
157
|
**Current Ratio**:
|
|
150
|
-
```
|
|
151
|
-
|
|
158
|
+
```javascript
|
|
159
|
+
const currentRatio = currentAssets / currentLiabilities;
|
|
152
160
|
````
|
|
153
161
|
|
|
154
162
|
**Quick Ratio**:
|
|
155
163
|
|
|
156
|
-
```
|
|
157
|
-
|
|
164
|
+
```javascript
|
|
165
|
+
const quickRatio = (currentAssets - inventory) / currentLiabilities;
|
|
158
166
|
```
|
|
159
167
|
|
|
160
|
-
For complete ratio formulas, see
|
|
168
|
+
For complete ratio formulas, see
|
|
169
|
+
[references/formulas.md](references/formulas.md).
|
|
161
170
|
|
|
162
171
|
````
|
|
163
172
|
|
|
@@ -166,9 +175,9 @@ For complete ratio formulas, see [references/formulas.md](references/formulas.md
|
|
|
166
175
|
**✅ Domain-Specific**: Tailored to financial analysis
|
|
167
176
|
|
|
168
177
|
**✅ Executable Calculations**: Scripts provide exact formulas
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
|
|
178
|
+
```javascript
|
|
179
|
+
// scripts/calculate_ratios.js
|
|
180
|
+
// Runs calculations without Claude generating code each time
|
|
172
181
|
````
|
|
173
182
|
|
|
174
183
|
**✅ References for Detail**: Full formula explanations in references/
|
|
@@ -204,7 +213,10 @@ database-schema/
|
|
|
204
213
|
````markdown
|
|
205
214
|
---
|
|
206
215
|
name: database-schema
|
|
207
|
-
description:
|
|
216
|
+
description:
|
|
217
|
+
Complete database schema with table structures, relationships, and
|
|
218
|
+
indexes for the project. Use when writing SQL queries, understanding
|
|
219
|
+
data models, or working with database operations.
|
|
208
220
|
---
|
|
209
221
|
|
|
210
222
|
# Database Schema
|
|
@@ -259,16 +271,9 @@ Reference-heavy skills should:
|
|
|
259
271
|
### Structure (from Anthropic examples)
|
|
260
272
|
```
|
|
261
273
|
|
|
262
|
-
component-library/
|
|
263
|
-
├──
|
|
264
|
-
├──
|
|
265
|
-
│ ├── button-variants.md
|
|
266
|
-
│ ├── form-patterns.md
|
|
267
|
-
│ └── layout-components.md
|
|
268
|
-
└── assets/
|
|
269
|
-
└── component-templates/
|
|
270
|
-
├── button.tsx
|
|
271
|
-
└── form.tsx
|
|
274
|
+
component-library/ ├── SKILL.md ├── references/ │ ├──
|
|
275
|
+
button-variants.md │ ├── form-patterns.md │ └── layout-components.md
|
|
276
|
+
└── assets/ └── component-templates/ ├── button.tsx └── form.tsx
|
|
272
277
|
|
|
273
278
|
````
|
|
274
279
|
|
|
@@ -327,15 +332,9 @@ Component library skills should:
|
|
|
327
332
|
### Structure
|
|
328
333
|
```
|
|
329
334
|
|
|
330
|
-
github-api/
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
│ ├── endpoints.md
|
|
334
|
-
│ ├── authentication.md
|
|
335
|
-
│ └── rate-limits.md
|
|
336
|
-
└── scripts/
|
|
337
|
-
├── test_connection.py
|
|
338
|
-
└── check_rate_limit.py
|
|
335
|
+
github-api/ ├── SKILL.md ├── references/ │ ├── endpoints.md │ ├──
|
|
336
|
+
authentication.md │ └── rate-limits.md └── scripts/ ├──
|
|
337
|
+
test_connection.js └── check_rate_limit.js
|
|
339
338
|
|
|
340
339
|
````
|
|
341
340
|
|
|
@@ -364,10 +363,11 @@ const response = await fetch('https://api.github.com/user', {
|
|
|
364
363
|
Check rate limits before making requests:
|
|
365
364
|
|
|
366
365
|
```bash
|
|
367
|
-
|
|
366
|
+
node scripts/check_rate_limit.js
|
|
368
367
|
```
|
|
369
368
|
|
|
370
|
-
For complete API reference, see
|
|
369
|
+
For complete API reference, see
|
|
370
|
+
[references/endpoints.md](references/endpoints.md).
|
|
371
371
|
|
|
372
372
|
````
|
|
373
373
|
|
|
@@ -406,7 +406,10 @@ description: Helps with database operations
|
|
|
406
406
|
|
|
407
407
|
```yaml
|
|
408
408
|
---
|
|
409
|
-
description:
|
|
409
|
+
description:
|
|
410
|
+
SQLite query patterns using better-sqlite3 for contacts, companies,
|
|
411
|
+
and interactions tables. Use when writing SELECT, INSERT, UPDATE, or
|
|
412
|
+
DELETE operations with prepared statements.
|
|
410
413
|
---
|
|
411
414
|
```
|
|
412
415
|
|
|
@@ -433,8 +436,8 @@ description: SQLite query patterns using better-sqlite3 for contacts, companies,
|
|
|
433
436
|
|
|
434
437
|
[10 common patterns]
|
|
435
438
|
|
|
436
|
-
For complete schema: [references/schema.md](references/schema.md)
|
|
437
|
-
|
|
439
|
+
For complete schema: [references/schema.md](references/schema.md) For
|
|
440
|
+
all examples: [references/queries.md](references/queries.md)
|
|
438
441
|
```
|
|
439
442
|
|
|
440
443
|
### ❌ Anti-Pattern 3: Using Second Person
|
|
@@ -466,7 +469,10 @@ description: Handle form submissions
|
|
|
466
469
|
|
|
467
470
|
```yaml
|
|
468
471
|
---
|
|
469
|
-
description:
|
|
472
|
+
description:
|
|
473
|
+
Handle form submissions with validation, error handling, and
|
|
474
|
+
reactive updates. Use when implementing forms, processing user
|
|
475
|
+
input, or validating data before database operations.
|
|
470
476
|
---
|
|
471
477
|
```
|
|
472
478
|
|
|
@@ -476,7 +482,8 @@ description: Handle form submissions with validation, error handling, and reacti
|
|
|
476
482
|
|
|
477
483
|
### Example: Multi-Skill Workflow
|
|
478
484
|
|
|
479
|
-
**User Request**: "Create a GitHub contact dashboard with database
|
|
485
|
+
**User Request**: "Create a GitHub contact dashboard with database
|
|
486
|
+
stats"
|
|
480
487
|
|
|
481
488
|
**Skills Activated**:
|
|
482
489
|
|
|
@@ -485,7 +492,8 @@ description: Handle form submissions with validation, error handling, and reacti
|
|
|
485
492
|
3. `sveltekit-patterns` - Build component structure
|
|
486
493
|
4. `daisyui-conventions` - Apply styling
|
|
487
494
|
|
|
488
|
-
**Why This Works**: Each skill handles its domain, Claude composes
|
|
495
|
+
**Why This Works**: Each skill handles its domain, Claude composes
|
|
496
|
+
them naturally.
|
|
489
497
|
|
|
490
498
|
---
|
|
491
499
|
|
|
@@ -494,8 +502,10 @@ description: Handle form submissions with validation, error handling, and reacti
|
|
|
494
502
|
### From Anthropic Skills
|
|
495
503
|
|
|
496
504
|
1. **Metadata drives discovery** - Spend time on descriptions
|
|
497
|
-
2. **Progressive disclosure saves tokens** - Don't front-load
|
|
498
|
-
|
|
505
|
+
2. **Progressive disclosure saves tokens** - Don't front-load
|
|
506
|
+
everything
|
|
507
|
+
3. **Scripts for determinism** - Code that doesn't change shouldn't be
|
|
508
|
+
generated
|
|
499
509
|
4. **References for depth** - Keep SKILL.md navigable
|
|
500
510
|
5. **Real examples** - Pull from actual codebases
|
|
501
511
|
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
Claude Skills are modular capabilities that extend Claude's
|
|
5
|
+
Claude Skills are modular capabilities that extend Claude's
|
|
6
|
+
functionality through a filesystem-based architecture. They provide
|
|
7
|
+
specialized domain expertise, workflows, and tools that transform
|
|
8
|
+
Claude from a general-purpose agent into a specialist.
|
|
6
9
|
|
|
7
10
|
## Core Concepts
|
|
8
11
|
|
|
@@ -52,8 +55,8 @@ Claude sees this at startup and knows:
|
|
|
52
55
|
- When to use it
|
|
53
56
|
- How to trigger it
|
|
54
57
|
|
|
55
|
-
**Token cost**: ~100 tokens per skill (metadata only)
|
|
56
|
-
|
|
58
|
+
**Token cost**: ~100 tokens per skill (metadata only) **When**: At
|
|
59
|
+
agent startup, every conversation
|
|
57
60
|
|
|
58
61
|
### Level 2: Instructions (<5k tokens)
|
|
59
62
|
|
|
@@ -71,26 +74,26 @@ The markdown body of SKILL.md contains:
|
|
|
71
74
|
## Core Principles
|
|
72
75
|
|
|
73
76
|
- Use prepared statements for all queries
|
|
74
|
-
- Generate IDs with nanoid()
|
|
75
|
-
...
|
|
77
|
+
- Generate IDs with nanoid() ...
|
|
76
78
|
|
|
77
79
|
For complete schema, see [references/schema.md](references/schema.md)
|
|
78
80
|
```
|
|
79
81
|
|
|
80
|
-
**Token cost**: ~3-5k tokens typically
|
|
81
|
-
|
|
82
|
+
**Token cost**: ~3-5k tokens typically **When**: Only when Claude
|
|
83
|
+
determines skill is relevant
|
|
82
84
|
|
|
83
85
|
### Level 3: Resources (unlimited)
|
|
84
86
|
|
|
85
87
|
**Loaded as needed**
|
|
86
88
|
|
|
87
89
|
- **references/**: Documentation Claude reads into context as needed
|
|
88
|
-
- **scripts/**: Executable code Claude runs without loading into
|
|
90
|
+
- **scripts/**: Executable code Claude runs without loading into
|
|
91
|
+
context
|
|
89
92
|
- **assets/**: Files used in output (templates, images, fonts)
|
|
90
93
|
|
|
91
94
|
```bash
|
|
92
95
|
# Claude can execute scripts without reading them
|
|
93
|
-
|
|
96
|
+
node scripts/validate_schema.js
|
|
94
97
|
|
|
95
98
|
# Or read references when needed
|
|
96
99
|
cat references/detailed-schema.md
|
|
@@ -147,8 +150,8 @@ my-skill/
|
|
|
147
150
|
│ ├── examples.md
|
|
148
151
|
│ └── troubleshooting.md
|
|
149
152
|
├── scripts/ # Executable code
|
|
150
|
-
│ ├── validate.
|
|
151
|
-
│ ├── generate.
|
|
153
|
+
│ ├── validate.js
|
|
154
|
+
│ ├── generate.js
|
|
152
155
|
│ └── test.sh
|
|
153
156
|
└── assets/ # Templates & resources
|
|
154
157
|
├── template.sql
|
|
@@ -226,7 +229,8 @@ Detailed documentation loaded only when needed by Claude.
|
|
|
226
229
|
```markdown
|
|
227
230
|
# In SKILL.md
|
|
228
231
|
|
|
229
|
-
For complete database schema with all relationships, see
|
|
232
|
+
For complete database schema with all relationships, see
|
|
233
|
+
[references/schema.md](references/schema.md).
|
|
230
234
|
|
|
231
235
|
# Claude can then:
|
|
232
236
|
|
|
@@ -237,7 +241,8 @@ cat references/schema.md # Load when needed
|
|
|
237
241
|
|
|
238
242
|
### Purpose
|
|
239
243
|
|
|
240
|
-
Executable code for deterministic operations that don't need token
|
|
244
|
+
Executable code for deterministic operations that don't need token
|
|
245
|
+
generation.
|
|
241
246
|
|
|
242
247
|
### When to Use Scripts
|
|
243
248
|
|
|
@@ -248,21 +253,21 @@ Executable code for deterministic operations that don't need token generation.
|
|
|
248
253
|
|
|
249
254
|
### Why Scripts Are Efficient
|
|
250
255
|
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
"Claude, write
|
|
254
|
-
|
|
256
|
+
```javascript
|
|
257
|
+
// Option 1: Claude generates code every time (expensive)
|
|
258
|
+
"Claude, write JavaScript to validate these timestamps..."
|
|
259
|
+
// Result: ~500 tokens each time
|
|
255
260
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
261
|
+
// Option 2: Claude runs existing script (cheap)
|
|
262
|
+
node scripts/validate_timestamps.js
|
|
263
|
+
// Result: ~50 tokens (just the output)
|
|
259
264
|
```
|
|
260
265
|
|
|
261
266
|
### Best Practices
|
|
262
267
|
|
|
263
|
-
- Include shebang (`#!/usr/bin/env
|
|
268
|
+
- Include shebang (`#!/usr/bin/env node`)
|
|
264
269
|
- Make executable (`chmod +x`)
|
|
265
|
-
- Add
|
|
270
|
+
- Add JSDoc comments with usage
|
|
266
271
|
- Handle errors gracefully
|
|
267
272
|
- Return meaningful output
|
|
268
273
|
|
|
@@ -281,7 +286,7 @@ Files used in output, not loaded into context.
|
|
|
281
286
|
|
|
282
287
|
### Usage Pattern
|
|
283
288
|
|
|
284
|
-
```
|
|
289
|
+
```bash
|
|
285
290
|
# Claude copies/modifies assets without reading into context
|
|
286
291
|
cp assets/template.html output/index.html
|
|
287
292
|
# Modify the template as needed
|
|
@@ -309,7 +314,8 @@ Schema reference (if needed): ~2000 tokens
|
|
|
309
314
|
Total: 100 tokens normally, 3100-5100 when used
|
|
310
315
|
```
|
|
311
316
|
|
|
312
|
-
**Savings**: Skill metadata is loaded once. Without skill, you pay
|
|
317
|
+
**Savings**: Skill metadata is loaded once. Without skill, you pay
|
|
318
|
+
~3500 tokens every conversation even if not needed.
|
|
313
319
|
|
|
314
320
|
## Skill Composition
|
|
315
321
|
|
|
@@ -354,27 +360,22 @@ Each skill loads independently, shares context naturally.
|
|
|
354
360
|
|
|
355
361
|
### Do:
|
|
356
362
|
|
|
357
|
-
✅ Keep SKILL.md concise and actionable
|
|
358
|
-
✅
|
|
359
|
-
✅
|
|
360
|
-
✅
|
|
361
|
-
|
|
362
|
-
✅ Use scripts for deterministic operations
|
|
363
|
-
✅ Group related content in references
|
|
364
|
-
✅ Test skills on real tasks
|
|
363
|
+
✅ Keep SKILL.md concise and actionable ✅ Use imperative voice for
|
|
364
|
+
instructions ✅ Provide concrete examples ✅ Link to references for
|
|
365
|
+
details ✅ Include "when to use" in description ✅ Use scripts for
|
|
366
|
+
deterministic operations ✅ Group related content in references ✅
|
|
367
|
+
Test skills on real tasks
|
|
365
368
|
|
|
366
369
|
### Don't:
|
|
367
370
|
|
|
368
|
-
❌ Duplicate content between SKILL.md and references
|
|
369
|
-
|
|
370
|
-
❌
|
|
371
|
-
|
|
372
|
-
❌ Make descriptions too generic
|
|
373
|
-
❌ Leave TODO placeholders
|
|
374
|
-
❌ Skip validation before packaging
|
|
371
|
+
❌ Duplicate content between SKILL.md and references ❌ Use second
|
|
372
|
+
person ("you") ❌ Include entire documentation inline ❌ Forget to
|
|
373
|
+
specify when to use skill ❌ Make descriptions too generic ❌ Leave
|
|
374
|
+
TODO placeholders ❌ Skip validation before packaging
|
|
375
375
|
|
|
376
376
|
## Next Steps
|
|
377
377
|
|
|
378
|
-
- Read [SKILL-DEVELOPMENT.md](SKILL-DEVELOPMENT.md) for creation
|
|
378
|
+
- Read [SKILL-DEVELOPMENT.md](SKILL-DEVELOPMENT.md) for creation
|
|
379
|
+
workflow
|
|
379
380
|
- See [SKILL-EXAMPLES.md](SKILL-EXAMPLES.md) for real-world examples
|
|
380
|
-
- Use `
|
|
381
|
+
- Use `claude-skills init` to create your first skill
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-skills-cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "CLI toolkit for creating and managing Claude Agent Skills",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
"files": [
|
|
11
11
|
"dist",
|
|
12
12
|
"docs",
|
|
13
|
-
"skills",
|
|
14
13
|
"README.md"
|
|
15
14
|
],
|
|
16
15
|
"engines": {
|
|
@@ -47,6 +46,7 @@
|
|
|
47
46
|
},
|
|
48
47
|
"scripts": {
|
|
49
48
|
"build": "tsc",
|
|
49
|
+
"postbuild": "mkdir -p dist/skills && cp -r .claude/skills/skill-creator dist/skills/skill-creator",
|
|
50
50
|
"dev": "tsc --watch",
|
|
51
51
|
"start": "node ./dist/index.js",
|
|
52
52
|
"format": "prettier --write .",
|