progressive-skills-mcp 0.2.0__tar.gz

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.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Eleanor Berger <eleanor@intellectronica.net>
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.
@@ -0,0 +1,228 @@
1
+ Metadata-Version: 2.3
2
+ Name: progressive-skills-mcp
3
+ Version: 0.2.0
4
+ Summary: MCP server that exposes Claude-style skills to any MCP client.
5
+ Keywords: mcp,skills,fastmcp,claude
6
+ Author: Eleanor Berger
7
+ Author-email: Eleanor Berger <eleanor@intellectronica.net>
8
+ License: MIT License
9
+
10
+ Copyright (c) 2025 Eleanor Berger <eleanor@intellectronica.net>
11
+
12
+ Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ of this software and associated documentation files (the "Software"), to deal
14
+ in the Software without restriction, including without limitation the rights
15
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ copies of the Software, and to permit persons to whom the Software is
17
+ furnished to do so, subject to the following conditions:
18
+
19
+ The above copyright notice and this permission notice shall be included in all
20
+ copies or substantial portions of the Software.
21
+
22
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ SOFTWARE.
29
+ Classifier: Development Status :: 3 - Alpha
30
+ Classifier: Intended Audience :: Developers
31
+ Classifier: License :: OSI Approved :: MIT License
32
+ Classifier: Programming Language :: Python
33
+ Classifier: Programming Language :: Python :: 3
34
+ Classifier: Programming Language :: Python :: 3.12
35
+ Requires-Dist: fastmcp>=2.2.5
36
+ Requires-Dist: pyyaml>=6.0
37
+ Requires-Python: >=3.12
38
+ Project-URL: Homepage, https://github.com/Flowtrica/skills-mcp
39
+ Project-URL: Issues, https://github.com/Flowtrica/skills-mcp/issues
40
+ Description-Content-Type: text/markdown
41
+
42
+ # Skills MCP
43
+
44
+ MCP server for SKILL.md files with **progressive disclosure** - achieving **13x token efficiency** over traditional approaches.
45
+
46
+ Based on [intellectronica/skillz](https://github.com/intellectronica/skillz) with progressive disclosure modifications inspired by Claude.ai's approach.
47
+
48
+ ## What's Different?
49
+
50
+ **Original skillz:**
51
+ - Creates 1 tool per skill
52
+ - 20 skills = 20 tools × ~100 tokens = **2000 tokens/request**
53
+
54
+ **Skills MCP (this fork):**
55
+ - Creates 3 universal tools (`load_skill`, `read_skill_file`, `list_skill_files`)
56
+ - 20 skills = 3 tools × ~50 tokens = **150 tokens/request**
57
+ - **13x improvement!** 🎉
58
+
59
+ ## Features
60
+
61
+ ✅ Progressive disclosure (3-level token efficiency)
62
+ ✅ Metadata generation for system prompts
63
+ ✅ Compatible with all SKILL.md format files
64
+ ✅ Supports .zip and .skill archives
65
+ ✅ Docker image available
66
+
67
+ ## Quick Start
68
+
69
+ ### Using Docker
70
+
71
+ ```bash
72
+ docker run -i --rm \
73
+ -v /path/to/skills:/skills \
74
+ flowtrica/skills-mcp:latest \
75
+ /skills
76
+ ```
77
+
78
+ ### Using uvx
79
+
80
+ ```bash
81
+ uvx skills-mcp@latest /path/to/skills
82
+ ```
83
+
84
+ ### With MCPHub
85
+
86
+ ```json
87
+ {
88
+ "mcpServers": {
89
+ "skills": {
90
+ "command": "docker",
91
+ "args": [
92
+ "run", "-i", "--rm",
93
+ "--entrypoint", "sh",
94
+ "flowtrica/skills-mcp:latest",
95
+ "-c",
96
+ "git clone https://github.com/YOUR_USERNAME/your-skills.git /tmp/skills && skills-mcp /tmp/skills"
97
+ ]
98
+ }
99
+ }
100
+ }
101
+ ```
102
+
103
+ ## Progressive Disclosure
104
+
105
+ ### Level 1: System Prompt (Once per conversation)
106
+ ```markdown
107
+ ## Available Skills
108
+ - **weather**: Get weather forecasts
109
+ - **pptx**: Create presentations
110
+ ```
111
+ **Cost:** ~200 tokens, sent ONCE
112
+
113
+ ### Level 2: On-Demand Instructions
114
+ ```python
115
+ load_skill("pptx") # Returns full SKILL.md
116
+ ```
117
+ **Cost:** 0 tokens until loaded
118
+
119
+ ### Level 3: Referenced Resources
120
+ ```python
121
+ read_skill_file("pptx", "references/api.md")
122
+ ```
123
+ **Cost:** 0 tokens until accessed
124
+
125
+ ## Generate Metadata
126
+
127
+ For Onyx or other MCP clients that support system prompts:
128
+
129
+ ```bash
130
+ skills-mcp --generate-metadata /path/to/skills
131
+ ```
132
+
133
+ Output:
134
+ ```markdown
135
+ ## Available Skills
136
+
137
+ You have access to specialized skills...
138
+
139
+ - **test-skill**: A simple test skill
140
+ - **weather**: Get weather forecasts
141
+ ```
142
+
143
+ ## Installation
144
+
145
+ ```bash
146
+ pip install skills-mcp
147
+ ```
148
+
149
+ Or use with `uv`:
150
+ ```bash
151
+ uv tool install skills-mcp
152
+ ```
153
+
154
+ ## Usage
155
+
156
+ ```bash
157
+ # Run MCP server
158
+ skills-mcp /path/to/skills
159
+
160
+ # Generate metadata
161
+ skills-mcp --generate-metadata /path/to/skills
162
+
163
+ # Generate JSON metadata
164
+ skills-mcp --generate-metadata --format json /path/to/skills
165
+
166
+ # List discovered skills
167
+ skills-mcp --list-skills /path/to/skills
168
+ ```
169
+
170
+ ## Skill Format
171
+
172
+ Skills can be:
173
+ - **Directories** with SKILL.md file
174
+ - **Zip archives** containing SKILL.md
175
+ - **.skill archives**
176
+
177
+ Example structure:
178
+ ```
179
+ skills/
180
+ ├── weather/
181
+ │ ├── SKILL.md
182
+ │ └── references/
183
+ │ └── api.md
184
+ └── pptx.zip
185
+ ```
186
+
187
+ SKILL.md format:
188
+ ```markdown
189
+ ---
190
+ name: skill-name
191
+ description: Brief description
192
+ ---
193
+
194
+ # Full Instructions
195
+
196
+ Detailed skill instructions here...
197
+ ```
198
+
199
+ ## Building Docker Image
200
+
201
+ ```bash
202
+ docker build -t flowtrica/skills-mcp:latest .
203
+ docker push flowtrica/skills-mcp:latest
204
+ ```
205
+
206
+ ## Token Efficiency Comparison
207
+
208
+ | Approach | Tools/Request | Tokens/Request | 20 Skills |
209
+ |----------|--------------|----------------|-----------|
210
+ | Original | 20 tools | ~100 each | 2000 tokens |
211
+ | **Skills MCP** | **3 tools** | **~50 each** | **150 tokens** |
212
+ | **Improvement** | | | **13x better!** 🎉 |
213
+
214
+ ## License
215
+
216
+ MIT (same as original skillz)
217
+
218
+ ## Credits
219
+
220
+ - Based on [skillz](https://github.com/intellectronica/skillz) by Eleanor Berger
221
+ - Progressive disclosure modifications by Flowtrica
222
+ - Inspired by Claude.ai's skills system
223
+
224
+ ## Links
225
+
226
+ - Original skillz: https://github.com/intellectronica/skillz
227
+ - Skills repo: https://github.com/Flowtrica/agent-skills
228
+ - Docker Hub: https://hub.docker.com/r/flowtrica/skills-mcp
@@ -0,0 +1,187 @@
1
+ # Skills MCP
2
+
3
+ MCP server for SKILL.md files with **progressive disclosure** - achieving **13x token efficiency** over traditional approaches.
4
+
5
+ Based on [intellectronica/skillz](https://github.com/intellectronica/skillz) with progressive disclosure modifications inspired by Claude.ai's approach.
6
+
7
+ ## What's Different?
8
+
9
+ **Original skillz:**
10
+ - Creates 1 tool per skill
11
+ - 20 skills = 20 tools × ~100 tokens = **2000 tokens/request**
12
+
13
+ **Skills MCP (this fork):**
14
+ - Creates 3 universal tools (`load_skill`, `read_skill_file`, `list_skill_files`)
15
+ - 20 skills = 3 tools × ~50 tokens = **150 tokens/request**
16
+ - **13x improvement!** 🎉
17
+
18
+ ## Features
19
+
20
+ ✅ Progressive disclosure (3-level token efficiency)
21
+ ✅ Metadata generation for system prompts
22
+ ✅ Compatible with all SKILL.md format files
23
+ ✅ Supports .zip and .skill archives
24
+ ✅ Docker image available
25
+
26
+ ## Quick Start
27
+
28
+ ### Using Docker
29
+
30
+ ```bash
31
+ docker run -i --rm \
32
+ -v /path/to/skills:/skills \
33
+ flowtrica/skills-mcp:latest \
34
+ /skills
35
+ ```
36
+
37
+ ### Using uvx
38
+
39
+ ```bash
40
+ uvx skills-mcp@latest /path/to/skills
41
+ ```
42
+
43
+ ### With MCPHub
44
+
45
+ ```json
46
+ {
47
+ "mcpServers": {
48
+ "skills": {
49
+ "command": "docker",
50
+ "args": [
51
+ "run", "-i", "--rm",
52
+ "--entrypoint", "sh",
53
+ "flowtrica/skills-mcp:latest",
54
+ "-c",
55
+ "git clone https://github.com/YOUR_USERNAME/your-skills.git /tmp/skills && skills-mcp /tmp/skills"
56
+ ]
57
+ }
58
+ }
59
+ }
60
+ ```
61
+
62
+ ## Progressive Disclosure
63
+
64
+ ### Level 1: System Prompt (Once per conversation)
65
+ ```markdown
66
+ ## Available Skills
67
+ - **weather**: Get weather forecasts
68
+ - **pptx**: Create presentations
69
+ ```
70
+ **Cost:** ~200 tokens, sent ONCE
71
+
72
+ ### Level 2: On-Demand Instructions
73
+ ```python
74
+ load_skill("pptx") # Returns full SKILL.md
75
+ ```
76
+ **Cost:** 0 tokens until loaded
77
+
78
+ ### Level 3: Referenced Resources
79
+ ```python
80
+ read_skill_file("pptx", "references/api.md")
81
+ ```
82
+ **Cost:** 0 tokens until accessed
83
+
84
+ ## Generate Metadata
85
+
86
+ For Onyx or other MCP clients that support system prompts:
87
+
88
+ ```bash
89
+ skills-mcp --generate-metadata /path/to/skills
90
+ ```
91
+
92
+ Output:
93
+ ```markdown
94
+ ## Available Skills
95
+
96
+ You have access to specialized skills...
97
+
98
+ - **test-skill**: A simple test skill
99
+ - **weather**: Get weather forecasts
100
+ ```
101
+
102
+ ## Installation
103
+
104
+ ```bash
105
+ pip install skills-mcp
106
+ ```
107
+
108
+ Or use with `uv`:
109
+ ```bash
110
+ uv tool install skills-mcp
111
+ ```
112
+
113
+ ## Usage
114
+
115
+ ```bash
116
+ # Run MCP server
117
+ skills-mcp /path/to/skills
118
+
119
+ # Generate metadata
120
+ skills-mcp --generate-metadata /path/to/skills
121
+
122
+ # Generate JSON metadata
123
+ skills-mcp --generate-metadata --format json /path/to/skills
124
+
125
+ # List discovered skills
126
+ skills-mcp --list-skills /path/to/skills
127
+ ```
128
+
129
+ ## Skill Format
130
+
131
+ Skills can be:
132
+ - **Directories** with SKILL.md file
133
+ - **Zip archives** containing SKILL.md
134
+ - **.skill archives**
135
+
136
+ Example structure:
137
+ ```
138
+ skills/
139
+ ├── weather/
140
+ │ ├── SKILL.md
141
+ │ └── references/
142
+ │ └── api.md
143
+ └── pptx.zip
144
+ ```
145
+
146
+ SKILL.md format:
147
+ ```markdown
148
+ ---
149
+ name: skill-name
150
+ description: Brief description
151
+ ---
152
+
153
+ # Full Instructions
154
+
155
+ Detailed skill instructions here...
156
+ ```
157
+
158
+ ## Building Docker Image
159
+
160
+ ```bash
161
+ docker build -t flowtrica/skills-mcp:latest .
162
+ docker push flowtrica/skills-mcp:latest
163
+ ```
164
+
165
+ ## Token Efficiency Comparison
166
+
167
+ | Approach | Tools/Request | Tokens/Request | 20 Skills |
168
+ |----------|--------------|----------------|-----------|
169
+ | Original | 20 tools | ~100 each | 2000 tokens |
170
+ | **Skills MCP** | **3 tools** | **~50 each** | **150 tokens** |
171
+ | **Improvement** | | | **13x better!** 🎉 |
172
+
173
+ ## License
174
+
175
+ MIT (same as original skillz)
176
+
177
+ ## Credits
178
+
179
+ - Based on [skillz](https://github.com/intellectronica/skillz) by Eleanor Berger
180
+ - Progressive disclosure modifications by Flowtrica
181
+ - Inspired by Claude.ai's skills system
182
+
183
+ ## Links
184
+
185
+ - Original skillz: https://github.com/intellectronica/skillz
186
+ - Skills repo: https://github.com/Flowtrica/agent-skills
187
+ - Docker Hub: https://hub.docker.com/r/flowtrica/skills-mcp
@@ -0,0 +1,52 @@
1
+ [project]
2
+ name = "progressive-skills-mcp"
3
+ version = "0.2.0"
4
+ description = "MCP server that exposes Claude-style skills to any MCP client."
5
+ readme = "README.md"
6
+ authors = [
7
+ { name = "Eleanor Berger", email = "eleanor@intellectronica.net" }
8
+ ]
9
+ requires-python = ">=3.12"
10
+ dependencies = [
11
+ "fastmcp>=2.2.5",
12
+ "pyyaml>=6.0",
13
+ ]
14
+ license = { file = "LICENSE" }
15
+ keywords = ["mcp", "skills", "fastmcp", "claude"]
16
+ classifiers = [
17
+ "Development Status :: 3 - Alpha",
18
+ "Intended Audience :: Developers",
19
+ "License :: OSI Approved :: MIT License",
20
+ "Programming Language :: Python",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Python :: 3.12",
23
+ ]
24
+
25
+ [project.urls]
26
+ Homepage = "https://github.com/Flowtrica/skills-mcp"
27
+ Issues = "https://github.com/Flowtrica/skills-mcp/issues"
28
+
29
+ [project.scripts]
30
+ progressive-skills-mcp = "progressive_skills_mcp.__main__:run"
31
+
32
+ [build-system]
33
+ requires = ["uv_build>=0.9.5,<0.10.0"]
34
+ build-backend = "uv_build"
35
+
36
+ [dependency-groups]
37
+ dev = [
38
+ "pytest>=8.4.2",
39
+ "pytest-asyncio>=0.23.7",
40
+ "ruff>=0.6.9",
41
+ ]
42
+
43
+ [tool.uv]
44
+ package = true
45
+ default-groups = ["dev"]
46
+
47
+ [tool.ruff]
48
+ line-length = 79
49
+ target-version = "py312"
50
+
51
+ [tool.ruff.lint]
52
+ select = ["E", "W", "F"]
@@ -0,0 +1,29 @@
1
+ """Public package interface for the Skillz MCP server."""
2
+
3
+ from ._version import __version__
4
+ from ._server import (
5
+ Skill,
6
+ SkillError,
7
+ SkillMetadata,
8
+ SkillRegistry,
9
+ SkillValidationError,
10
+ build_server,
11
+ configure_logging,
12
+ list_skills,
13
+ main,
14
+ parse_args,
15
+ )
16
+
17
+ __all__ = [
18
+ "Skill",
19
+ "SkillError",
20
+ "SkillMetadata",
21
+ "SkillRegistry",
22
+ "SkillValidationError",
23
+ "build_server",
24
+ "configure_logging",
25
+ "list_skills",
26
+ "main",
27
+ "parse_args",
28
+ "__version__",
29
+ ]
@@ -0,0 +1,13 @@
1
+ """Console script entry point for the Skillz MCP server."""
2
+
3
+ from ._server import main
4
+
5
+
6
+ def run() -> None:
7
+ """Execute the CLI using the stored entry point."""
8
+
9
+ main()
10
+
11
+
12
+ if __name__ == "__main__":
13
+ run()