local-skills-mcp 0.1.0

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 ADDED
@@ -0,0 +1,96 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Added
11
+ - Package built-in skills directory as base default for all MCP instances
12
+ - Self-documenting capabilities: `local-skills-mcp-usage`, `local-skills-mcp-guide`, and `skill-creator` skills
13
+ - Skills are now available immediately after installation with zero configuration
14
+
15
+ ### Changed
16
+ - Directory aggregation priority updated to include package built-in skills as lowest priority (first in list)
17
+ - Updated documentation to reflect new built-in skills feature
18
+
19
+ ## [0.1.0] - 2025-11-01
20
+
21
+ ### 🎉 First Public Release
22
+
23
+ This is the initial public release of Local Skills MCP - a proof of concept for enabling any LLM or AI agent to utilize expert skills via the Model Context Protocol.
24
+
25
+ ### Features
26
+
27
+ #### Universal LLM/Agent Support
28
+ - Works with any MCP-compatible client (Claude Code, Claude Desktop, Cline, Continue.dev, custom agents)
29
+ - Portable skills that work across multiple AI systems
30
+ - LLM-agnostic design (Claude, GPT, Gemini, local models, etc.)
31
+
32
+ #### Efficient Context Management
33
+ - Lazy loading: only skill names and descriptions initially visible (~50 tokens per skill)
34
+ - Full content loads on-demand, preserving 95%+ of context window
35
+ - Progressive disclosure pattern optimized for context efficiency
36
+
37
+ #### Powerful Skill Management
38
+ - Standard SKILL.md format with YAML frontmatter
39
+ - Automatic aggregation from multiple directories (~/.claude/skills, ./.claude/skills, ./skills, custom)
40
+ - Dynamic discovery: tool description updates in real-time with available skills
41
+ - Zero configuration: works out-of-the-box with standard locations
42
+ - Ultra-simple API: single `get_skill` tool with built-in discovery
43
+
44
+ #### Open Source Best Practices
45
+ - Comprehensive contribution guidelines (CONTRIBUTING.md)
46
+ - Code of Conduct (Contributor Covenant v2.0)
47
+ - Security policy and vulnerability reporting (SECURITY.md)
48
+ - Complete documentation and examples
49
+ - GitHub issue and PR templates
50
+ - MIT License
51
+
52
+ ### Technical Implementation
53
+ - TypeScript with Node.js 18+
54
+ - Model Context Protocol SDK integration
55
+ - Version centralized in package.json (single source of truth)
56
+ - Intelligent caching and lazy loading
57
+ - Multi-directory skill aggregation with override support
58
+
59
+ ---
60
+
61
+ ## Pre-Release Development History
62
+
63
+ The following versions were internal development iterations before the public release:
64
+
65
+ ### [Internal 2.2.0] - 2025-11-01
66
+ - Simplified to single tool (removed list_skills)
67
+ - Generic, utilization-focused tool descriptions
68
+ - Dynamic skill list in get_skill description
69
+
70
+ ### [Internal 2.1.0] - 2025-11-01
71
+ - Enhanced tool descriptions following Claude Skills best practices
72
+ - Added comprehensive documentation on skill description patterns
73
+ - Improved trigger keyword matching
74
+
75
+ ### [Internal 2.0.0] - 2025-10-30
76
+ - Changed to official Claude Skills format (SKILL.md)
77
+ - Added multi-directory skill aggregation
78
+ - Removed custom skill.json format
79
+
80
+ ### [Internal 1.0.0] - 2025-10-29
81
+ - Initial prototype with custom format
82
+ - Four MCP tools with parameter interpolation
83
+
84
+ ---
85
+
86
+ <!-- Version Links -->
87
+ [0.1.0]: https://github.com/kdpa-llc/local-skills-mcp/releases/tag/v0.1.0
88
+ [unreleased]: https://github.com/kdpa-llc/local-skills-mcp/compare/v0.1.0...HEAD
89
+
90
+ <!-- Reference Links -->
91
+ [repo]: https://github.com/kdpa-llc/local-skills-mcp
92
+ [issues]: https://github.com/kdpa-llc/local-skills-mcp/issues
93
+ [pulls]: https://github.com/kdpa-llc/local-skills-mcp/pulls
94
+ [releases]: https://github.com/kdpa-llc/local-skills-mcp/releases
95
+ [contributing]: CONTRIBUTING.md
96
+ [security]: SECURITY.md
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 KDPA
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,383 @@
1
+ <div align="center">
2
+
3
+ # 🎯 Local Skills MCP
4
+
5
+ **Enable any LLM or AI agent to utilize expert skills from your local filesystem via MCP**
6
+
7
+ [![npm version][npm-version-badge]][npm-package]
8
+ [![License: MIT][license-badge]][license]
9
+ [![Node][node-badge]][nodejs]
10
+ [![MCP][mcp-badge]][mcp-protocol]
11
+
12
+ [![CI][ci-badge]][ci-workflow]
13
+ [![codecov][codecov-badge]][codecov]
14
+ [![CodeQL][codeql-badge]][codeql-workflow]
15
+
16
+ [![GitHub Stars][stars-badge]][stargazers]
17
+ [![GitHub Forks][forks-badge]][network]
18
+ [![GitHub Issues][issues-badge]][repo-issues]
19
+ [![GitHub Last Commit][commit-badge]][commits]
20
+ [![PRs Welcome][prs-badge]][contributing]
21
+
22
+ [Quick Start](#-quick-start) •
23
+ [Features](#-features) •
24
+ [Usage](#-usage) •
25
+ [FAQ](#-faq) •
26
+ [Contributing](#-contributing)
27
+
28
+ </div>
29
+
30
+ ---
31
+
32
+ ## 📑 Table of Contents
33
+
34
+ - [What is Local Skills MCP?](#what-is-local-skills-mcp)
35
+ - [✨ Features](#-features)
36
+ - [🚀 Quick Start](#-quick-start)
37
+ - [📝 SKILL.md Format](#-skillmd-format)
38
+ - [🎯 Usage](#-usage)
39
+ - [🆚 Differences from Built-in Skills](#-differences-from-built-in-skills)
40
+ - [❓ FAQ](#-faq)
41
+ - [🤝 Contributing](#-contributing)
42
+
43
+ ---
44
+
45
+ ## What is Local Skills MCP?
46
+
47
+ A **universal** Model Context Protocol (MCP) server that enables **any LLM or AI agent** to access expert skills from your local filesystem. Your skills become portable, reusable prompt libraries that work across Claude Code, Claude Desktop, Cline, Continue.dev, custom agents, or any MCP-compatible client.
48
+
49
+ Transform AI capabilities with structured, expert-level instructions for specialized tasks. Lazy loading preserves context—only skill names and descriptions load initially; full content loads on-demand.
50
+
51
+ ## ✨ Features
52
+
53
+ - **🌐 Universal** - Works with any MCP client (Claude Code, Desktop, Cline, Continue.dev, custom agents)
54
+ - **🔄 Portable** - Write once, use across multiple AI systems and LLMs (Claude, GPT, Gemini, local models)
55
+ - **⚡ Context Efficient** - Lazy loading: only skill names/descriptions load initially (~50 tokens/skill), full content on-demand
56
+ - **🎯 Multi-Source** - Auto-aggregates from package built-in skills, `~/.claude/skills`, `./.claude/skills`, `./skills`, and custom paths
57
+ - **📦 Zero Config** - Works out-of-the-box with standard skill locations
58
+ - **✨ Ultra Simple** - Single tool (`get_skill`) with dynamic skill discovery
59
+
60
+ ## 🚀 Quick Start
61
+
62
+ ### Install
63
+
64
+ **From npm (recommended):**
65
+
66
+ ```bash
67
+ npm install -g local-skills-mcp
68
+ ```
69
+
70
+ **Alternative: From GitHub:**
71
+
72
+ ```bash
73
+ npm install -g github:kdpa-llc/local-skills-mcp
74
+ ```
75
+
76
+ **Or clone locally:**
77
+
78
+ ```bash
79
+ git clone https://github.com/kdpa-llc/local-skills-mcp.git
80
+ cd local-skills-mcp
81
+ npm install # The prepare script auto-builds
82
+ ```
83
+
84
+ **Requirements:** Node.js 18+, any MCP-compatible client
85
+
86
+ ### Configure MCP Client
87
+
88
+ Add to your MCP client configuration (e.g., `~/.config/claude-code/mcp.json`):
89
+
90
+ **If installed globally:**
91
+
92
+ ```json
93
+ {
94
+ "mcpServers": {
95
+ "local-skills": {
96
+ "command": "local-skills-mcp"
97
+ }
98
+ }
99
+ }
100
+ ```
101
+
102
+ **If cloned locally:**
103
+
104
+ ```json
105
+ {
106
+ "mcpServers": {
107
+ "local-skills": {
108
+ "command": "node",
109
+ "args": ["/absolute/path/to/local-skills-mcp/dist/index.js"]
110
+ }
111
+ }
112
+ }
113
+ ```
114
+
115
+ **For Cline:** Same config in VS Code Settings → "Cline: MCP Settings"
116
+
117
+ **For other MCP clients:** Use the same command/args structure according to their MCP server setup.
118
+
119
+ The server auto-aggregates skills from multiple directories in this priority order (lowest to highest):
120
+
121
+ 1. Package built-in skills (includes self-documenting usage guides)
122
+ 2. `~/.claude/skills/` - Your global skills
123
+ 3. `./.claude/skills/` - Project-specific skills
124
+ 4. `./skills` - Default project skills
125
+ 5. `$SKILLS_DIR` - Custom directory (if set)
126
+
127
+ Later directories override earlier ones, allowing you to customize built-in skills.
128
+
129
+ ### Create & Use Skills
130
+
131
+ Create `~/.claude/skills/my-skill/SKILL.md`:
132
+
133
+ ```markdown
134
+ ---
135
+ name: my-skill
136
+ description: What this skill does and when to use it
137
+ ---
138
+
139
+ You are an expert at [domain]. Your task is to [specific task].
140
+
141
+ Guidelines:
142
+
143
+ 1. Be specific
144
+ 2. Provide examples
145
+ 3. Be helpful
146
+ ```
147
+
148
+ Then request it in your AI client: `"Use the my-skill skill"`
149
+
150
+ The AI auto-discovers available skills and loads them on-demand.
151
+
152
+ ## 📝 SKILL.md Format
153
+
154
+ Every skill is a `SKILL.md` file with YAML frontmatter:
155
+
156
+ ```markdown
157
+ ---
158
+ name: skill-name
159
+ description: Brief description of what this skill does and when to use it
160
+ ---
161
+
162
+ Your skill instructions in Markdown format...
163
+ ```
164
+
165
+ **Required Fields:**
166
+
167
+ - `name` - Skill identifier (lowercase, hyphens, max 64 chars)
168
+ - `description` - Critical for skill selection (max 200 chars)
169
+
170
+ **Writing Effective Descriptions:**
171
+
172
+ Pattern: `[What it does]. Use when [trigger conditions/keywords].`
173
+
174
+ - ✅ **Good**: "Generates clear commit messages from git diffs. Use when writing commit messages or reviewing staged changes."
175
+ - ✅ **Good**: "Analyze Excel spreadsheets and create pivot tables. Use when working with .xlsx files or tabular data."
176
+ - ❌ **Poor**: "Helps with Excel files"
177
+
178
+ Claude uses language understanding to decide when to invoke skills—specific trigger keywords help Claude make better decisions.
179
+
180
+ ## 🎯 Usage
181
+
182
+ **Single Tool:** `get_skill` - loads expert prompt instructions for specific tasks
183
+
184
+ **How it works:**
185
+
186
+ 1. AI sees all available skills in the tool description (auto-updated)
187
+ 2. When you request a skill, AI invokes `get_skill`
188
+ 3. Full skill content loads with detailed instructions
189
+
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.
191
+
192
+ **Skill Aggregation:** Auto-aggregates from package built-in skills, `~/.claude/skills/`, `./.claude/skills/`, `./skills`, and `$SKILLS_DIR` (if set). Later directories override duplicates.
193
+
194
+ **Custom Directory:** Add via environment variable:
195
+
196
+ ```json
197
+ {
198
+ "command": "local-skills-mcp",
199
+ "env": {
200
+ "SKILLS_DIR": "/custom/path/to/skills"
201
+ }
202
+ }
203
+ ```
204
+
205
+ **Example Skill:**
206
+
207
+ ```markdown
208
+ ---
209
+ name: code-reviewer
210
+ description: Reviews code for best practices, bugs, and security. Use when reviewing PRs or analyzing code quality.
211
+ ---
212
+
213
+ You are a code reviewer with expertise in software engineering best practices.
214
+
215
+ Analyze the code for:
216
+
217
+ 1. Correctness and bugs
218
+ 2. Best practices
219
+ 3. Performance and security issues
220
+ 4. Maintainability
221
+
222
+ Provide specific, actionable feedback.
223
+ ```
224
+
225
+ ## 🆚 Differences from Built-in Skills
226
+
227
+ | Feature | Local Skills MCP | Built-in Claude Skills |
228
+ | ----------------- | ------------------------------- | ------------------------ |
229
+ | **Portability** | Any MCP client | Claude Code only |
230
+ | **Storage** | Multiple directories aggregated | `~/.claude/skills/` only |
231
+ | **Invocation** | Explicit via MCP tool | Auto-invoked by Claude |
232
+ | **Context Usage** | Lazy loading (names only) | All skills in context |
233
+
234
+ ## ❓ FAQ
235
+
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].
271
+
272
+ **More:** See [CONTRIBUTING.md][contributing], [SECURITY.md][security], [CHANGELOG.md][changelog]
273
+
274
+ ## 🤝 Contributing
275
+
276
+ Contributions welcome! See [CONTRIBUTING.md][contributing] for guidelines.
277
+
278
+ Quick start:
279
+
280
+ 1. Fork the repository
281
+ 2. Create your feature branch
282
+ 3. Make your changes and test
283
+ 4. Commit and push
284
+ 5. Open a Pull Request
285
+
286
+ Note: This project follows a [Code of Conduct][code-of-conduct].
287
+
288
+ ## 💖 Support This Project
289
+
290
+ If you find Local Skills MCP useful, please consider supporting its development!
291
+
292
+ <div align="center">
293
+
294
+ [![GitHub Sponsors][sponsor-github-badge]][sponsor-github]
295
+ [![Buy Me A Coffee][sponsor-coffee-badge]][sponsor-coffee]
296
+ [![PayPal][sponsor-paypal-badge]][sponsor-paypal]
297
+
298
+ </div>
299
+
300
+ **Ways to support:**
301
+
302
+ - ⭐ Star this repository
303
+ - 💰 Sponsor via the badges above
304
+ - 🐛 Report bugs and suggest features
305
+ - 📝 Contribute code or documentation
306
+
307
+ ## 📄 License
308
+
309
+ MIT License - see [LICENSE][license-file] file. **Copyright © 2025 KDPA**
310
+
311
+ ## 🙏 Acknowledgments
312
+
313
+ Built with [Model Context Protocol SDK][mcp-sdk] • Inspired by [Claude Skills][claude-skills]
314
+
315
+ ---
316
+
317
+ <div align="center">
318
+
319
+ **[⬆ Back to Top](#-local-skills-mcp)**
320
+
321
+ Made with ❤️ by KDPA
322
+
323
+ </div>
324
+
325
+ <!-- Reference Links -->
326
+ <!-- Badges - Top of README -->
327
+
328
+ [npm-version-badge]: https://img.shields.io/npm/v/local-skills-mcp.svg
329
+ [npm-package]: https://www.npmjs.com/package/local-skills-mcp
330
+ [license-badge]: https://img.shields.io/badge/License-MIT-yellow.svg
331
+ [license]: https://opensource.org/licenses/MIT
332
+ [node-badge]: https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen.svg
333
+ [nodejs]: https://nodejs.org/
334
+ [mcp-badge]: https://img.shields.io/badge/MCP-Compatible-purple.svg
335
+ [mcp-protocol]: https://modelcontextprotocol.io/
336
+
337
+ <!-- CI/CD Badges -->
338
+
339
+ [ci-badge]: https://github.com/kdpa-llc/local-skills-mcp/actions/workflows/ci.yml/badge.svg
340
+ [ci-workflow]: https://github.com/kdpa-llc/local-skills-mcp/actions/workflows/ci.yml
341
+ [codecov-badge]: https://codecov.io/gh/kdpa-llc/local-skills-mcp/branch/main/graph/badge.svg
342
+ [codecov]: https://codecov.io/gh/kdpa-llc/local-skills-mcp
343
+ [codeql-badge]: https://github.com/kdpa-llc/local-skills-mcp/actions/workflows/codeql.yml/badge.svg
344
+ [codeql-workflow]: https://github.com/kdpa-llc/local-skills-mcp/actions/workflows/codeql.yml
345
+
346
+ <!-- GitHub Badges -->
347
+
348
+ [stars-badge]: https://img.shields.io/github/stars/kdpa-llc/local-skills-mcp?style=social
349
+ [stargazers]: https://github.com/kdpa-llc/local-skills-mcp/stargazers
350
+ [forks-badge]: https://img.shields.io/github/forks/kdpa-llc/local-skills-mcp?style=social
351
+ [network]: https://github.com/kdpa-llc/local-skills-mcp/network/members
352
+ [issues-badge]: https://img.shields.io/github/issues/kdpa-llc/local-skills-mcp
353
+ [repo-issues]: https://github.com/kdpa-llc/local-skills-mcp/issues
354
+ [commit-badge]: https://img.shields.io/github/last-commit/kdpa-llc/local-skills-mcp
355
+ [commits]: https://github.com/kdpa-llc/local-skills-mcp/commits/main
356
+ [prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg
357
+
358
+ <!-- Repository Links -->
359
+
360
+ [repo]: https://github.com/kdpa-llc/local-skills-mcp
361
+ [pulls]: https://github.com/kdpa-llc/local-skills-mcp/pulls
362
+
363
+ <!-- Documentation Links -->
364
+
365
+ [contributing]: CONTRIBUTING.md
366
+ [security]: SECURITY.md
367
+ [changelog]: CHANGELOG.md
368
+ [code-of-conduct]: CODE_OF_CONDUCT.md
369
+ [license-file]: LICENSE
370
+
371
+ <!-- Sponsorship Links -->
372
+
373
+ [sponsor-github-badge]: https://img.shields.io/badge/Sponsor-GitHub%20Sponsors-ea4aaa?logo=github
374
+ [sponsor-github]: https://github.com/sponsors/moscaverd
375
+ [sponsor-coffee-badge]: https://img.shields.io/badge/Buy%20Me%20A%20Coffee-support-yellow?logo=buy-me-a-coffee
376
+ [sponsor-coffee]: https://buymeacoffee.com/moscaverd
377
+ [sponsor-paypal-badge]: https://img.shields.io/badge/PayPal-donate-blue?logo=paypal
378
+ [sponsor-paypal]: https://paypal.me/moscaverd
379
+
380
+ <!-- External Links -->
381
+
382
+ [mcp-sdk]: https://github.com/modelcontextprotocol/sdk
383
+ [claude-skills]: https://docs.claude.com/en/docs/claude-code/skills
@@ -0,0 +1,97 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Get all skills directories to aggregate from.
4
+ *
5
+ * Scans for skill directories in the following order (lowest to highest priority):
6
+ * 1. `<package-root>/skills` - Package built-in skills (self-documenting, always available)
7
+ * 2. `~/.claude/skills` - Global Claude skills
8
+ * 3. `{cwd}/.claude/skills` - Project-level Claude skills
9
+ * 4. `{cwd}/skills` - Default project skills directory
10
+ * 5. `$SKILLS_DIR` - Custom directory from environment variable
11
+ *
12
+ * For duplicate skill names, later directories take precedence. This allows
13
+ * users to override built-in skills with their own versions.
14
+ *
15
+ * @returns Array of directory paths that exist on the filesystem
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const dirs = getAllSkillsDirectories();
20
+ * console.log(dirs);
21
+ * // ['/usr/lib/node_modules/local-skills-mcp/skills', '/home/user/.claude/skills', '/home/user/project/skills']
22
+ * ```
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * // With SKILLS_DIR environment variable
27
+ * process.env.SKILLS_DIR = '/custom/skills';
28
+ * const dirs = getAllSkillsDirectories();
29
+ * // Returns: [...standard paths..., '/custom/skills']
30
+ * ```
31
+ */
32
+ export declare function getAllSkillsDirectories(): string[];
33
+ /**
34
+ * Main MCP server class for serving skills to AI clients.
35
+ *
36
+ * LocalSkillsServer handles MCP protocol communication, manages skill discovery
37
+ * and loading through SkillLoader, and formats responses for clients.
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * const server = new LocalSkillsServer();
42
+ * await server.run();
43
+ * // Server is now running and listening on stdio
44
+ * ```
45
+ */
46
+ export declare class LocalSkillsServer {
47
+ private server;
48
+ private skillLoader;
49
+ /**
50
+ * Creates a new LocalSkillsServer instance.
51
+ *
52
+ * Initializes the MCP server with capabilities, creates a SkillLoader
53
+ * for all configured directories, and sets up request handlers.
54
+ */
55
+ constructor();
56
+ private setupErrorHandling;
57
+ private setupHandlers;
58
+ private handleGetSkill;
59
+ /**
60
+ * Starts the MCP server and connects it to stdio transport.
61
+ *
62
+ * This method initializes the stdio transport for MCP communication,
63
+ * connects the server, and logs startup information including the
64
+ * list of skill directories being monitored.
65
+ *
66
+ * @throws {Error} If the server fails to connect or start
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * const server = new LocalSkillsServer();
71
+ * await server.run();
72
+ * // Output to stderr:
73
+ * // Local Skills MCP Server v0.1.0 running on stdio
74
+ * // Aggregating skills from 3 directories:
75
+ * // - /home/user/.claude/skills
76
+ * // - /home/user/project/.claude/skills
77
+ * // - /home/user/project/skills
78
+ * ```
79
+ */
80
+ run(): Promise<void>;
81
+ /**
82
+ * Closes the server and releases all resources.
83
+ *
84
+ * This method properly shuts down the MCP server and waits for all
85
+ * file handles and resources to be released. This is particularly
86
+ * important on Windows where file handles may take longer to release.
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * const server = new LocalSkillsServer();
91
+ * await server.run();
92
+ * // ... do work ...
93
+ * await server.close();
94
+ * ```
95
+ */
96
+ close(): Promise<void>;
97
+ }