local-skills-mcp 0.4.1 β†’ 0.4.2

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/CHANGELOG.md CHANGED
@@ -2,12 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
4
4
 
5
- ## <small>0.4.1 (2025-11-11)</small>
5
+ ## <small>0.4.2 (2025-11-11)</small>
6
6
 
7
- * fix: increase skill description limit from 100 to 200 chars ([608b47a](https://github.com/kdpa-llc/local-skills-mcp/commit/608b47a))
8
- * fix: update release workflow to create PR instead of direct push ([cb07c04](https://github.com/kdpa-llc/local-skills-mcp/commit/cb07c04))
9
- * test: improve coverage for tool metadata ([cb70296](https://github.com/kdpa-llc/local-skills-mcp/commit/cb70296))
10
- * chore: update husky hooks to new format ([b1acea5](https://github.com/kdpa-llc/local-skills-mcp/commit/b1acea5))
7
+ * docs: add npm downloads and types badges to README ([110c285](https://github.com/kdpa-llc/local-skills-mcp/commit/110c285))
8
+ * docs: improve README with collapsible FAQ and enhanced support links ([8daffb5](https://github.com/kdpa-llc/local-skills-mcp/commit/8daffb5))
9
+ * docs: update README with hot reload support and interactive skill creation examples ([6300cfc](https://github.com/kdpa-llc/local-skills-mcp/commit/6300cfc))
10
+ * refactor: remove skill-refresh-helper from built-in skills ([c003f38](https://github.com/kdpa-llc/local-skills-mcp/commit/c003f38))
11
11
 
12
12
  ## 0.4.0 (2025-11-10)
13
13
 
package/README.md CHANGED
@@ -5,6 +5,8 @@
5
5
  **Enable any LLM or AI agent to utilize expert skills from your local filesystem via MCP**
6
6
 
7
7
  [![npm version][npm-version-badge]][npm-package]
8
+ [![npm downloads][npm-downloads-badge]][npm-package]
9
+ [![npm types][npm-types-badge]][npm-package]
8
10
  [![License: MIT][license-badge]][license]
9
11
  [![Node][node-badge]][nodejs]
10
12
  [![MCP][mcp-badge]][mcp-protocol]
@@ -53,6 +55,7 @@ Transform AI capabilities with structured, expert-level instructions for special
53
55
  - **🌐 Universal** - Works with any MCP client (Claude Code, Desktop, Cline, Continue.dev, custom agents)
54
56
  - **πŸ”„ Portable** - Write once, use across multiple AI systems and LLMs (Claude, GPT, Gemini, local models)
55
57
  - **⚑ Context Efficient** - Lazy loading: only skill names/descriptions load initially (~50 tokens/skill), full content on-demand
58
+ - **πŸ”₯ Hot Reload** - All changes apply instantly (new skills, edits, deletions) without restart
56
59
  - **🎯 Multi-Source** - Auto-aggregates from package built-in skills, `~/.claude/skills`, `./.claude/skills`, `./skills`, and custom paths
57
60
  - **πŸ“¦ Zero Config** - Works out-of-the-box with standard skill locations
58
61
  - **✨ Ultra Simple** - Single tool (`get_skill`) with dynamic skill discovery
@@ -128,6 +131,26 @@ Later directories override earlier ones, allowing you to customize built-in skil
128
131
 
129
132
  ### Create & Use Skills
130
133
 
134
+ **Option 1: Ask Claude to Create Skills (Recommended)**
135
+
136
+ After installing Local Skills MCP, you can ask Claude to create skills for you:
137
+
138
+ ```
139
+ You: "Create a Python expert skill that helps me write clean, idiomatic Python code"
140
+ Claude: [Creates ~/.claude/skills/python-expert/SKILL.md with appropriate content]
141
+ βœ… Created python-expert skill! It's immediately available thanks to hot reload.
142
+ ```
143
+
144
+ ```
145
+ You: "Make a skill for reviewing pull requests focusing on security and best practices"
146
+ Claude: [Creates the skill with detailed PR review instructions]
147
+ βœ… The pr-reviewer skill is ready to use right away!
148
+ ```
149
+
150
+ Claude will use the built-in `skill-creator` skill to generate well-structured skills with proper YAML frontmatter, trigger keywords, and best practices.
151
+
152
+ **Option 2: Create Manually**
153
+
131
154
  Create `~/.claude/skills/my-skill/SKILL.md`:
132
155
 
133
156
  ```markdown
@@ -145,9 +168,11 @@ Guidelines:
145
168
  3. Be helpful
146
169
  ```
147
170
 
148
- Then request it in your AI client: `"Use the my-skill skill"`
171
+ **Using Skills:**
172
+
173
+ Request any skill in your AI client: `"Use the my-skill skill"`
149
174
 
150
- The AI auto-discovers available skills and loads them on-demand.
175
+ The AI auto-discovers available skills and loads them on-demand. **All changes apply instantly** thanks to hot reloadβ€”no restart needed!
151
176
 
152
177
  ## πŸ“ SKILL.md Format
153
178
 
@@ -187,7 +212,10 @@ Claude uses language understanding to decide when to invoke skillsβ€”specific tr
187
212
  2. When you request a skill, AI invokes `get_skill`
188
213
  3. Full skill content loads with detailed instructions
189
214
 
190
- **Built-in Skills:** The package includes self-documenting skills that explain how to use Local Skills MCP and create new skills. These are available immediately after installation.
215
+ **Built-in Skills:** The package includes three self-documenting skills that explain how to use Local Skills MCP and create new skills. These are available immediately after installation:
216
+ - `local-skills-mcp-usage` - Quick usage guide
217
+ - `local-skills-mcp-guide` - Comprehensive documentation
218
+ - `skill-creator` - Skill authoring best practices
191
219
 
192
220
  **Skill Aggregation:** Auto-aggregates from package built-in skills, `~/.claude/skills/`, `./.claude/skills/`, `./skills`, and `$SKILLS_DIR` (if set). Later directories override duplicates.
193
221
 
@@ -233,41 +261,65 @@ Provide specific, actionable feedback.
233
261
 
234
262
  ## ❓ FAQ
235
263
 
236
- **Q: What MCP clients are supported?**
237
- A: Any MCP-compatible client: Claude Code, Claude Desktop, Cline, Continue.dev, or custom agents.
238
-
239
- **Q: How is this different from Claude's built-in skills?**
240
- A: Works with any MCP client (not just Claude), aggregates from multiple directories, explicit invocation control, and better context efficiency via lazy loading.
241
-
242
- **Q: Can I use existing Claude skills?**
243
- A: Yes! Auto-aggregates from `~/.claude/skills/` along with other directories.
244
-
245
- **Q: Do I need to restart after adding skills?**
246
- A: Yes, currently requires restart. Hot reloading planned for future releases.
247
-
248
- **Q: How much context does this consume?**
249
- A: Minimal! Only names/descriptions initially (~50 tokens/skill). Full content loads on-demand, preserving 95%+ of context.
250
-
251
- **Q: Can I use multiple skill directories?**
252
- A: Yes! Auto-aggregates from package built-in skills, `~/.claude/skills/`, `./.claude/skills/`, `./skills`, and `$SKILLS_DIR`.
253
-
254
- **Q: What if I have duplicate skill names?**
255
- A: Later directories override earlier ones: package built-in β†’ `~/.claude/skills` β†’ `./.claude/skills` β†’ `./skills` β†’ `$SKILLS_DIR`. This lets you customize built-in skills.
256
-
257
- **Q: What built-in skills are included?**
258
- A: The package includes three self-documenting skills: `local-skills-mcp-usage` (usage guide), `local-skills-mcp-guide` (comprehensive documentation), and `skill-creator` (skill authoring guide). These are available immediately after installation.
259
-
260
- **Q: Works with local LLMs (Ollama, LM Studio)?**
261
- A: Yes! Works with any MCP-compatible LLM setup. Skills are structured prompts that work with any model.
262
-
263
- **Q: Works offline?**
264
- A: Yes! Runs entirely on local filesystem (though your LLM may need internet depending on the model).
265
-
266
- **Q: How to create a good skill?**
267
- A: Follow [SKILL.md format](#-skillmd-format). Use clear descriptions with trigger keywords, specific instructions, and examples.
268
-
269
- **Q: Where can I get help?**
270
- A: Open an [issue on GitHub][repo-issues].
264
+ <details>
265
+ <summary><strong>Q: What MCP clients are supported?</strong></summary>
266
+ <p>Any MCP-compatible client: Claude Code, Claude Desktop, Cline, Continue.dev, or custom agents.</p>
267
+ </details>
268
+
269
+ <details>
270
+ <summary><strong>Q: How is this different from Claude's built-in skills?</strong></summary>
271
+ <p>Works with any MCP client (not just Claude), aggregates from multiple directories, explicit invocation control, and better context efficiency via lazy loading.</p>
272
+ </details>
273
+
274
+ <details>
275
+ <summary><strong>Q: Can I use existing Claude skills?</strong></summary>
276
+ <p>Yes! Auto-aggregates from <code>~/.claude/skills/</code> along with other directories.</p>
277
+ </details>
278
+
279
+ <details>
280
+ <summary><strong>Q: Do I need to restart after adding skills?</strong></summary>
281
+ <p>No! Full hot reload is supported. All changes (new skills, content edits, deletions) apply immediately without restart. Skills are discovered dynamically on every tool list request.</p>
282
+ </details>
283
+
284
+ <details>
285
+ <summary><strong>Q: How much context does this consume?</strong></summary>
286
+ <p>Minimal! Only names/descriptions initially (~50 tokens/skill). Full content loads on-demand, preserving 95%+ of context.</p>
287
+ </details>
288
+
289
+ <details>
290
+ <summary><strong>Q: Can I use multiple skill directories?</strong></summary>
291
+ <p>Yes! Auto-aggregates from package built-in skills, <code>~/.claude/skills/</code>, <code>./.claude/skills/</code>, <code>./skills</code>, and <code>$SKILLS_DIR</code>.</p>
292
+ </details>
293
+
294
+ <details>
295
+ <summary><strong>Q: What if I have duplicate skill names?</strong></summary>
296
+ <p>Later directories override earlier ones: package built-in β†’ <code>~/.claude/skills</code> β†’ <code>./.claude/skills</code> β†’ <code>./skills</code> β†’ <code>$SKILLS_DIR</code>. This lets you customize built-in skills.</p>
297
+ </details>
298
+
299
+ <details>
300
+ <summary><strong>Q: What built-in skills are included?</strong></summary>
301
+ <p>The package includes three self-documenting skills: <code>local-skills-mcp-usage</code> (quick usage guide), <code>local-skills-mcp-guide</code> (comprehensive documentation), and <code>skill-creator</code> (skill authoring guide). These are available immediately after installation.</p>
302
+ </details>
303
+
304
+ <details>
305
+ <summary><strong>Q: Works with local LLMs (Ollama, LM Studio)?</strong></summary>
306
+ <p>Yes! Works with any MCP-compatible LLM setup. Skills are structured prompts that work with any model.</p>
307
+ </details>
308
+
309
+ <details>
310
+ <summary><strong>Q: Works offline?</strong></summary>
311
+ <p>Yes! Runs entirely on local filesystem (though your LLM may need internet depending on the model).</p>
312
+ </details>
313
+
314
+ <details>
315
+ <summary><strong>Q: How to create a good skill?</strong></summary>
316
+ <p>Follow <a href="#-skillmd-format">SKILL.md format</a>. Use clear descriptions with trigger keywords, specific instructions, and examples.</p>
317
+ </details>
318
+
319
+ <details>
320
+ <summary><strong>Q: Where can I get help?</strong></summary>
321
+ <p>Open an <a href="https://github.com/kdpa-llc/local-skills-mcp/issues">issue on GitHub</a>.</p>
322
+ </details>
271
323
 
272
324
  **More:** See [CONTRIBUTING.md][contributing], [SECURITY.md][security], [CHANGELOG.md][changelog]
273
325
 
@@ -299,10 +351,10 @@ If you find Local Skills MCP useful, please consider supporting its development!
299
351
 
300
352
  **Ways to support:**
301
353
 
302
- - ⭐ Star this repository
354
+ - ⭐ [Star this repository][stargazers]
303
355
  - πŸ’° Sponsor via the badges above
304
- - πŸ› Report bugs and suggest features
305
- - πŸ“ Contribute code or documentation
356
+ - πŸ› [Report bugs and suggest features][repo-issues]
357
+ - πŸ“ [Contribute code or documentation][contributing]
306
358
 
307
359
  ## πŸ“„ License
308
360
 
@@ -327,6 +379,8 @@ Made with ❀️ by KDPA
327
379
 
328
380
  [npm-version-badge]: https://img.shields.io/npm/v/local-skills-mcp.svg
329
381
  [npm-package]: https://www.npmjs.com/package/local-skills-mcp
382
+ [npm-downloads-badge]: https://img.shields.io/npm/dm/local-skills-mcp
383
+ [npm-types-badge]: https://img.shields.io/npm/types/local-skills-mcp
330
384
  [license-badge]: https://img.shields.io/badge/License-MIT-yellow.svg
331
385
  [license]: https://opensource.org/licenses/MIT
332
386
  [node-badge]: https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "local-skills-mcp",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "Universal MCP server enabling any LLM or AI agent to utilize expert skills from your local filesystem. Reduces context consumption through lazy loading - only skill names visible initially, full content loads on-demand. Works with Claude, Cline, custom agents, and any MCP-compatible client.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,192 +0,0 @@
1
- ---
2
- name: skill-refresh-helper
3
- description: Teaches the LLM about Local Skills MCP's full hot reload capabilities. All skill changes (new skills, content edits, deletions) apply immediately without restart. Use after creating or modifying skills.
4
- ---
5
-
6
- You are an expert at managing the Local Skills MCP server's hot reload capabilities.
7
-
8
- Your task is to help the LLM understand that all skill changes apply immediately - no restart needed for any changes to skills.
9
-
10
- ## Core Principle
11
-
12
- Local Skills MCP supports **full hot reload** - skills are discovered dynamically every time the tool list is requested, and skill content is loaded fresh from disk on every use. No server restart is needed for any changes!
13
-
14
- ## When to Refresh the Tool List
15
-
16
- **Refresh the tool list immediately after**:
17
-
18
- 1. Creating a new skill directory with SKILL.md
19
- 2. User asks to see available skills
20
- 3. User wants to verify a newly created skill appears
21
- 4. Before attempting to use a skill that was just created
22
-
23
- **Skill content changes apply immediately**:
24
-
25
- - Modifying existing skill content (loaded fresh on next use)
26
- - Changing frontmatter description (refreshing tool list will show new description)
27
- - All changes are reflected immediately without restart
28
-
29
- ## How Hot Reload Works
30
-
31
- ### What Happens on Tool List Request
32
-
33
- When you (the LLM) request the list of available tools from Local Skills MCP:
34
-
35
- 1. **Discovery runs fresh**: `skill Loader.discoverSkills()` is called
36
- 2. **Registry clears**: Old skill registry is wiped clean
37
- 3. **Filesystem scanned**: All skill directories are re-scanned
38
- 4. **Registry rebuilt**: Current state of filesystem becomes new registry
39
- 5. **Tool list returned**: Includes all currently available skills
40
-
41
- This means: **The tool list always reflects the current filesystem state**!
42
-
43
- ### What's Cached
44
-
45
- - **Nothing is cached!** All data is loaded fresh:
46
- - Skill content: Read from disk on every `get_skill` call
47
- - Metadata: Read from disk on every access
48
- - Discovery: Scans filesystem on every tool list request
49
-
50
- ### Implications for You (the LLM)
51
-
52
- - **After creating a skill**: Request the tool list again to see it
53
- - **After modifying content**: Changes apply immediately on next use!
54
- - **After adding/removing skills**: Request the tool list to see changes
55
- - **Full hot reload**: No restarts needed for any changes
56
-
57
- ## Refreshing the Tool List
58
-
59
- ### Method: Request Available Tools
60
-
61
- The MCP protocol provides a way to request the current list of available tools. In Claude's interface, this typically happens when:
62
-
63
- - You ask "what tools are available?"
64
- - You reference the tools in conversation
65
- - The system periodically refreshes its tool knowledge
66
-
67
- ### For You (the LLM)
68
-
69
- After creating a new skill, you should:
70
-
71
- 1. **Confirm creation**: "Created `skill-name` in `~/.claude/skills/`"
72
- 2. **Explain hot reload**: "The skill is now available - Local Skills MCP supports hot reload!"
73
- 3. **Demonstrate awareness**: Mention the skill as now available
74
- 4. **Optional verification**: Ask user if they'd like you to list all available skills to verify
75
-
76
- ### Example Flow
77
-
78
- **User**: "Create a Python expert skill for me"
79
-
80
- **You (LLM) do**:
81
-
82
- 1. Create `~/.claude/skills/python-expert/SKILL.md`
83
- 2. Write the skill content
84
- 3. Respond: "βœ… Created python-expert skill in ~/.claude/skills/
85
-
86
- **The skill is immediately available!** Local Skills MCP supports hot reload for new skills - no restart needed. The python-expert skill will appear in my available tools as soon as I refresh my tool list.
87
-
88
- Would you like me to verify it's available or would you like to start using it right away?"
89
-
90
- **NOT** ❌: "Created skill. Please restart your MCP client to use it."
91
-
92
- ## Best Practices
93
-
94
- ### DO βœ…
95
-
96
- - Explain that skills are immediately available
97
- - Mention hot reload capability when creating skills
98
- - Be confident that the skill can be used right away
99
- - Reference the newly created skill as available
100
-
101
- ### DON'T ❌
102
-
103
- - Tell users to restart the MCP server for new skills
104
- - Say skills require a restart to appear
105
- - Suggest that hot reload doesn't work
106
- - Be uncertain about skill availability after creation
107
-
108
- ## Common Scenarios
109
-
110
- ### Scenario 1: Creating a New Skill
111
-
112
- ```
113
- User: Create a code reviewer skill
114
-
115
- You: βœ… Created code-reviewer skill in ~/.claude/skills/
116
-
117
- The skill is immediately available thanks to hot reload!
118
- You can start using it right away - no restart needed.
119
- Would you like to try it out?
120
- ```
121
-
122
- ### Scenario 2: Modifying Existing Skill Content
123
-
124
- ```
125
- User: Update the code-reviewer skill to be more strict
126
-
127
- You: βœ… I've updated the code-reviewer skill content in ~/.claude/skills/code-reviewer/SKILL.md
128
-
129
- The changes will take effect immediately! The next time the skill is loaded,
130
- it will read the updated content from disk. No restart needed thanks to full
131
- hot reload support.
132
-
133
- Would you like me to use the updated skill now to review some code?
134
- ```
135
-
136
- ### Scenario 3: User Asks "Is the Skill Available?"
137
-
138
- ```
139
- User: Can I use the python-expert skill now?
140
-
141
- You: Yes! The python-expert skill is immediately available. Local Skills MCP
142
- discovers skills dynamically - as soon as the skill file exists, it's ready
143
- to use. No restart needed for new skills!
144
-
145
- Would you like me to use it to help with your Python code?
146
- ```
147
-
148
- ## Technical Details for Context
149
-
150
- ### Code Reference
151
-
152
- From `src/index.ts`:
153
-
154
- ```typescript
155
- this.server.setRequestHandler(ListToolsRequestSchema, async () => {
156
- // Discover skills EVERY TIME tools are requested
157
- const skillNames = await this.skillLoader.discoverSkills();
158
- // ... build tool list with current skills
159
- });
160
- ```
161
-
162
- From `src/skill-loader.ts`:
163
-
164
- ```typescript
165
- async discoverSkills(): Promise<string[]> {
166
- this.skillRegistry.clear(); // Clear old registry
167
- // Re-scan all directories...
168
- // Rebuild registry with current filesystem state
169
- }
170
-
171
- async loadSkill(skillName: string): Promise<Skill> {
172
- // NO CACHE CHECK - always reads fresh from disk
173
- const fileContent = await fs.readFile(skillFilePath, "utf-8");
174
- const { metadata, content } = this.parseSkillFile(fileContent);
175
- return skill; // Returns fresh data every time
176
- }
177
- ```
178
-
179
- This proves: **Skills ARE discovered AND loaded fresh every time!**
180
-
181
- ## Summary
182
-
183
- **Key Message**: Local Skills MCP supports **full hot reload** for ALL changes. Everything updates immediately - no restart needed!
184
-
185
- **Your Role**: After creating or modifying skills, be confident they're available and explain the hot reload capability to users. This improves the user experience dramatically compared to requiring restarts.
186
-
187
- **Remember**:
188
-
189
- - New skills: βœ… Hot reload (immediate)
190
- - Content changes: βœ… Hot reload (immediate)
191
- - Description changes: βœ… Hot reload (immediate)
192
- - Deletions: βœ… Hot reload (immediate)