skillpkg-mcp-server 0.1.0 → 0.2.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.
@@ -0,0 +1,39 @@
1
+ /**
2
+ * GitHub-based skill search
3
+ *
4
+ * Uses GitHub API to find AI agent skills in SKILL.md format.
5
+ * SKILL.md is the industry standard used by Claude Code and OpenAI Codex.
6
+ */
7
+ export interface GitHubSkillResult {
8
+ name: string;
9
+ fullName: string;
10
+ description: string;
11
+ url: string;
12
+ stars: number;
13
+ language: string | null;
14
+ topics: string[];
15
+ updatedAt: string;
16
+ hasSkill: boolean;
17
+ skillFile?: string;
18
+ installSource?: string;
19
+ }
20
+ export interface GitHubSearchOptions {
21
+ limit?: number;
22
+ }
23
+ /**
24
+ * Search for AI agent skills on GitHub
25
+ */
26
+ export declare function searchGitHubSkills(query: string, options?: GitHubSearchOptions): Promise<GitHubSkillResult[]>;
27
+ /**
28
+ * Get skill info from a specific GitHub repository
29
+ */
30
+ export declare function getGitHubSkillInfo(repoFullName: string): Promise<GitHubSkillResult | null>;
31
+ /**
32
+ * Fetch and parse SKILL.md content from a repository
33
+ */
34
+ export declare function fetchSkillContent(repoFullName: string, skillFile: string): Promise<{
35
+ name: string;
36
+ description: string;
37
+ instructions: string;
38
+ } | null>;
39
+ //# sourceMappingURL=github-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-search.d.ts","sourceRoot":"","sources":["../../src/tools/github-search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuFD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAkE9B;AAoBD;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAmCnC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CA0B7E"}
@@ -0,0 +1,197 @@
1
+ /**
2
+ * GitHub-based skill search
3
+ *
4
+ * Uses GitHub API to find AI agent skills in SKILL.md format.
5
+ * SKILL.md is the industry standard used by Claude Code and OpenAI Codex.
6
+ */
7
+ import { parse as parseYaml } from 'yaml';
8
+ /**
9
+ * Parse markdown frontmatter (YAML between --- markers)
10
+ */
11
+ function parseFrontmatter(content) {
12
+ const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);
13
+ if (!match) {
14
+ return null;
15
+ }
16
+ try {
17
+ const frontmatter = parseYaml(match[1]);
18
+ return { frontmatter, body: match[2] };
19
+ }
20
+ catch {
21
+ return null;
22
+ }
23
+ }
24
+ /**
25
+ * Check if a repository has a SKILL.md file
26
+ */
27
+ async function detectSkillMd(repoFullName) {
28
+ // Check common SKILL.md locations
29
+ const paths = [
30
+ 'SKILL.md',
31
+ 'skill.md',
32
+ 'skills/SKILL.md',
33
+ 'skills/skill.md',
34
+ '.claude/skills/skill.md',
35
+ ];
36
+ for (const path of paths) {
37
+ const rawUrl = `https://raw.githubusercontent.com/${repoFullName}/HEAD/${path}`;
38
+ try {
39
+ const response = await fetch(rawUrl, {
40
+ headers: { 'User-Agent': 'skillpkg-mcp-server' },
41
+ });
42
+ if (!response.ok)
43
+ continue;
44
+ const content = await response.text();
45
+ const parsed = parseFrontmatter(content);
46
+ // Valid SKILL.md has frontmatter with name
47
+ if (parsed && parsed.frontmatter.name) {
48
+ return { hasSkill: true, skillFile: path };
49
+ }
50
+ }
51
+ catch {
52
+ continue;
53
+ }
54
+ }
55
+ return { hasSkill: false };
56
+ }
57
+ /**
58
+ * Search for AI agent skills on GitHub
59
+ */
60
+ export async function searchGitHubSkills(query, options = {}) {
61
+ const limit = options.limit || 20;
62
+ // Build search query
63
+ const searchQuery = buildSearchQuery(query);
64
+ const url = `https://api.github.com/search/repositories?q=${encodeURIComponent(searchQuery)}&sort=stars&order=desc&per_page=${limit}`;
65
+ try {
66
+ const response = await fetch(url, {
67
+ headers: {
68
+ Accept: 'application/vnd.github.v3+json',
69
+ 'User-Agent': 'skillpkg-mcp-server',
70
+ ...(process.env.GITHUB_TOKEN && {
71
+ Authorization: `token ${process.env.GITHUB_TOKEN}`,
72
+ }),
73
+ },
74
+ });
75
+ if (!response.ok) {
76
+ if (response.status === 403) {
77
+ throw new Error('GitHub API rate limit exceeded. Set GITHUB_TOKEN env var for higher limits.');
78
+ }
79
+ if (response.status === 422) {
80
+ return [];
81
+ }
82
+ throw new Error(`GitHub API error: ${response.status} ${response.statusText}`);
83
+ }
84
+ const data = (await response.json());
85
+ const results = [];
86
+ for (const item of data.items) {
87
+ const detection = await detectSkillMd(item.full_name);
88
+ results.push({
89
+ name: item.name,
90
+ fullName: item.full_name,
91
+ description: item.description || '',
92
+ url: item.html_url,
93
+ stars: item.stargazers_count,
94
+ language: item.language,
95
+ topics: item.topics || [],
96
+ updatedAt: item.updated_at,
97
+ hasSkill: detection.hasSkill,
98
+ skillFile: detection.skillFile,
99
+ installSource: detection.hasSkill ? `github:${item.full_name}` : undefined,
100
+ });
101
+ }
102
+ // Sort: skills with SKILL.md first, then by stars
103
+ results.sort((a, b) => {
104
+ if (a.hasSkill && !b.hasSkill)
105
+ return -1;
106
+ if (!a.hasSkill && b.hasSkill)
107
+ return 1;
108
+ return b.stars - a.stars;
109
+ });
110
+ return results;
111
+ }
112
+ catch (error) {
113
+ if (error instanceof Error) {
114
+ throw error;
115
+ }
116
+ throw new Error(`GitHub search failed: ${String(error)}`);
117
+ }
118
+ }
119
+ /**
120
+ * Build an optimized search query for AI agent skills
121
+ */
122
+ function buildSearchQuery(userQuery) {
123
+ const queryLower = userQuery.toLowerCase();
124
+ // If user already included skill-related terms, use as-is
125
+ const skillTerms = ['skill', 'agent', 'prompt', 'ai', 'llm', 'claude', 'gpt', 'mcp'];
126
+ const hasSkillTerm = skillTerms.some((term) => queryLower.includes(term));
127
+ if (hasSkillTerm) {
128
+ return userQuery;
129
+ }
130
+ // Add context for better AI skill results
131
+ return `${userQuery} skill OR agent OR prompt`;
132
+ }
133
+ /**
134
+ * Get skill info from a specific GitHub repository
135
+ */
136
+ export async function getGitHubSkillInfo(repoFullName) {
137
+ try {
138
+ const response = await fetch(`https://api.github.com/repos/${repoFullName}`, {
139
+ headers: {
140
+ Accept: 'application/vnd.github.v3+json',
141
+ 'User-Agent': 'skillpkg-mcp-server',
142
+ ...(process.env.GITHUB_TOKEN && {
143
+ Authorization: `token ${process.env.GITHUB_TOKEN}`,
144
+ }),
145
+ },
146
+ });
147
+ if (!response.ok) {
148
+ return null;
149
+ }
150
+ const item = (await response.json());
151
+ const detection = await detectSkillMd(item.full_name);
152
+ return {
153
+ name: item.name,
154
+ fullName: item.full_name,
155
+ description: item.description || '',
156
+ url: item.html_url,
157
+ stars: item.stargazers_count,
158
+ language: item.language,
159
+ topics: item.topics || [],
160
+ updatedAt: item.updated_at,
161
+ hasSkill: detection.hasSkill,
162
+ skillFile: detection.skillFile,
163
+ installSource: detection.hasSkill ? `github:${item.full_name}` : undefined,
164
+ };
165
+ }
166
+ catch {
167
+ return null;
168
+ }
169
+ }
170
+ /**
171
+ * Fetch and parse SKILL.md content from a repository
172
+ */
173
+ export async function fetchSkillContent(repoFullName, skillFile) {
174
+ const rawUrl = `https://raw.githubusercontent.com/${repoFullName}/HEAD/${skillFile}`;
175
+ try {
176
+ const response = await fetch(rawUrl, {
177
+ headers: { 'User-Agent': 'skillpkg-mcp-server' },
178
+ });
179
+ if (!response.ok)
180
+ return null;
181
+ const content = await response.text();
182
+ const parsed = parseFrontmatter(content);
183
+ if (!parsed)
184
+ return null;
185
+ return {
186
+ name: parsed.frontmatter.name || '',
187
+ description: parsed.frontmatter.description ||
188
+ parsed.frontmatter.metadata?.['short-description'] ||
189
+ '',
190
+ instructions: parsed.body,
191
+ };
192
+ }
193
+ catch {
194
+ return null;
195
+ }
196
+ }
197
+ //# sourceMappingURL=github-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-search.js","sourceRoot":"","sources":["../../src/tools/github-search.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Tool: install_skill
3
3
  *
4
- * Installs a skill from registry, GitHub, Gist, URL, or local path.
4
+ * Installs a skill from GitHub, Gist, URL, or local path.
5
+ * Supports SKILL.md format (industry standard for Claude Code and OpenAI Codex).
5
6
  */
6
7
  import type { ToolHandler } from '../types.js';
7
8
  export declare function createInstallSkillHandler(): ToolHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"install-skill.d.ts","sourceRoot":"","sources":["../../src/tools/install-skill.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAiE,MAAM,aAAa,CAAC;AA+H9G,wBAAgB,yBAAyB,IAAI,WAAW,CAwIvD"}
1
+ {"version":3,"file":"install-skill.d.ts","sourceRoot":"","sources":["../../src/tools/install-skill.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAiE,MAAM,aAAa,CAAC;AA+L9G,wBAAgB,yBAAyB,IAAI,WAAW,CAyHvD"}
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * Tool: install_skill
3
3
  *
4
- * Installs a skill from registry, GitHub, Gist, URL, or local path.
4
+ * Installs a skill from GitHub, Gist, URL, or local path.
5
+ * Supports SKILL.md format (industry standard for Claude Code and OpenAI Codex).
5
6
  */
6
- import { getStore, getRegistryClient, successResult, errorResult, validateString, validateScope } from './utils.js';
7
+ import { getStore, successResult, errorResult, validateString, validateScope } from './utils.js';
7
8
  import { InvalidSourceError } from '../types.js';
8
9
  import { parse as parseSkillYaml } from 'skillpkg-core';
10
+ import { parse as parseYaml } from 'yaml';
9
11
  /**
10
12
  * Parse source string to determine source type
11
13
  */
@@ -29,11 +31,9 @@ function parseSource(source) {
29
31
  if (source.startsWith('./') || source.startsWith('/') || source.startsWith('../')) {
30
32
  return { type: 'local', value: source };
31
33
  }
32
- // Registry: skill name (alphanumeric with hyphens)
33
- if (/^[a-z][a-z0-9-]*$/.test(source)) {
34
- return { type: 'registry', value: source };
35
- }
36
- throw new InvalidSourceError(source);
34
+ // Simple skill names are no longer supported (no central registry)
35
+ // Suggest using github:owner/repo format instead
36
+ throw new InvalidSourceError(`Invalid source "${source}". Use one of: github:owner/repo, gist:id, https://url, or ./local/path`);
37
37
  }
38
38
  /**
39
39
  * Fetch skill content from URL
@@ -45,15 +45,62 @@ async function fetchSkillFromUrl(url) {
45
45
  }
46
46
  return response.text();
47
47
  }
48
+ function parseSkillMdFrontmatter(content) {
49
+ const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);
50
+ if (!match) {
51
+ return null;
52
+ }
53
+ try {
54
+ const frontmatter = parseYaml(match[1]);
55
+ return { frontmatter, body: match[2] };
56
+ }
57
+ catch {
58
+ return null;
59
+ }
60
+ }
48
61
  /**
49
- * Fetch skill from GitHub repo (raw skill.yaml)
62
+ * Fetch skill from GitHub repo (SKILL.md or skill.yaml)
50
63
  */
51
64
  async function fetchSkillFromGitHub(repo) {
52
- // Try common locations for skill.yaml
53
- const paths = ['skill.yaml', 'skill.yml', '.claude/skill.yaml'];
54
- const branches = ['main', 'master'];
65
+ // Try SKILL.md first (industry standard), then fall back to skill.yaml
66
+ const skillMdPaths = [
67
+ 'SKILL.md',
68
+ 'skill.md',
69
+ 'skills/SKILL.md',
70
+ 'skills/skill.md',
71
+ '.claude/skills/skill.md',
72
+ ];
73
+ const skillYamlPaths = ['skill.yaml', 'skill.yml', '.claude/skill.yaml'];
74
+ const branches = ['main', 'master', 'HEAD'];
75
+ // Try SKILL.md first
76
+ for (const branch of branches) {
77
+ for (const path of skillMdPaths) {
78
+ const url = `https://raw.githubusercontent.com/${repo}/${branch}/${path}`;
79
+ try {
80
+ const content = await fetchSkillFromUrl(url);
81
+ const parsed = parseSkillMdFrontmatter(content);
82
+ if (parsed && parsed.frontmatter.name) {
83
+ // Convert SKILL.md to skill.yaml format for compatibility
84
+ const skillYaml = {
85
+ schema: '1.0',
86
+ name: parsed.frontmatter.name,
87
+ version: parsed.frontmatter.version || '1.0.0',
88
+ description: parsed.frontmatter.description ||
89
+ parsed.frontmatter.metadata?.['short-description'] ||
90
+ '',
91
+ instructions: parsed.body,
92
+ };
93
+ return `schema: "1.0"\nname: ${skillYaml.name}\nversion: ${skillYaml.version}\ndescription: ${JSON.stringify(skillYaml.description)}\ninstructions: |\n${parsed.body.split('\n').map((l) => ' ' + l).join('\n')}`;
94
+ }
95
+ }
96
+ catch {
97
+ // Try next path/branch
98
+ }
99
+ }
100
+ }
101
+ // Fall back to skill.yaml
55
102
  for (const branch of branches) {
56
- for (const path of paths) {
103
+ for (const path of skillYamlPaths) {
57
104
  const url = `https://raw.githubusercontent.com/${repo}/${branch}/${path}`;
58
105
  try {
59
106
  const content = await fetchSkillFromUrl(url);
@@ -64,7 +111,7 @@ async function fetchSkillFromGitHub(repo) {
64
111
  }
65
112
  }
66
113
  }
67
- throw new Error(`Could not find skill.yaml in repository ${repo}`);
114
+ throw new Error(`Could not find SKILL.md or skill.yaml in repository ${repo}`);
68
115
  }
69
116
  /**
70
117
  * Fetch skill from Gist
@@ -112,13 +159,12 @@ async function fetchSkillFromLocal(path) {
112
159
  export function createInstallSkillHandler() {
113
160
  return {
114
161
  name: 'install_skill',
115
- description: `Install a skill from various sources.
162
+ description: `Install a skill from various sources. Supports SKILL.md format (industry standard for Claude Code and OpenAI Codex).
116
163
 
117
164
  Supported source formats:
118
- • Registry: skill-name (e.g., "commit-helper")
119
165
  • GitHub: github:user/repo or user/repo (e.g., "anthropics/claude-code-skills")
120
166
  • Gist: gist:id (e.g., "gist:abc123")
121
- • URL: https://... (direct link to skill.yaml)
167
+ • URL: https://... (direct link to SKILL.md or skill.yaml)
122
168
  • Local: ./path or /absolute/path (local file or directory)`,
123
169
  inputSchema: {
124
170
  type: 'object',
@@ -146,20 +192,6 @@ Supported source formats:
146
192
  // Fetch skill content based on source type
147
193
  let skillContent;
148
194
  switch (type) {
149
- case 'registry': {
150
- // Download from registry
151
- const client = getRegistryClient();
152
- const info = await client.getSkillInfo(value);
153
- // For now, fetch the skill.yaml URL if available
154
- // In future, download tarball and extract
155
- if (info.repository) {
156
- skillContent = await fetchSkillFromGitHub(info.repository.replace('https://github.com/', ''));
157
- }
158
- else {
159
- throw new Error(`Registry skill "${value}" does not have a repository URL`);
160
- }
161
- break;
162
- }
163
195
  case 'github':
164
196
  skillContent = await fetchSkillFromGitHub(value);
165
197
  break;
@@ -204,7 +236,7 @@ Supported source formats:
204
236
  }
205
237
  // Add the skill
206
238
  await store.addSkill(skill, {
207
- source: type === 'local' ? 'local' : type === 'registry' ? 'registry' : 'import',
239
+ source: type === 'local' ? 'local' : 'import',
208
240
  sourceUrl: sourceStr,
209
241
  });
210
242
  const output = {
@@ -1 +1 @@
1
- {"version":3,"file":"install-skill.js","sourceRoot":"","sources":["../../src/tools/install-skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-skill.js","sourceRoot":"","sources":["../../src/tools/install-skill.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Tool: recommend_skill
3
3
  *
4
4
  * Recommends the best skill for a given use case.
5
+ * Searches GitHub for repositories with SKILL.md files.
5
6
  */
6
7
  import type { ToolHandler } from '../types.js';
7
8
  export declare function createRecommendSkillHandler(): ToolHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"recommend-skill.d.ts","sourceRoot":"","sources":["../../src/tools/recommend-skill.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EAOZ,MAAM,aAAa,CAAC;AAGrB,wBAAgB,2BAA2B,IAAI,WAAW,CAuJzD"}
1
+ {"version":3,"file":"recommend-skill.d.ts","sourceRoot":"","sources":["../../src/tools/recommend-skill.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,WAAW,EAOZ,MAAM,aAAa,CAAC;AAIrB,wBAAgB,2BAA2B,IAAI,WAAW,CAmKzD"}
@@ -2,8 +2,10 @@
2
2
  * Tool: recommend_skill
3
3
  *
4
4
  * Recommends the best skill for a given use case.
5
+ * Searches GitHub for repositories with SKILL.md files.
5
6
  */
6
- import { getRegistryClient, successResult, errorResult, validateString, calculateRelevanceScore } from './utils.js';
7
+ import { successResult, errorResult, validateString, calculateRelevanceScore } from './utils.js';
8
+ import { searchGitHubSkills } from './github-search.js';
7
9
  export function createRecommendSkillHandler() {
8
10
  return {
9
11
  name: 'recommend_skill',
@@ -29,28 +31,31 @@ export function createRecommendSkillHandler() {
29
31
  try {
30
32
  const query = validateString(input.query, 'query');
31
33
  const criteria = input.criteria || 'auto';
32
- const client = getRegistryClient();
33
- // Search for relevant skills
34
- const searchResult = await client.search(query, { limit: 10 });
35
- if (searchResult.results.length === 0) {
36
- return successResult(`No skills found matching "${query}". Try a different search term or browse available skills with search_registry.`);
34
+ // Search GitHub for skills with SKILL.md
35
+ const githubResults = await searchGitHubSkills(query, { limit: 10 });
36
+ if (githubResults.length === 0) {
37
+ return successResult(`No skills found matching "${query}". Try a different search term or search GitHub manually for SKILL.md files.`);
37
38
  }
38
- const scoredSkills = searchResult.results.map((skill) => {
39
+ const scoredSkills = githubResults.map((skill) => {
39
40
  let score = calculateRelevanceScore({
40
41
  name: skill.name,
41
42
  description: skill.description,
42
- downloads: skill.downloads,
43
+ downloads: skill.stars, // Use stars as popularity metric
43
44
  updatedAt: skill.updatedAt,
44
- tags: skill.keywords,
45
+ tags: skill.topics,
45
46
  }, query);
47
+ // Boost repos with SKILL.md
48
+ if (skill.hasSkill) {
49
+ score += 30;
50
+ }
46
51
  // Adjust score based on criteria
47
52
  switch (criteria) {
48
53
  case 'popular':
49
- score = (skill.downloads || 0) / 1000 + score * 0.3;
54
+ score = skill.stars / 100 + score * 0.3;
50
55
  break;
51
56
  case 'highest_rated':
52
- // Rating not available yet, use downloads as proxy
53
- score = Math.log10((skill.downloads || 0) + 1) * 10 + score * 0.3;
57
+ // Use stars as rating proxy
58
+ score = Math.log10(skill.stars + 1) * 10 + score * 0.3;
54
59
  break;
55
60
  case 'newest':
56
61
  if (skill.updatedAt) {
@@ -66,57 +71,62 @@ export function createRecommendSkillHandler() {
66
71
  // Get top recommendation
67
72
  const topSkill = scoredSkills[0].skill;
68
73
  const recommendation = {
69
- id: topSkill.name,
74
+ id: topSkill.fullName,
70
75
  name: topSkill.name,
71
76
  description: topSkill.description,
72
- version: topSkill.version,
73
- rating: 0, // Not available yet
74
- downloads: topSkill.downloads || 0,
75
- updatedAt: topSkill.updatedAt || new Date().toISOString(),
76
- author: topSkill.author || 'Unknown',
77
- tags: topSkill.keywords || [],
77
+ version: '1.0.0', // GitHub doesn't have version info
78
+ rating: 0,
79
+ downloads: topSkill.stars,
80
+ updatedAt: topSkill.updatedAt,
81
+ author: topSkill.fullName.split('/')[0], // Extract owner from fullName
82
+ tags: topSkill.topics || [],
78
83
  };
79
84
  // Get alternatives (next 3)
80
85
  const alternatives = scoredSkills.slice(1, 4).map((item) => ({
81
86
  name: item.skill.name,
82
87
  description: item.skill.description,
83
- rating: 0, // Not available yet
88
+ rating: 0,
84
89
  }));
85
90
  // Generate reason based on criteria
86
91
  let reason = `"${recommendation.name}" is recommended because `;
92
+ const hasSkillMd = topSkill.hasSkill ? ' It has a SKILL.md file with proper instructions.' : '';
87
93
  switch (criteria) {
88
94
  case 'popular':
89
- reason += `it's the most popular skill (${recommendation.downloads} downloads) that matches your needs.`;
95
+ reason += `it's the most popular (⭐${recommendation.downloads}) that matches your needs.${hasSkillMd}`;
90
96
  break;
91
97
  case 'highest_rated':
92
- reason += `it has the highest rating (${recommendation.rating.toFixed(1)}) among matching skills.`;
98
+ reason += `it has the highest stars (⭐${recommendation.downloads}) among matching skills.${hasSkillMd}`;
93
99
  break;
94
100
  case 'newest':
95
- reason += `it was recently updated and matches your requirements.`;
101
+ reason += `it was recently updated and matches your requirements.${hasSkillMd}`;
96
102
  break;
97
103
  default:
98
- reason += `it best matches "${query}" based on name, description, popularity, and rating.`;
104
+ reason += `it best matches "${query}" based on name, description, and popularity.${hasSkillMd}`;
99
105
  }
106
+ // Determine install source
107
+ const installSource = topSkill.installSource || `github:${topSkill.fullName}`;
100
108
  const output = {
101
109
  recommendation,
102
110
  reason,
103
111
  alternatives,
104
- installCommand: `install_skill source: "${recommendation.name}"`,
112
+ installCommand: `install_skill source: "${installSource}"`,
105
113
  };
106
114
  // Format output
107
115
  let text = `## Recommended Skill\n\n`;
108
- text += `**${recommendation.name}** v${recommendation.version}\n`;
116
+ text += `**${recommendation.name}**${topSkill.hasSkill ? ' ✓ SKILL.md' : ''}\n`;
109
117
  text += `${recommendation.description}\n\n`;
110
- text += `⭐ ${recommendation.rating.toFixed(1)} | 📥 ${recommendation.downloads} downloads\n`;
111
- text += `Author: ${recommendation.author}\n`;
118
+ text += `⭐ ${recommendation.downloads} stars | 🔗 ${topSkill.url}\n`;
119
+ text += `Owner: ${recommendation.author}\n`;
112
120
  if (recommendation.tags.length > 0) {
113
- text += `Tags: ${recommendation.tags.join(', ')}\n`;
121
+ text += `Topics: ${recommendation.tags.join(', ')}\n`;
114
122
  }
115
123
  text += `\n**Why this skill?**\n${reason}\n`;
116
124
  if (alternatives.length > 0) {
117
125
  text += `\n## Alternatives\n\n`;
118
126
  for (const alt of alternatives) {
119
- text += `• **${alt.name}** (⭐${alt.rating.toFixed(1)})\n`;
127
+ const altSkill = scoredSkills.find((s) => s.skill.name === alt.name)?.skill;
128
+ const hasSkill = altSkill?.hasSkill ? ' ✓' : '';
129
+ text += `• **${alt.name}**${hasSkill} (⭐${altSkill?.stars || 0})\n`;
120
130
  text += ` ${alt.description}\n\n`;
121
131
  }
122
132
  }
@@ -125,7 +135,7 @@ export function createRecommendSkillHandler() {
125
135
  }
126
136
  catch (error) {
127
137
  const message = error instanceof Error ? error.message : String(error);
128
- return errorResult(`Recommendation failed: ${message}`);
138
+ return errorResult(`Recommendation failed: ${message}`, 'Set GITHUB_TOKEN environment variable for higher API rate limits.');
129
139
  }
130
140
  },
131
141
  };
@@ -1 +1 @@
1
- {"version":3,"file":"recommend-skill.js","sourceRoot":"","sources":["../../src/tools/recommend-skill.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAEpH,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,sHAAsH;QACxH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uEAAuE;iBACrF;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,CAAC;oBACpD,OAAO,EAAE,MAAM;oBACf,WAAW,EAAE,6EAA6E;iBAC3F;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QAED,KAAK,CAAC,OAAO,CAAC,IAAa;YACzB,MAAM,KAAK,GAAG,IAA2B,CAAC;YAE1C,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAsB,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC;gBAE7D,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;gBAEnC,6BAA6B;gBAC7B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBAE/D,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtC,OAAO,aAAa,CAClB,6BAA6B,KAAK,iFAAiF,CACpH,CAAC;gBACJ,CAAC;gBAID,MAAM,YAAY,GAAkB,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACrE,IAAI,KAAK,GAAG,uBAAuB,CACjC;wBACE,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,IAAI,EAAE,KAAK,CAAC,QAAQ;qBACrB,EACD,KAAK,CACN,CAAC;oBAEF,iCAAiC;oBACjC,QAAQ,QAAQ,EAAE,CAAC;wBACjB,KAAK,SAAS;4BACZ,KAAK,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,CAAC;4BACpD,MAAM;wBACR,KAAK,eAAe;4BAClB,mDAAmD;4BACnD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC;4BAClE,MAAM;wBACR,KAAK,QAAQ;4BACX,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gCACpB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAChC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAC3E,CAAC;gCACF,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,eAAe,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;4BAC3D,CAAC;4BACD,MAAM;wBACR,2CAA2C;oBAC7C,CAAC;oBAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBAEH,YAAY,CAAC,IAAI,CAAC,CAAC,CAAc,EAAE,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAEzE,yBAAyB;gBACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACvC,MAAM,cAAc,GAAqB;oBACvC,EAAE,EAAE,QAAQ,CAAC,IAAI;oBACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,MAAM,EAAE,CAAC,EAAE,oBAAoB;oBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,CAAC;oBAClC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACzD,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,SAAS;oBACpC,IAAI,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;iBAC9B,CAAC;gBAEF,4BAA4B;gBAC5B,MAAM,YAAY,GAAuB,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAiB,EAAE,EAAE,CAAC,CAAC;oBAC5F,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;oBACrB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;oBACnC,MAAM,EAAE,CAAC,EAAE,oBAAoB;iBAChC,CAAC,CAAC,CAAC;gBAEJ,oCAAoC;gBACpC,IAAI,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,2BAA2B,CAAC;gBAChE,QAAQ,QAAQ,EAAE,CAAC;oBACjB,KAAK,SAAS;wBACZ,MAAM,IAAI,gCAAgC,cAAc,CAAC,SAAS,sCAAsC,CAAC;wBACzG,MAAM;oBACR,KAAK,eAAe;wBAClB,MAAM,IAAI,8BAA8B,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC;wBACpG,MAAM;oBACR,KAAK,QAAQ;wBACX,MAAM,IAAI,wDAAwD,CAAC;wBACnE,MAAM;oBACR;wBACE,MAAM,IAAI,oBAAoB,KAAK,uDAAuD,CAAC;gBAC/F,CAAC;gBAED,MAAM,MAAM,GAAyB;oBACnC,cAAc;oBACd,MAAM;oBACN,YAAY;oBACZ,cAAc,EAAE,0BAA0B,cAAc,CAAC,IAAI,GAAG;iBACjE,CAAC;gBAEF,gBAAgB;gBAChB,IAAI,IAAI,GAAG,0BAA0B,CAAC;gBACtC,IAAI,IAAI,KAAK,cAAc,CAAC,IAAI,OAAO,cAAc,CAAC,OAAO,IAAI,CAAC;gBAClE,IAAI,IAAI,GAAG,cAAc,CAAC,WAAW,MAAM,CAAC;gBAC5C,IAAI,IAAI,KAAK,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,cAAc,CAAC,SAAS,cAAc,CAAC;gBAC7F,IAAI,IAAI,WAAW,cAAc,CAAC,MAAM,IAAI,CAAC;gBAC7C,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,IAAI,IAAI,SAAS,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtD,CAAC;gBACD,IAAI,IAAI,0BAA0B,MAAM,IAAI,CAAC;gBAE7C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,IAAI,IAAI,uBAAuB,CAAC;oBAChC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;wBAC/B,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;wBAC1D,IAAI,IAAI,KAAK,GAAG,CAAC,WAAW,MAAM,CAAC;oBACrC,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,wBAAwB,MAAM,CAAC,cAAc,EAAE,CAAC;gBAExD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO,WAAW,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"recommend-skill.js","sourceRoot":"","sources":["../../src/tools/recommend-skill.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAA0B,MAAM,oBAAoB,CAAC;AAEhF,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,sHAAsH;QACxH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uEAAuE;iBACrF;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,CAAC;oBACpD,OAAO,EAAE,MAAM;oBACf,WAAW,EAAE,6EAA6E;iBAC3F;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QAED,KAAK,CAAC,OAAO,CAAC,IAAa;YACzB,MAAM,KAAK,GAAG,IAA2B,CAAC;YAE1C,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAsB,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC;gBAE7D,yCAAyC;gBACzC,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;gBAErE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,OAAO,aAAa,CAClB,6BAA6B,KAAK,8EAA8E,CACjH,CAAC;gBACJ,CAAC;gBAID,MAAM,YAAY,GAAkB,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC9D,IAAI,KAAK,GAAG,uBAAuB,CACjC;wBACE,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;wBAC9B,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,iCAAiC;wBACzD,SAAS,EAAE,KAAK,CAAC,SAAS;wBAC1B,IAAI,EAAE,KAAK,CAAC,MAAM;qBACnB,EACD,KAAK,CACN,CAAC;oBAEF,4BAA4B;oBAC5B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACnB,KAAK,IAAI,EAAE,CAAC;oBACd,CAAC;oBAED,iCAAiC;oBACjC,QAAQ,QAAQ,EAAE,CAAC;wBACjB,KAAK,SAAS;4BACZ,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;4BACxC,MAAM;wBACR,KAAK,eAAe;4BAClB,4BAA4B;4BAC5B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC;4BACvD,MAAM;wBACR,KAAK,QAAQ;4BACX,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gCACpB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAChC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAC3E,CAAC;gCACF,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,eAAe,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC;4BAC3D,CAAC;4BACD,MAAM;wBACR,2CAA2C;oBAC7C,CAAC;oBAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBAEH,YAAY,CAAC,IAAI,CAAC,CAAC,CAAc,EAAE,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAEzE,yBAAyB;gBACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACvC,MAAM,cAAc,GAAqB;oBACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ;oBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,OAAO,EAAE,OAAO,EAAE,mCAAmC;oBACrD,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,QAAQ,CAAC,KAAK;oBACzB,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,8BAA8B;oBACvE,IAAI,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;iBAC5B,CAAC;gBAEF,4BAA4B;gBAC5B,MAAM,YAAY,GAAuB,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAiB,EAAE,EAAE,CAAC,CAAC;oBAC5F,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;oBACrB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;oBACnC,MAAM,EAAE,CAAC;iBACV,CAAC,CAAC,CAAC;gBAEJ,oCAAoC;gBACpC,IAAI,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,2BAA2B,CAAC;gBAChE,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChG,QAAQ,QAAQ,EAAE,CAAC;oBACjB,KAAK,SAAS;wBACZ,MAAM,IAAI,2BAA2B,cAAc,CAAC,SAAS,6BAA6B,UAAU,EAAE,CAAC;wBACvG,MAAM;oBACR,KAAK,eAAe;wBAClB,MAAM,IAAI,8BAA8B,cAAc,CAAC,SAAS,2BAA2B,UAAU,EAAE,CAAC;wBACxG,MAAM;oBACR,KAAK,QAAQ;wBACX,MAAM,IAAI,yDAAyD,UAAU,EAAE,CAAC;wBAChF,MAAM;oBACR;wBACE,MAAM,IAAI,oBAAoB,KAAK,gDAAgD,UAAU,EAAE,CAAC;gBACpG,CAAC;gBAED,2BAA2B;gBAC3B,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,IAAI,UAAU,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBAE9E,MAAM,MAAM,GAAyB;oBACnC,cAAc;oBACd,MAAM;oBACN,YAAY;oBACZ,cAAc,EAAE,0BAA0B,aAAa,GAAG;iBAC3D,CAAC;gBAEF,gBAAgB;gBAChB,IAAI,IAAI,GAAG,0BAA0B,CAAC;gBACtC,IAAI,IAAI,KAAK,cAAc,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;gBAChF,IAAI,IAAI,GAAG,cAAc,CAAC,WAAW,MAAM,CAAC;gBAC5C,IAAI,IAAI,KAAK,cAAc,CAAC,SAAS,eAAe,QAAQ,CAAC,GAAG,IAAI,CAAC;gBACrE,IAAI,IAAI,UAAU,cAAc,CAAC,MAAM,IAAI,CAAC;gBAC5C,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,IAAI,IAAI,WAAW,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACxD,CAAC;gBACD,IAAI,IAAI,0BAA0B,MAAM,IAAI,CAAC;gBAE7C,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,IAAI,IAAI,uBAAuB,CAAC;oBAChC,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;wBAC/B,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;wBAC5E,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChD,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,MAAM,QAAQ,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC;wBACpE,IAAI,IAAI,KAAK,GAAG,CAAC,WAAW,MAAM,CAAC;oBACrC,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,wBAAwB,MAAM,CAAC,cAAc,EAAE,CAAC;gBAExD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO,WAAW,CAChB,0BAA0B,OAAO,EAAE,EACnC,mEAAmE,CACpE,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Tool: search_skills
3
3
  *
4
- * Searches for skills in local store and/or registry.
4
+ * Searches for skills in local store and/or GitHub.
5
+ * Uses SKILL.md format (industry standard for Claude Code and OpenAI Codex).
5
6
  */
6
7
  import type { ToolHandler } from '../types.js';
7
8
  export declare function createSearchSkillsHandler(): ToolHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"search-skills.d.ts","sourceRoot":"","sources":["../../src/tools/search-skills.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,aAAa,CAAC;AAYrB,wBAAgB,yBAAyB,IAAI,WAAW,CAqLvD"}
1
+ {"version":3,"file":"search-skills.d.ts","sourceRoot":"","sources":["../../src/tools/search-skills.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,WAAW,EAKZ,MAAM,aAAa,CAAC;AAYrB,wBAAgB,yBAAyB,IAAI,WAAW,CAqLvD"}
@@ -1,13 +1,15 @@
1
1
  /**
2
2
  * Tool: search_skills
3
3
  *
4
- * Searches for skills in local store and/or registry.
4
+ * Searches for skills in local store and/or GitHub.
5
+ * Uses SKILL.md format (industry standard for Claude Code and OpenAI Codex).
5
6
  */
6
- import { getStore, getRegistryClient, successResult, errorResult, validateString, validateLimit, calculateRelevanceScore, } from './utils.js';
7
+ import { getStore, successResult, errorResult, validateString, validateLimit, calculateRelevanceScore, } from './utils.js';
8
+ import { searchGitHubSkills } from './github-search.js';
7
9
  export function createSearchSkillsHandler() {
8
10
  return {
9
11
  name: 'search_skills',
10
- description: 'Search for skills by keyword. Searches both installed skills and the registry, returning results sorted by relevance.',
12
+ description: 'Search for skills by keyword. Searches both installed skills and GitHub repositories with SKILL.md files, returning results sorted by relevance.',
11
13
  inputSchema: {
12
14
  type: 'object',
13
15
  properties: {
@@ -17,9 +19,9 @@ export function createSearchSkillsHandler() {
17
19
  },
18
20
  source: {
19
21
  type: 'string',
20
- enum: ['all', 'local', 'registry'],
22
+ enum: ['all', 'local', 'github'],
21
23
  default: 'all',
22
- description: 'Where to search: all, local (installed only), or registry (remote only)',
24
+ description: 'Where to search: all, local (installed only), or github (GitHub repositories with SKILL.md)',
23
25
  },
24
26
  limit: {
25
27
  type: 'number',
@@ -74,48 +76,48 @@ export function createSearchSkillsHandler() {
74
76
  }
75
77
  }
76
78
  }
77
- // Search registry
78
- if (source === 'all' || source === 'registry') {
79
+ // Search GitHub
80
+ if (source === 'all' || source === 'github') {
79
81
  try {
80
- const client = getRegistryClient();
81
- const searchResult = await client.search(query, { limit });
82
- for (const skill of searchResult.results) {
82
+ const githubResults = await searchGitHubSkills(query, { limit });
83
+ for (const skill of githubResults) {
83
84
  const isInstalled = installedNames.has(skill.name);
84
85
  // Skip if already in results from local
85
86
  if (isInstalled && source === 'all') {
86
- // Update existing entry with registry metadata
87
+ // Update existing entry with GitHub metadata
87
88
  const existing = results.find((r) => r.name === skill.name);
88
89
  if (existing) {
89
- existing.downloads = skill.downloads || 0;
90
- existing.tags = skill.keywords || [];
90
+ existing.downloads = skill.stars; // Use stars as popularity metric
91
+ existing.tags = skill.topics || [];
91
92
  }
92
93
  continue;
93
94
  }
94
95
  results.push({
95
- id: `registry:${skill.name}`,
96
+ id: `github:${skill.fullName}`,
96
97
  name: skill.name,
97
98
  description: skill.description,
98
- version: skill.version,
99
- source: 'registry',
99
+ version: '1.0.0', // GitHub doesn't have version info
100
+ source: 'github',
100
101
  installed: isInstalled,
101
- rating: 0, // Registry doesn't have ratings yet
102
- downloads: skill.downloads || 0,
103
- updatedAt: skill.updatedAt || new Date().toISOString(),
104
- tags: skill.keywords || [],
102
+ rating: 0,
103
+ downloads: skill.stars, // Use stars as popularity metric
104
+ updatedAt: skill.updatedAt,
105
+ tags: skill.topics || [],
105
106
  relevanceScore: calculateRelevanceScore({
106
107
  name: skill.name,
107
108
  description: skill.description,
108
- downloads: skill.downloads,
109
+ downloads: skill.stars,
109
110
  updatedAt: skill.updatedAt,
110
- tags: skill.keywords,
111
- }, query),
111
+ tags: skill.topics,
112
+ }, query) + (skill.hasSkill ? 20 : 0), // Boost repos with SKILL.md
112
113
  });
113
114
  }
114
115
  }
115
- catch {
116
- // Registry might be unavailable, continue with local results
117
- if (source === 'registry') {
118
- return errorResult('Registry is currently unavailable.', 'Try searching with source: "local" to see installed skills.');
116
+ catch (error) {
117
+ // GitHub might be unavailable or rate limited
118
+ if (source === 'github') {
119
+ const message = error instanceof Error ? error.message : 'Unknown error';
120
+ return errorResult(`GitHub search failed: ${message}`, 'Try searching with source: "local" to see installed skills, or set GITHUB_TOKEN for higher rate limits.');
119
121
  }
120
122
  }
121
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-skills.js","sourceRoot":"","sources":["../../src/tools/search-skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-skills.js","sourceRoot":"","sources":["../../src/tools/search-skills.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -4,8 +4,8 @@
4
4
  * Types for MCP Server tools and handlers.
5
5
  */
6
6
  export type Scope = 'local' | 'global';
7
- export type Source = 'all' | 'local' | 'registry';
8
- export type SourceType = 'registry' | 'github' | 'gist' | 'url' | 'local';
7
+ export type Source = 'all' | 'local' | 'github';
8
+ export type SourceType = 'github' | 'gist' | 'url' | 'local';
9
9
  export type RecommendCriteria = 'auto' | 'popular' | 'highest_rated' | 'newest';
10
10
  export interface Author {
11
11
  name: string;
@@ -46,7 +46,7 @@ export interface SearchSkillResult {
46
46
  name: string;
47
47
  description: string;
48
48
  version: string;
49
- source: 'local' | 'registry';
49
+ source: 'local' | 'github';
50
50
  installed: boolean;
51
51
  rating: number;
52
52
  downloads: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skillpkg-mcp-server",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "MCP Server for skillpkg - Enable AI agents to search, install, and manage skills via Model Context Protocol",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -53,7 +53,8 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "@modelcontextprotocol/sdk": "^1.0.0",
56
- "skillpkg-core": "^0.1.0"
56
+ "skillpkg-core": "^0.1.0",
57
+ "yaml": "^2.8.2"
57
58
  },
58
59
  "devDependencies": {
59
60
  "@types/node": "^20.10.0",