一键导入
skill-hub-manager
Manage skills from the community skill registry - search, install, list, and publish skills
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Manage skills from the community skill registry - search, install, list, and publish skills
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
开发真实可运行的应用(Web / 全栈 / 移动)——走编程流水线交付可跑工程。
音频生成——TTS 朗读 / 配音 / 音乐 / 音效。
视觉设计——logo / 海报 / UI mockup / 配色方案 / 字体方案。
开发桌面应用(Electron + React + TS)——走编程流水线交付完整工程。
创建定时任务——每天 / 每周 / cron 周期性自动执行。
把演示文稿 / PPT / 幻灯片 / 汇报材料做成视觉精美、可在画布翻页的 deck——每页用内置图片生成出整张 slide 图(绝不产二进制 .pptx)。
| name | Skill Hub Manager |
| description | Manage skills from the community skill registry - search, install, list, and publish skills |
| version | 1.0.0 |
| author | Axon |
| user-invocable | true |
| argument-hint | search|install|list|publish [args] |
| category | tools |
| tags | ["skills","package-manager","community"] |
This skill provides a command-line interface to interact with the Axon Skill Hub - a community registry of skills.
/skill-hub search <query>
Search the community skill registry for skills matching the query. The search looks in skill names, descriptions, and tags.
Example:
/skill-hub search weather
/skill-hub install <skill-id>
Install a skill from the community registry. The skill will be downloaded, security-scanned, and installed to ~/.axon/skills/<skill-id>/.
Example:
/skill-hub install weather
Security: All skills are automatically scanned for security issues before installation. Skills with critical security issues will be rejected.
/skill-hub list
List all skills currently installed on your system, showing their source (local or hub), version, and author.
/skill-hub publish <path>
Prepare a local skill for publication to the community registry. This command will:
Example:
/skill-hub publish ~/.axon/skills/my-skill/SKILL.md
The skill registry is hosted on GitHub at: https://github.com/kill136/claude-code-skills
Skills are stored as SKILL.md files in the repository, with a central registry.json index file.
import { searchSkills, installSkill, listInstalledSkills, publishSkill } from '../../../src/skills/hub.js';
export async function execute(args: string): Promise<string> {
const parts = args.trim().split(/\s+/);
const command = parts[0];
const restArgs = parts.slice(1).join(' ');
switch (command) {
case 'search': {
if (!restArgs) {
return '❌ Usage: /skill-hub search <query>';
}
const results = await searchSkills(restArgs);
if (results.length === 0) {
return `No skills found matching "${restArgs}"`;
}
let output = `🔍 Found ${results.length} skill(s):\n\n`;
for (const skill of results) {
output += `**${skill.name}** (${skill.id})\n`;
output += ` ${skill.description}\n`;
output += ` Author: ${skill.author} | Version: ${skill.version}\n`;
if (skill.tags && skill.tags.length > 0) {
output += ` Tags: ${skill.tags.join(', ')}\n`;
}
output += ` Install: \`/skill-hub install ${skill.id}\`\n\n`;
}
return output;
}
case 'install': {
if (!restArgs) {
return '❌ Usage: /skill-hub install <skill-id>';
}
try {
await installSkill(restArgs);
return `✅ Skill "${restArgs}" installed successfully!\n\nRestart your session to load the new skill.`;
} catch (error: any) {
return `❌ Failed to install skill: ${error.message}`;
}
}
case 'list': {
const skills = listInstalledSkills();
if (skills.length === 0) {
return 'No skills installed.\n\nSearch for skills: `/skill-hub search <query>`';
}
let output = `📦 Installed Skills (${skills.length}):\n\n`;
for (const skill of skills) {
const sourceIcon = skill.source === 'hub' ? '🌐' : '📁';
output += `${sourceIcon} **${skill.name}** (${skill.id})\n`;
output += ` ${skill.description}\n`;
if (skill.version) {
output += ` Version: ${skill.version}`;
}
if (skill.author) {
output += ` | Author: ${skill.author}`;
}
output += `\n Path: ${skill.path}\n\n`;
}
return output;
}
case 'publish': {
if (!restArgs) {
return '❌ Usage: /skill-hub publish <path-to-skill-file>';
}
try {
const prUrl = await publishSkill(restArgs);
return `✅ Skill validated and ready for publication!\n\nFollow the instructions above to create a PR at:\n${prUrl}`;
} catch (error: any) {
return `❌ Failed to prepare skill for publication: ${error.message}`;
}
}
default:
return `❌ Unknown command: ${command}\n\nAvailable commands:\n- search <query>\n- install <skill-id>\n- list\n- publish <path>`;
}
}
.meta.json for tracking~/.axon/skills/<skill-id>/SKILL.md