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.
Files changed (37) hide show
  1. package/README.md +59 -226
  2. package/dist/commands/init.js +29 -20
  3. package/dist/commands/init.js.map +1 -1
  4. package/dist/commands/install.js +69 -0
  5. package/dist/commands/install.js.map +1 -0
  6. package/dist/commands/package.js +5 -9
  7. package/dist/commands/package.js.map +1 -1
  8. package/dist/commands/stats.js +154 -0
  9. package/dist/commands/stats.js.map +1 -0
  10. package/dist/commands/validate.js +1 -1
  11. package/dist/commands/validate.js.map +1 -1
  12. package/dist/core/templates.js +63 -12
  13. package/dist/core/templates.js.map +1 -1
  14. package/dist/core/validator.js +31 -10
  15. package/dist/core/validator.js.map +1 -1
  16. package/dist/index.js +28 -4
  17. package/dist/index.js.map +1 -1
  18. package/dist/skills/skill-creator/SKILL.md +143 -0
  19. package/dist/skills/skill-creator/references/anthropic-resources.md +504 -0
  20. package/dist/skills/skill-creator/references/cli-reference.md +507 -0
  21. package/dist/skills/skill-creator/references/skill-examples.md +413 -0
  22. package/{skills → dist/skills}/skill-creator/references/writing-guide.md +156 -131
  23. package/dist/skills/skill-creator/skill-creator/SKILL.md +143 -0
  24. package/dist/skills/skill-creator/skill-creator/references/anthropic-resources.md +504 -0
  25. package/dist/skills/skill-creator/skill-creator/references/cli-reference.md +507 -0
  26. package/dist/skills/skill-creator/skill-creator/references/skill-examples.md +413 -0
  27. package/dist/skills/skill-creator/skill-creator/references/writing-guide.md +619 -0
  28. package/dist/utils/fs.js +2 -2
  29. package/dist/utils/fs.js.map +1 -1
  30. package/dist/utils/output.js +2 -1
  31. package/dist/utils/output.js.map +1 -1
  32. package/docs/SKILL-DEVELOPMENT.md +38 -35
  33. package/docs/SKILL-EXAMPLES.md +73 -63
  34. package/docs/SKILLS-ARCHITECTURE.md +42 -41
  35. package/package.json +2 -2
  36. package/skills/skill-creator/SKILL.md +0 -345
  37. 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
- python .claude/scripts/init_skill.py --name my-skill --description "What it does"
7
+ claude-skills init --name my-skill --description "What it does"
8
8
 
9
9
  # Validate the skill
10
- python .claude/scripts/validate_skill.py .claude/skills/my-skill
10
+ claude-skills validate .claude/skills/my-skill
11
11
 
12
12
  # Package for distribution
13
- python .claude/scripts/package_skill.py .claude/skills/my-skill
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 devhub-crm.
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
- python .claude/scripts/init_skill.py \
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.py # Example script
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 effectively.
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.py`: Description
173
- - `scripts/generate.py`: Description
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
- python .claude/scripts/validate_skill.py .claude/skills/database-patterns
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
- python .claude/scripts/package_skill.py .claude/skills/database-patterns
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
- python .claude/scripts/validate_skill.py .claude/skills/database-patterns
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
- python .claude/scripts/package_skill.py .claude/skills/database-patterns
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 overhead.
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
- python .claude/scripts/validate_skill.py .claude/skills/my-skill --strict
331
+ claude-skills validate .claude/skills/my-skill --strict
329
332
  ```
330
333
 
331
- Strict mode treats warnings as errors - use before packaging for distribution.
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
- ```python
429
- #!/usr/bin/env python3
430
- """
431
- Description of what this script does.
432
+ ```javascript
433
+ #!/usr/bin/env node
432
434
 
433
- Usage:
434
- python script_name.py [arguments]
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
- Example:
437
- python validate.py --check-all
438
- """
445
+ function main() {
446
+ // Script logic here
447
+ }
439
448
 
440
- import sys
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 overview
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 `python .claude/scripts/init_skill.py`
459
+ 3. Create your first skill with `claude-skills init`
457
460
  4. Join skill development workflow for devhub-crm
@@ -1,6 +1,7 @@
1
1
  # Skill Examples
2
2
 
3
- Real-world examples from Anthropic's Skills repository and Claude Cookbooks, with analysis of what makes them effective.
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.py
16
- └── validate_brand.py
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: This skill applies consistent corporate branding and styling to all generated documents including colors, fonts, layouts, and messaging
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 documents
33
+ **✅ Clear Scope**: Focuses on one thing - brand consistency across
34
+ documents
31
35
 
32
- **✅ Actionable Content**: Specific hex codes, font sizes, spacing rules
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
- ```python
44
- # scripts/validate_brand.py
45
- # Checks documents for brand compliance automatically
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 branding...to all generated documents"
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.py
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: Extract text and tables from PDF files, fill forms, merge documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
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 pdfplumber to extract text from PDFs:
95
+ Use pdf-parse to extract text from PDFs:
87
96
 
88
- ```python
89
- import pdfplumber
90
- with pdfplumber.open("document.pdf") as pdf:
91
- text = pdf.pages[0].extract_text()
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
- ├── SKILL.md
127
- ├── references/
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
- ```python
151
- current_ratio = current_assets / current_liabilities
158
+ ```javascript
159
+ const currentRatio = currentAssets / currentLiabilities;
152
160
  ````
153
161
 
154
162
  **Quick Ratio**:
155
163
 
156
- ```python
157
- quick_ratio = (current_assets - inventory) / current_liabilities
164
+ ```javascript
165
+ const quickRatio = (currentAssets - inventory) / currentLiabilities;
158
166
  ```
159
167
 
160
- For complete ratio formulas, see [references/formulas.md](references/formulas.md).
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
- ```python
170
- # scripts/calculate_ratios.py
171
- # Runs calculations without Claude generating code each time
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: Complete database schema with table structures, relationships, and indexes for the project. Use when writing SQL queries, understanding data models, or working with database operations.
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
- ├── SKILL.md
264
- ├── references/
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
- ├── SKILL.md
332
- ├── references/
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
- python scripts/check_rate_limit.py
366
+ node scripts/check_rate_limit.js
368
367
  ```
369
368
 
370
- For complete API reference, see [references/endpoints.md](references/endpoints.md).
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: SQLite query patterns using better-sqlite3 for contacts, companies, and interactions tables. Use when writing SELECT, INSERT, UPDATE, or DELETE operations with prepared statements.
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
- For all examples: [references/queries.md](references/queries.md)
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: Handle form submissions with validation, error handling, and reactive updates. Use when implementing forms, processing user input, or validating data before database operations.
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 stats"
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 them naturally.
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 everything
498
- 3. **Scripts for determinism** - Code that doesn't change shouldn't be generated
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 functionality through a filesystem-based architecture. They provide specialized domain expertise, workflows, and tools that transform Claude from a general-purpose agent into a specialist.
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
- **When**: At agent startup, every conversation
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
- **When**: Only when Claude determines skill is relevant
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 context
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
- python scripts/validate_schema.py
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.py
151
- │ ├── generate.py
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 [references/schema.md](references/schema.md).
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 generation.
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
- ```python
252
- # Option 1: Claude generates code every time (expensive)
253
- "Claude, write Python to validate these timestamps..."
254
- # Result: ~500 tokens each time
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
- # Option 2: Claude runs existing script (cheap)
257
- python scripts/validate_timestamps.py
258
- # Result: ~50 tokens (just the output)
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 python3`)
268
+ - Include shebang (`#!/usr/bin/env node`)
264
269
  - Make executable (`chmod +x`)
265
- - Add docstrings with usage
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
- ```python
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 ~3500 tokens every conversation even if not needed.
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
- Use imperative voice for instructions
359
- Provide concrete examples
360
- Link to references for details
361
- Include "when to use" in description
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
- ❌ Use second person ("you")
370
- Include entire documentation inline
371
- Forget to specify when to use skill
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 workflow
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 `python init_skill.py` to create your first skill
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",
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 .",