skill-seekers 2.7.3__py3-none-any.whl
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.
- skill_seekers/__init__.py +22 -0
- skill_seekers/cli/__init__.py +39 -0
- skill_seekers/cli/adaptors/__init__.py +120 -0
- skill_seekers/cli/adaptors/base.py +221 -0
- skill_seekers/cli/adaptors/claude.py +485 -0
- skill_seekers/cli/adaptors/gemini.py +453 -0
- skill_seekers/cli/adaptors/markdown.py +269 -0
- skill_seekers/cli/adaptors/openai.py +503 -0
- skill_seekers/cli/ai_enhancer.py +310 -0
- skill_seekers/cli/api_reference_builder.py +373 -0
- skill_seekers/cli/architectural_pattern_detector.py +525 -0
- skill_seekers/cli/code_analyzer.py +1462 -0
- skill_seekers/cli/codebase_scraper.py +1225 -0
- skill_seekers/cli/config_command.py +563 -0
- skill_seekers/cli/config_enhancer.py +431 -0
- skill_seekers/cli/config_extractor.py +871 -0
- skill_seekers/cli/config_manager.py +452 -0
- skill_seekers/cli/config_validator.py +394 -0
- skill_seekers/cli/conflict_detector.py +528 -0
- skill_seekers/cli/constants.py +72 -0
- skill_seekers/cli/dependency_analyzer.py +757 -0
- skill_seekers/cli/doc_scraper.py +2332 -0
- skill_seekers/cli/enhance_skill.py +488 -0
- skill_seekers/cli/enhance_skill_local.py +1096 -0
- skill_seekers/cli/enhance_status.py +194 -0
- skill_seekers/cli/estimate_pages.py +433 -0
- skill_seekers/cli/generate_router.py +1209 -0
- skill_seekers/cli/github_fetcher.py +534 -0
- skill_seekers/cli/github_scraper.py +1466 -0
- skill_seekers/cli/guide_enhancer.py +723 -0
- skill_seekers/cli/how_to_guide_builder.py +1267 -0
- skill_seekers/cli/install_agent.py +461 -0
- skill_seekers/cli/install_skill.py +178 -0
- skill_seekers/cli/language_detector.py +614 -0
- skill_seekers/cli/llms_txt_detector.py +60 -0
- skill_seekers/cli/llms_txt_downloader.py +104 -0
- skill_seekers/cli/llms_txt_parser.py +150 -0
- skill_seekers/cli/main.py +558 -0
- skill_seekers/cli/markdown_cleaner.py +132 -0
- skill_seekers/cli/merge_sources.py +806 -0
- skill_seekers/cli/package_multi.py +77 -0
- skill_seekers/cli/package_skill.py +241 -0
- skill_seekers/cli/pattern_recognizer.py +1825 -0
- skill_seekers/cli/pdf_extractor_poc.py +1166 -0
- skill_seekers/cli/pdf_scraper.py +617 -0
- skill_seekers/cli/quality_checker.py +519 -0
- skill_seekers/cli/rate_limit_handler.py +438 -0
- skill_seekers/cli/resume_command.py +160 -0
- skill_seekers/cli/run_tests.py +230 -0
- skill_seekers/cli/setup_wizard.py +93 -0
- skill_seekers/cli/split_config.py +390 -0
- skill_seekers/cli/swift_patterns.py +560 -0
- skill_seekers/cli/test_example_extractor.py +1081 -0
- skill_seekers/cli/test_unified_simple.py +179 -0
- skill_seekers/cli/unified_codebase_analyzer.py +572 -0
- skill_seekers/cli/unified_scraper.py +932 -0
- skill_seekers/cli/unified_skill_builder.py +1605 -0
- skill_seekers/cli/upload_skill.py +162 -0
- skill_seekers/cli/utils.py +432 -0
- skill_seekers/mcp/__init__.py +33 -0
- skill_seekers/mcp/agent_detector.py +316 -0
- skill_seekers/mcp/git_repo.py +273 -0
- skill_seekers/mcp/server.py +231 -0
- skill_seekers/mcp/server_fastmcp.py +1249 -0
- skill_seekers/mcp/server_legacy.py +2302 -0
- skill_seekers/mcp/source_manager.py +285 -0
- skill_seekers/mcp/tools/__init__.py +115 -0
- skill_seekers/mcp/tools/config_tools.py +251 -0
- skill_seekers/mcp/tools/packaging_tools.py +826 -0
- skill_seekers/mcp/tools/scraping_tools.py +842 -0
- skill_seekers/mcp/tools/source_tools.py +828 -0
- skill_seekers/mcp/tools/splitting_tools.py +212 -0
- skill_seekers/py.typed +0 -0
- skill_seekers-2.7.3.dist-info/METADATA +2027 -0
- skill_seekers-2.7.3.dist-info/RECORD +79 -0
- skill_seekers-2.7.3.dist-info/WHEEL +5 -0
- skill_seekers-2.7.3.dist-info/entry_points.txt +19 -0
- skill_seekers-2.7.3.dist-info/licenses/LICENSE +21 -0
- skill_seekers-2.7.3.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Skill Seeker MCP Server - Compatibility Shim
|
|
4
|
+
|
|
5
|
+
This file provides backward compatibility by delegating to the new server_fastmcp.py implementation.
|
|
6
|
+
|
|
7
|
+
For new installations, use server_fastmcp.py directly:
|
|
8
|
+
python -m skill_seekers.mcp.server_fastmcp
|
|
9
|
+
|
|
10
|
+
This shim will be deprecated in v3.0.0 (6+ months after v2.4.0 release).
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
import sys
|
|
14
|
+
import warnings
|
|
15
|
+
|
|
16
|
+
# Show deprecation warning (can be disabled with PYTHONWARNINGS=ignore)
|
|
17
|
+
warnings.warn(
|
|
18
|
+
"The legacy server.py is deprecated and will be removed in v3.0.0. "
|
|
19
|
+
"Please update your MCP configuration to use 'server_fastmcp' instead:\n"
|
|
20
|
+
" OLD: python -m skill_seekers.mcp.server\n"
|
|
21
|
+
" NEW: python -m skill_seekers.mcp.server_fastmcp\n"
|
|
22
|
+
"The new server provides the same functionality with improved performance.",
|
|
23
|
+
DeprecationWarning,
|
|
24
|
+
stacklevel=2,
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
# Re-export tool functions for backward compatibility with tests
|
|
28
|
+
try:
|
|
29
|
+
from skill_seekers.mcp.tools.config_tools import (
|
|
30
|
+
generate_config as generate_config_tool,
|
|
31
|
+
)
|
|
32
|
+
from skill_seekers.mcp.tools.config_tools import (
|
|
33
|
+
list_configs as list_configs_tool,
|
|
34
|
+
)
|
|
35
|
+
from skill_seekers.mcp.tools.config_tools import (
|
|
36
|
+
validate_config as validate_config_tool,
|
|
37
|
+
)
|
|
38
|
+
from skill_seekers.mcp.tools.packaging_tools import (
|
|
39
|
+
install_skill_tool,
|
|
40
|
+
package_skill_tool,
|
|
41
|
+
upload_skill_tool,
|
|
42
|
+
)
|
|
43
|
+
from skill_seekers.mcp.tools.scraping_tools import (
|
|
44
|
+
detect_patterns_tool,
|
|
45
|
+
estimate_pages_tool,
|
|
46
|
+
extract_config_patterns_tool,
|
|
47
|
+
scrape_docs_tool,
|
|
48
|
+
scrape_github_tool,
|
|
49
|
+
scrape_pdf_tool,
|
|
50
|
+
)
|
|
51
|
+
from skill_seekers.mcp.tools.source_tools import (
|
|
52
|
+
add_config_source_tool,
|
|
53
|
+
fetch_config_tool,
|
|
54
|
+
list_config_sources_tool,
|
|
55
|
+
remove_config_source_tool,
|
|
56
|
+
submit_config_tool,
|
|
57
|
+
)
|
|
58
|
+
from skill_seekers.mcp.tools.splitting_tools import (
|
|
59
|
+
generate_router as generate_router_tool,
|
|
60
|
+
)
|
|
61
|
+
from skill_seekers.mcp.tools.splitting_tools import (
|
|
62
|
+
split_config as split_config_tool,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
# For test compatibility - create call_tool router function
|
|
66
|
+
async def call_tool(name: str, arguments: dict):
|
|
67
|
+
"""Route tool calls to appropriate handlers (backward compatibility)."""
|
|
68
|
+
from mcp.types import TextContent
|
|
69
|
+
|
|
70
|
+
try:
|
|
71
|
+
if name == "generate_config":
|
|
72
|
+
return await generate_config_tool(arguments)
|
|
73
|
+
elif name == "estimate_pages":
|
|
74
|
+
return await estimate_pages_tool(arguments)
|
|
75
|
+
elif name == "scrape_docs":
|
|
76
|
+
return await scrape_docs_tool(arguments)
|
|
77
|
+
elif name == "package_skill":
|
|
78
|
+
return await package_skill_tool(arguments)
|
|
79
|
+
elif name == "upload_skill":
|
|
80
|
+
return await upload_skill_tool(arguments)
|
|
81
|
+
elif name == "list_configs":
|
|
82
|
+
return await list_configs_tool(arguments)
|
|
83
|
+
elif name == "validate_config":
|
|
84
|
+
return await validate_config_tool(arguments)
|
|
85
|
+
elif name == "split_config":
|
|
86
|
+
return await split_config_tool(arguments)
|
|
87
|
+
elif name == "generate_router":
|
|
88
|
+
return await generate_router_tool(arguments)
|
|
89
|
+
elif name == "scrape_pdf":
|
|
90
|
+
return await scrape_pdf_tool(arguments)
|
|
91
|
+
elif name == "scrape_github":
|
|
92
|
+
return await scrape_github_tool(arguments)
|
|
93
|
+
elif name == "fetch_config":
|
|
94
|
+
return await fetch_config_tool(arguments)
|
|
95
|
+
elif name == "submit_config":
|
|
96
|
+
return await submit_config_tool(arguments)
|
|
97
|
+
elif name == "add_config_source":
|
|
98
|
+
return await add_config_source_tool(arguments)
|
|
99
|
+
elif name == "list_config_sources":
|
|
100
|
+
return await list_config_sources_tool(arguments)
|
|
101
|
+
elif name == "remove_config_source":
|
|
102
|
+
return await remove_config_source_tool(arguments)
|
|
103
|
+
elif name == "install_skill":
|
|
104
|
+
return await install_skill_tool(arguments)
|
|
105
|
+
elif name == "detect_patterns":
|
|
106
|
+
return await detect_patterns_tool(arguments)
|
|
107
|
+
elif name == "extract_config_patterns":
|
|
108
|
+
return await extract_config_patterns_tool(arguments)
|
|
109
|
+
else:
|
|
110
|
+
return [TextContent(type="text", text=f"Unknown tool: {name}")]
|
|
111
|
+
except Exception as e:
|
|
112
|
+
return [TextContent(type="text", text=f"Error: {str(e)}")]
|
|
113
|
+
|
|
114
|
+
# For test compatibility - create a mock list_tools function
|
|
115
|
+
async def list_tools():
|
|
116
|
+
"""Mock list_tools for backward compatibility with tests."""
|
|
117
|
+
from mcp.types import Tool
|
|
118
|
+
|
|
119
|
+
tools = [
|
|
120
|
+
Tool(
|
|
121
|
+
name="generate_config",
|
|
122
|
+
description="Generate config file",
|
|
123
|
+
inputSchema={"type": "object", "properties": {}},
|
|
124
|
+
),
|
|
125
|
+
Tool(
|
|
126
|
+
name="list_configs",
|
|
127
|
+
description="List available configs",
|
|
128
|
+
inputSchema={"type": "object", "properties": {}},
|
|
129
|
+
),
|
|
130
|
+
Tool(
|
|
131
|
+
name="validate_config",
|
|
132
|
+
description="Validate config file",
|
|
133
|
+
inputSchema={"type": "object", "properties": {}},
|
|
134
|
+
),
|
|
135
|
+
Tool(
|
|
136
|
+
name="estimate_pages",
|
|
137
|
+
description="Estimate page count",
|
|
138
|
+
inputSchema={"type": "object", "properties": {}},
|
|
139
|
+
),
|
|
140
|
+
Tool(
|
|
141
|
+
name="scrape_docs",
|
|
142
|
+
description="Scrape documentation",
|
|
143
|
+
inputSchema={"type": "object", "properties": {}},
|
|
144
|
+
),
|
|
145
|
+
Tool(
|
|
146
|
+
name="scrape_github",
|
|
147
|
+
description="Scrape GitHub repository",
|
|
148
|
+
inputSchema={"type": "object", "properties": {}},
|
|
149
|
+
),
|
|
150
|
+
Tool(
|
|
151
|
+
name="scrape_pdf",
|
|
152
|
+
description="Scrape PDF file",
|
|
153
|
+
inputSchema={"type": "object", "properties": {}},
|
|
154
|
+
),
|
|
155
|
+
Tool(
|
|
156
|
+
name="package_skill",
|
|
157
|
+
description="Package skill into .zip",
|
|
158
|
+
inputSchema={"type": "object", "properties": {}},
|
|
159
|
+
),
|
|
160
|
+
Tool(
|
|
161
|
+
name="upload_skill",
|
|
162
|
+
description="Upload skill to Claude",
|
|
163
|
+
inputSchema={"type": "object", "properties": {}},
|
|
164
|
+
),
|
|
165
|
+
Tool(
|
|
166
|
+
name="install_skill",
|
|
167
|
+
description="Install skill",
|
|
168
|
+
inputSchema={"type": "object", "properties": {}},
|
|
169
|
+
),
|
|
170
|
+
Tool(
|
|
171
|
+
name="split_config",
|
|
172
|
+
description="Split large config",
|
|
173
|
+
inputSchema={"type": "object", "properties": {}},
|
|
174
|
+
),
|
|
175
|
+
Tool(
|
|
176
|
+
name="generate_router",
|
|
177
|
+
description="Generate router skill",
|
|
178
|
+
inputSchema={"type": "object", "properties": {}},
|
|
179
|
+
),
|
|
180
|
+
Tool(
|
|
181
|
+
name="fetch_config",
|
|
182
|
+
description="Fetch config from source",
|
|
183
|
+
inputSchema={"type": "object", "properties": {}},
|
|
184
|
+
),
|
|
185
|
+
Tool(
|
|
186
|
+
name="submit_config",
|
|
187
|
+
description="Submit config to community",
|
|
188
|
+
inputSchema={"type": "object", "properties": {}},
|
|
189
|
+
),
|
|
190
|
+
Tool(
|
|
191
|
+
name="add_config_source",
|
|
192
|
+
description="Add config source",
|
|
193
|
+
inputSchema={"type": "object", "properties": {}},
|
|
194
|
+
),
|
|
195
|
+
Tool(
|
|
196
|
+
name="list_config_sources",
|
|
197
|
+
description="List config sources",
|
|
198
|
+
inputSchema={"type": "object", "properties": {}},
|
|
199
|
+
),
|
|
200
|
+
Tool(
|
|
201
|
+
name="remove_config_source",
|
|
202
|
+
description="Remove config source",
|
|
203
|
+
inputSchema={"type": "object", "properties": {}},
|
|
204
|
+
),
|
|
205
|
+
Tool(
|
|
206
|
+
name="extract_config_patterns",
|
|
207
|
+
description="Extract configuration patterns from config files",
|
|
208
|
+
inputSchema={"type": "object", "properties": {}},
|
|
209
|
+
),
|
|
210
|
+
]
|
|
211
|
+
return tools
|
|
212
|
+
|
|
213
|
+
except ImportError:
|
|
214
|
+
# If imports fail, provide empty stubs
|
|
215
|
+
pass
|
|
216
|
+
|
|
217
|
+
# Delegate to the new FastMCP implementation
|
|
218
|
+
if __name__ == "__main__":
|
|
219
|
+
try:
|
|
220
|
+
from skill_seekers.mcp import server_fastmcp
|
|
221
|
+
|
|
222
|
+
# Run the new server
|
|
223
|
+
server_fastmcp.main()
|
|
224
|
+
except ImportError as e:
|
|
225
|
+
print(f"❌ Error: Could not import server_fastmcp: {e}", file=sys.stderr)
|
|
226
|
+
print("Ensure the package is installed correctly:", file=sys.stderr)
|
|
227
|
+
print(" pip install -e .", file=sys.stderr)
|
|
228
|
+
sys.exit(1)
|
|
229
|
+
except Exception as e:
|
|
230
|
+
print(f"❌ Error running server: {e}", file=sys.stderr)
|
|
231
|
+
sys.exit(1)
|