claude-skills-cli 0.0.2 → 0.0.4

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 CHANGED
@@ -1,455 +1,270 @@
1
1
  # claude-skills-cli
2
2
 
3
- TypeScript CLI toolkit for creating, validating, and packaging Claude skills.
4
-
5
- **Status:** 🚧 In Development - See implementation plan below
6
-
7
- ---
3
+ TypeScript CLI toolkit for creating, validating, and packaging Claude Agent Skills with **progressive disclosure validation**.
8
4
 
9
5
  ## What This Is
10
6
 
11
- A portable command-line tool for managing Claude Agent Skills, inspired by tools like `create-next-app` and `create-vite`. Install once, use anywhere:
7
+ A command-line tool for managing Claude Agent Skills. It enforces the 3-level progressive disclosure system from [Anthropic's Skills documentation](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview), ensuring skills are token-efficient and scannable.
12
8
 
13
9
  ```bash
14
- pnpx claude-skills-cli init --name my-skill --description "..."
15
- pnpx claude-skills-cli validate .claude/skills/my-skill
16
- pnpx claude-skills-cli package .claude/skills/my-skill
10
+ npx claude-skills init my-skill
11
+ npx claude-skills validate .claude/skills/my-skill
12
+ npx claude-skills validate .claude/skills/my-skill --strict
13
+ npx claude-skills package .claude/skills/my-skill
17
14
  ```
18
15
 
19
- This replaces the Python scripts that were previously in project `.claude/scripts/` directories.
20
-
21
- ---
22
-
23
- ## Repository Structure (Planned)
16
+ ## Commands
24
17
 
25
- Following the **mcpick** pattern:
18
+ ### `init` - Create a new skill
26
19
 
27
- ```
28
- claude-skills-cli/
29
- ├── package.json # CLI package config
30
- ├── tsconfig.json # TypeScript ES modules config
31
- ├── README.md # This file
32
- ├── .gitignore # Ignore node_modules, dist, etc.
33
- ├── .prettierrc # Code formatting
34
- ├── .changeset/ # Version management
35
- │ ├── README.md
36
- │ └── config.json
37
- ├── src/
38
- │ ├── index.ts # CLI entry (#!/usr/bin/env node)
39
- │ ├── types.ts # TypeScript type definitions
40
- │ ├── commands/
41
- │ │ ├── init.ts # Create new skill structure
42
- │ │ ├── validate.ts # Validate skill format
43
- │ │ └── package.ts # Package skill to zip
44
- │ ├── core/
45
- │ │ ├── templates.ts # SKILL.md templates as strings
46
- │ │ └── validator.ts # Validation logic (class-based)
47
- │ └── utils/
48
- │ ├── fs.ts # File system helpers
49
- │ └── output.ts # Emoji/formatting (chalk)
50
- ├── templates/ # Copied from devhub-crm
51
- │ ├── SKILL-TEMPLATE.md
52
- │ └── skill-structure/
53
- │ ├── README.md
54
- │ ├── references/
55
- │ ├── scripts/
56
- │ └── assets/
57
- ├── docs/ # Copied from devhub-crm
58
- │ ├── SKILLS-ARCHITECTURE.md
59
- │ ├── SKILL-DEVELOPMENT.md
60
- │ └── SKILL-EXAMPLES.md
61
- └── skills/ # Portable example skills
62
- └── skill-creator/ # Meta-skill from devhub-crm
63
- ├── SKILL.md
64
- └── references/
20
+ ```bash
21
+ claude-skills init my-skill
22
+ claude-skills init my-skill --description "Brief description with trigger keywords"
65
23
  ```
66
24
 
67
- ---
25
+ Creates a skill directory with:
68
26
 
69
- ## Files to Move from devhub-crm
27
+ - **SKILL.md** - Streamlined ~50 line template with progressive disclosure guidelines
28
+ - **README.md** - Skill documentation
29
+ - **references/** - Directory for Level 3 detailed documentation
30
+ - **scripts/** - Directory for executable JavaScript/shell scripts
31
+ - **assets/** - Directory for templates and resources
70
32
 
71
- The `.claude/` directory was copied wholesale, but needs reorganization:
33
+ The generated SKILL.md template follows best practices:
72
34
 
73
- ### Keep and Move to Root:
35
+ - 1-2 code blocks maximum
36
+ - Clear "Quick Start" section
37
+ - Links to references/ for detailed content
38
+ - Progressive disclosure comments inline
74
39
 
75
- ```
76
- devhub-crm/.claude/docs/ → claude-skills-cli/docs/
77
- devhub-crm/.claude/templates/ → claude-skills-cli/templates/
78
- devhub-crm/.claude/skills/skill-creator/ → claude-skills-cli/skills/skill-creator/
40
+ ### `validate` - Validate skill structure
41
+
42
+ ```bash
43
+ claude-skills validate .claude/skills/my-skill
44
+ claude-skills validate .claude/skills/my-skill --strict
79
45
  ```
80
46
 
81
- ### Convert to TypeScript:
47
+ **Progressive Disclosure Validation** (3-Level System):
82
48
 
83
- ```
84
- devhub-crm/.claude/scripts/init_skill.py → src/commands/init.ts
85
- devhub-crm/.claude/scripts/validate_skill.py src/commands/validate.ts
86
- devhub-crm/.claude/scripts/package_skill.py → src/commands/package.ts
87
- ```
49
+ | Level | Content | Checks |
50
+ | -------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
51
+ | **Level 1: Metadata** | YAML frontmatter | Description <200 chars (warn), <300 chars (error)<br>Trigger keywords present ("Use when/for/to")<br>No list bloat (>3 commas) |
52
+ | **Level 2: SKILL.md Body** | Main instructions | Line count ~50 (warn >80, error >150)<br>Word count <1000 (warn), <5000 (error)<br>Code blocks ≤3 (recommend 1-2)<br>Sections ≤8 (recommend 3-5)<br>"Quick Start" section present<br>Links to references/ when long |
53
+ | **Level 3: References** | Bundled files | Referenced files exist (error on broken links)<br>No empty directories |
88
54
 
89
- ### ❌ Delete (Not Needed):
55
+ **Validation Output:**
56
+
57
+ The validator displays a detailed progressive disclosure stats breakdown:
90
58
 
91
59
  ```
92
- devhub-crm/.claude/settings.local.json # Project-specific
93
- devhub-crm/.claude/skills/database-patterns/ # Project-specific
94
- devhub-crm/.claude/TYPESCRIPT-CONVERSION-PROMPT.md # Completed
95
- ```
60
+ 📊 Progressive Disclosure Stats:
96
61
 
97
- ---
62
+ Level 1 (Metadata - Always Loaded):
63
+ Description: 156 chars, ~18 tokens ✅ Optimal
64
+ (Target: <200 chars, <30 tokens for Level 1 efficiency)
98
65
 
99
- ## package.json Configuration
100
-
101
- ```json
102
- {
103
- "name": "claude-skills-cli",
104
- "version": "0.0.1",
105
- "description": "CLI toolkit for creating and managing Claude Agent Skills",
106
- "type": "module",
107
- "main": "./dist/index.js",
108
- "bin": {
109
- "claude-skills-cli": "./dist/index.js"
110
- },
111
- "engines": {
112
- "node": ">=22.0.0"
113
- },
114
- "scripts": {
115
- "build": "tsc",
116
- "dev": "tsc --watch",
117
- "start": "node ./dist/index.js",
118
- "format": "prettier --write .",
119
- "format:check": "prettier --check .",
120
- "changeset": "changeset",
121
- "version": "changeset version",
122
- "release": "pnpm run build && changeset publish"
123
- },
124
- "keywords": ["claude", "skills", "cli", "agent", "anthropic", "claude-code"],
125
- "author": "Scott Spence",
126
- "license": "MIT",
127
- "dependencies": {
128
- "@clack/prompts": "^0.11.0",
129
- "chalk": "^5.3.0",
130
- "archiver": "^7.0.0"
131
- },
132
- "devDependencies": {
133
- "@changesets/cli": "^2.29.7",
134
- "@types/node": "^24.7.0",
135
- "@types/archiver": "^6.0.0",
136
- "prettier": "^3.6.2",
137
- "typescript": "^5.9.3"
138
- }
139
- }
140
- ```
66
+ Level 2 (SKILL.md Body - Loaded when triggered):
67
+ Lines: 48 (target: ~50, max: ~150) ✅ Excellent
68
+ Words: 342 (recommended: <1000, max: <5000) ✅ Excellent
69
+ Est. tokens: ~445 (budget: <6500) within budget
70
+ Code blocks: 1 ✅
71
+ Sections: 5 ✅
141
72
 
142
- ---
73
+ Level 3+ (References - Loaded as needed):
74
+ Use references/ directory for detailed docs (unlimited size)
143
75
 
144
- ## tsconfig.json Configuration
145
-
146
- ```json
147
- {
148
- "compilerOptions": {
149
- "target": "ES2022",
150
- "module": "nodenext",
151
- "moduleResolution": "nodenext",
152
- "strict": true,
153
- "outDir": "./dist",
154
- "sourceMap": true,
155
- "esModuleInterop": true,
156
- "allowSyntheticDefaultImports": true,
157
- "skipLibCheck": true
158
- },
159
- "include": ["src/**/*"],
160
- "exclude": ["node_modules", "dist"]
161
- }
76
+ Overall Assessment:
77
+ ✅ Excellent progressive disclosure!
162
78
  ```
163
79
 
164
- ---
80
+ **Exit codes:**
165
81
 
166
- ## Dependencies Explained
82
+ - 0 = Valid (or valid with warnings)
83
+ - 1 = Validation errors
84
+ - 1 with `--strict` = Warnings treated as errors
167
85
 
168
- ### Runtime Dependencies:
86
+ ### `package` - Create uploadable zip
169
87
 
170
- - **@clack/prompts** - Interactive CLI prompts (like mcpick uses)
171
- - **chalk** - Terminal string styling and colors
172
- - **archiver** - Create zip files (replaces Python's zipfile)
88
+ ```bash
89
+ claude-skills package .claude/skills/my-skill
90
+ claude-skills package .claude/skills/my-skill --output dist/
91
+ claude-skills package .claude/skills/my-skill --skip-validation
92
+ ```
173
93
 
174
- ### Dev Dependencies:
94
+ Creates a zip file ready to upload to Claude.ai, excluding:
175
95
 
176
- - **@changesets/cli** - Version management and changelog
177
- - **@types/node** - TypeScript types for Node.js
178
- - **@types/archiver** - TypeScript types for archiver
179
- - **prettier** - Code formatting
180
- - **typescript** - TypeScript compiler
96
+ - Hidden files (.\*)
97
+ - Build artifacts (dist/, build/)
98
+ - Swap files (~, .swp)
181
99
 
182
- ---
100
+ Runs validation first unless `--skip-validation` is specified.
183
101
 
184
- ## CLI Interface (Must Match Python Version)
102
+ ## The Progressive Disclosure System
185
103
 
186
- ### Command: init
104
+ Claude Skills use a 3-level loading system to optimize token usage:
187
105
 
188
- ```bash
189
- claude-skills init --name my-skill --description "What it does and when to use it"
190
- claude-skills init --path /custom/path/my-skill
191
- ```
106
+ | Level | File | Context Window | Token Budget |
107
+ | ------ | ------------------------------ | -------------------------- | ------------ |
108
+ | **1** | SKILL.md Metadata (YAML) | Always loaded | ~100 tokens |
109
+ | **2** | SKILL.md Body (Markdown) | Loaded when skill triggers | <5k tokens |
110
+ | **3+** | references/, scripts/, assets/ | Loaded as-needed by Claude | Unlimited |
192
111
 
193
- **Creates:**
112
+ ### Why This Matters
194
113
 
195
- - SKILL.md with YAML frontmatter
196
- - README.md
197
- - references/detailed-guide.md
198
- - scripts/example.py (executable)
199
- - assets/ directory
114
+ - **Level 1** is always in Claude's context, so keep descriptions <200 chars
115
+ - **Level 2** loads when Claude thinks the skill is relevant, so keep it scannable (~50 lines)
116
+ - **Level 3** loads on-demand, so move detailed docs, examples, and schemas there
200
117
 
201
- **Output:**
118
+ The validator enforces these constraints to ensure skills are token-efficient.
202
119
 
203
- ```
204
- ✅ Skill created at: .claude/skills/my-skill
120
+ ## Installation
205
121
 
206
- Next steps:
207
- 1. Edit .claude/skills/my-skill/SKILL.md with your skill instructions
208
- 2. Add detailed documentation to references/
209
- 3. Add executable scripts to scripts/
210
- 4. Remove example files you don't need
122
+ ### As a project dependency:
211
123
 
212
- Validate with: claude-skills validate .claude/skills/my-skill
124
+ ```bash
125
+ npm install claude-skills-cli --save-dev
213
126
  ```
214
127
 
215
- ### Command: validate
128
+ ### Global installation:
216
129
 
217
130
  ```bash
218
- claude-skills validate .claude/skills/my-skill
219
- claude-skills validate .claude/skills/my-skill --strict
131
+ npm install -g claude-skills-cli
220
132
  ```
221
133
 
222
- **Checks:**
223
-
224
- - SKILL.md exists
225
- - YAML frontmatter format
226
- - Required fields (name, description)
227
- - Name format (kebab-case, max 64 chars)
228
- - Description length (max 1024 chars)
229
- - References mentioned in SKILL.md
230
- - Scripts are executable
231
- - No TODO placeholders
232
-
233
- **Output:**
134
+ ### Using npx (no install):
234
135
 
136
+ ```bash
137
+ npx claude-skills-cli init my-skill
235
138
  ```
236
- 📋 Validating skill: my-skill
237
- ============================================================
238
139
 
239
- ⚠️ Warnings:
240
- ⚠️ Reference file 'schema.md' not mentioned in SKILL.md
140
+ ## Example Workflow
241
141
 
242
- ✅ Skill is valid (with warnings)
243
- ```
142
+ ```bash
143
+ # 1. Create a new skill
144
+ npx claude-skills init database-queries \
145
+ --description "SQLite queries for contacts and companies. Use when querying the database."
244
146
 
245
- **Exit codes:**
147
+ # 2. Edit the generated SKILL.md
148
+ # - Keep it under 50 lines
149
+ # - Use 1 minimal code example in Quick Start
150
+ # - Link to references/ for detailed docs
246
151
 
247
- - 0 = success
248
- - 1 = validation failed
249
- - 1 with --strict = warnings treated as errors
152
+ # 3. Validate before using
153
+ npx claude-skills validate .claude/skills/database-queries
250
154
 
251
- ### Command: package
155
+ # 4. Fix any warnings (or use --strict to enforce)
156
+ npx claude-skills validate .claude/skills/database-queries --strict
252
157
 
253
- ```bash
254
- claude-skills package .claude/skills/my-skill
255
- claude-skills package .claude/skills/my-skill --output dist/
256
- claude-skills package .claude/skills/my-skill --skip-validation
158
+ # 5. Package for sharing
159
+ npx claude-skills package .claude/skills/database-queries
257
160
  ```
258
161
 
259
- **Creates:**
162
+ ## Validation Best Practices
260
163
 
261
- - Zip file with skill contents
262
- - Excludes hidden files, .pyc, **pycache**, etc.
263
- - Runs validation first (unless --skip-validation)
164
+ ### Good Skill (Passes Validation)
264
165
 
265
- **Output:**
166
+ ````markdown
167
+ ---
168
+ name: api-client
169
+ description: REST API client for our service. Use when making HTTP requests to api.example.com.
170
+ ---
266
171
 
267
- ```
268
- 🔍 Validating skill...
269
- ✅ Skill is valid!
172
+ # API Client
270
173
 
271
- 📦 Packaging skill: my-skill
272
- + my-skill/SKILL.md
273
- + my-skill/README.md
274
- + my-skill/references/detailed-guide.md
174
+ ## Quick Start
275
175
 
276
- ✅ Skill packaged successfully!
277
- File: dist/my-skill.zip
278
- Size: 12.3 KB
176
+ ```typescript
177
+ import { apiClient } from '$lib/api';
279
178
 
280
- 📤 Upload to Claude.ai: Settings > Features > Skills > Upload
179
+ const response = await apiClient.get('/users');
281
180
  ```
181
+ ````
282
182
 
283
- ---
183
+ ## Core Principles
284
184
 
285
- ## Implementation Roadmap
286
-
287
- ### Phase 1: Setup (You're here!)
288
-
289
- - [x] Create claude-skills-cli repo
290
- - [x] Copy .claude/ from devhub-crm
291
- - [ ] Create package.json
292
- - [ ] Create tsconfig.json
293
- - [ ] Setup .gitignore, .prettierrc
294
- - [ ] Install dependencies: `pnpm install`
295
-
296
- ### Phase 2: Reorganize Files
297
-
298
- - [ ] Move `docs/` to root
299
- - [ ] Move `templates/` to root
300
- - [ ] Move `skills/skill-creator/` to root
301
- - [ ] Delete `.claude/settings.local.json`
302
- - [ ] Delete `.claude/skills/database-patterns/`
303
-
304
- ### Phase 3: Convert Python → TypeScript
305
-
306
- #### init.ts (from init_skill.py)
307
-
308
- - [ ] Import types, fs, path, chalk
309
- - [ ] Create template strings (SKILL.md, README.md, etc.)
310
- - [ ] Implement createSkill() function
311
- - Use fs.mkdirSync(path, { recursive: true })
312
- - Use fs.writeFileSync()
313
- - Use fs.chmodSync(scriptPath, 0o755) for executable
314
- - [ ] Use @clack/prompts for interactive mode (optional)
315
- - [ ] Match Python output format exactly (emoji, messages)
316
-
317
- #### validate.ts (from validate_skill.py)
318
-
319
- - [ ] Create SkillValidator class
320
- - errors: string[]
321
- - warnings: string[]
322
- - [ ] Implement validation methods:
323
- - validateDirectory()
324
- - validateSkillMd() - parse YAML frontmatter
325
- - validateReferences()
326
- - validateScripts() - check executable with fs.statSync()
327
- - validateAssets()
328
- - [ ] Use chalk for colored output
329
- - [ ] Match Python emoji output exactly
330
- - [ ] Support --strict flag
331
-
332
- #### package.ts (from package_skill.py)
333
-
334
- - [ ] Import archiver for zip creation
335
- - [ ] Call validate.ts first (child_process.spawnSync)
336
- - [ ] Create zip with exclusions:
337
- - Hidden files (starts with .)
338
- - .pyc, .pyo, .swp, ~
339
- - **pycache**, .DS_Store
340
- - [ ] Report file size in KB
341
- - [ ] Match Python output format
342
-
343
- ### Phase 4: CLI Entry Point
344
-
345
- #### index.ts
346
-
347
- - [ ] Add shebang: `#!/usr/bin/env node`
348
- - [ ] Import @clack/prompts
349
- - [ ] Import commands (init, validate, package)
350
- - [ ] Create interactive menu (like mcpick)
351
- - "Create new skill"
352
- - "Validate skill"
353
- - "Package skill"
354
- - "Exit"
355
- - [ ] Handle command-line arguments (for non-interactive)
356
- - [ ] Error handling with try/catch
357
-
358
- ### Phase 5: Testing
359
-
360
- - [ ] Build: `pnpm build`
361
- - [ ] Test init: `node dist/index.js init --name test-skill`
362
- - [ ] Test validate: `node dist/index.js validate skills/skill-creator`
363
- - [ ] Test package: `node dist/index.js package skills/skill-creator`
364
- - [ ] Verify output matches Python version
365
-
366
- ### Phase 6: Publishing
367
-
368
- - [ ] Setup .changeset config
369
- - [ ] Add initial changeset
370
- - [ ] Test with `pnpx` locally
371
- - [ ] Publish to npm: `pnpm release`
372
- - [ ] Update devhub-crm to use `pnpx claude-skills-cli`
185
+ - Use typed requests and responses
186
+ - Handle errors with try/catch
187
+ - Include authentication headers
373
188
 
374
- ---
189
+ ## Reference Files
375
190
 
376
- ## Design Decisions
191
+ - [references/endpoints.md](references/endpoints.md) - Complete API reference
192
+ - [references/examples.md](references/examples.md) - Request/response examples
377
193
 
378
- ### Why @clack/prompts instead of commander?
194
+ ````
379
195
 
380
- - mcpick uses @clack/prompts for beautiful interactive menus
381
- - Provides better UX than raw commander arguments
382
- - Still support non-interactive mode with args
196
+ **Why it's good:**
197
+ - Description: 81 chars with trigger keywords
198
+ - Lines: ~25 lines
199
+ - Code blocks: 1 ✅
200
+ - Has Quick Start section ✅
201
+ - Links to references/ for details ✅
383
202
 
384
- ### Why archiver instead of node:zlib?
203
+ ### Bad Skill (Fails Validation)
385
204
 
386
- - archiver is battle-tested for creating zips
387
- - Handles file permissions, directory structure
388
- - Direct replacement for Python's zipfile
205
+ ```markdown
206
+ ---
207
+ name: api-client
208
+ description: Comprehensive REST API client for making HTTP requests to our service endpoints including GET, POST, PUT, DELETE, PATCH operations with authentication, error handling, retries, rate limiting, and response caching for users, posts, comments, tags, categories, and settings endpoints.
209
+ ---
389
210
 
390
- ### Why chalk for colors?
211
+ # API Client
391
212
 
392
- - Match Python's emoji output (✅ ⚠️)
393
- - Better terminal color support
394
- - Widely used, stable
213
+ [186 lines of detailed documentation with 7 code blocks...]
214
+ ````
395
215
 
396
- ### Why ES modules (type: "module")?
216
+ **Problems:**
397
217
 
398
- - Modern Node.js best practice
399
- - Matches mcpick setup
400
- - Better tree-shaking, cleaner imports
218
+ - Description: 287 chars, no trigger keywords ❌
219
+ - Lines: 186 (max 150) ❌
220
+ - Code blocks: 7 (recommend 1-2)
221
+ - No Quick Start section ❌
222
+ - Should split into references/ ❌
401
223
 
402
- ---
224
+ ## Development
403
225
 
404
- ## Testing Checklist
226
+ ```bash
227
+ # Install dependencies
228
+ npm install
405
229
 
406
- Before publishing v1.0.0:
230
+ # Build TypeScript
231
+ npm run build
407
232
 
408
- - [ ] All three commands work (init, validate, package)
409
- - [ ] Output matches Python version exactly
410
- - [ ] Exit codes match (0 = success, 1 = error)
411
- - [ ] Emoji indicators work (✅ ❌ ⚠️)
412
- - [ ] --strict mode works on validate
413
- - [ ] --skip-validation works on package
414
- - [ ] Created skills validate successfully
415
- - [ ] Packaged zips can be uploaded to Claude.ai
416
- - [ ] Works via `pnpx claude-skills-cli`
417
- - [ ] Works when installed globally
233
+ # Run locally
234
+ node dist/index.js validate path/to/skill
418
235
 
419
- ---
236
+ # Format code
237
+ npm run format
238
+
239
+ # Type check
240
+ npx tsc --noEmit
241
+ ```
420
242
 
421
243
  ## Resources
422
244
 
423
- ### Official Anthropic Documentation:
245
+ ### Official Documentation
424
246
 
425
247
  - [Agent Skills Overview](https://www.anthropic.com/news/skills)
426
248
  - [Engineering Blog: Agent Skills](https://www.anthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skills)
427
249
  - [Claude Docs: Skills](https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview)
428
- - [Anthropic Skills Repo](https://github.com/anthropics/skills)
250
+ - [Anthropic Skills Repository](https://github.com/anthropics/skills)
429
251
 
430
- ### Included Documentation:
252
+ ### Included Documentation
431
253
 
432
254
  - [docs/SKILLS-ARCHITECTURE.md](docs/SKILLS-ARCHITECTURE.md) - Progressive disclosure system
433
- - [docs/SKILL-DEVELOPMENT.md](docs/SKILL-DEVELOPMENT.md) - 6-step creation workflow
255
+ - [docs/SKILL-DEVELOPMENT.md](docs/SKILL-DEVELOPMENT.md) - Skill creation workflow
434
256
  - [docs/SKILL-EXAMPLES.md](docs/SKILL-EXAMPLES.md) - Real-world examples
435
257
 
436
- ### Reference Implementation:
258
+ ## License
437
259
 
438
- - [mcpick](https://github.com/spences10/mcpick) - Similar CLI structure to follow
260
+ MIT © Scott Spence
439
261
 
440
- ---
262
+ ## Contributing
441
263
 
442
- ## Notes for Next Chat Session
264
+ Contributions welcome! This tool is designed to help Claude use skills efficiently. When proposing changes, consider:
443
265
 
444
- 1. **Start with setup:** Create package.json and tsconfig.json first
445
- 2. **Install deps:** `pnpm install` to get @clack/prompts, chalk, archiver
446
- 3. **Reorganize files:** Move docs/, templates/, skills/ from .claude/ to root
447
- 4. **Convert Python scripts one by one:** Start with init.ts (simplest), then validate.ts, then package.ts
448
- 5. **Create index.ts:** Wire up commands with @clack/prompts menu
449
- 6. **Test everything:** Build and run against skill-creator to verify
450
-
451
- **Key principle:** Match Python output and behavior EXACTLY. Users should not notice any difference except it's faster and more portable.
452
-
453
- ---
266
+ 1. **Token efficiency** - Does this help reduce token usage?
267
+ 2. **Ergonomics for Claude** - Is it easy for Claude to understand and use?
268
+ 3. **Progressive disclosure** - Does it enforce the 3-level system?
454
269
 
455
- **Ready to build!** 🚀
270
+ See the feedback document at [CLI-FEEDBACK.md](CLI-FEEDBACK.md) for detailed validation requirements.