| name | skill-hub |
| description | When the user provides a URL to a SKILL.md or a skill hub catalog,
automatically fetch and install it. Parsed formats supported:
- Direct SKILL.md URL: https://skillhub.cn/install/skillhub.md → extract name from frontmatter
- HTTP(S) paths referencing Markdown files with YAML frontmatter
|
| version | 0.1.0 |
| tags | ["meta","extensibility","skill-discovery"] |
| metadata | {"hermes":{"created_by":"user"},"jiharn":{"category":"meta","triggers":["从这里装","安装 skill","skillhub","skill hub","远程 skill","安装远程","install skill","from URL","https://"]}} |
Skill Hub Installer
When you detect the user wants to install a remote skill or mentioning SkillHub:
Recognition Patterns
Installation Steps
-
Validate URL
- Must be
https:// protocol
- Common formats: GitHub raw, SkillHub endpoints, personal git servers
-
Parse & Import
skill_manage(
action='import_from_url',
source_url='https://skillhub.cn/install/skillhub.md',
skill_name='auto' # or explicit name
)
System will:
- Fetch the SKILL.md content
- Extract
name: field from YAML frontmatter
- Create skill directory under
workspace/skills/
- Make it available on next turn
-
Verify Success
Check response:
- ✅
ok=True → skill installed and ready
- ❌
ok=False → network error, invalid format, name conflict
Example Workflows
User says: "给我装个 skill,地址是 https://skillhub.cn/install/arxiv-daily.md"
You call:
skill_manage(
action='import_from_url',
source_url='https://skillhub.cn/install/arxiv-daily.md'
)
User says: "我想用这个 skill hub: https://github.com/org/skill-registry/blob/main/skills/SKILL.md"
You call:
skill_manage(
action='import_from_url',
source_url='https://raw.githubusercontent.com/org/skill-registry/main/skills/SKILL.md'
)
Common URL Conversions
| Format | Raw URL |
|---|
| GitHub blob | https://github.com/.../blob/main/SKILL.md |
| SkillHub | https://skillhub.cn/view/skill-id |
| GitLab | https://gitlab.com/.../blob/main/SKILL.md |
Restrictions
- Only
https:// URLs (no http:// for security)
- Max 256 KiB per SKILL.md
- Name must match pattern:
[a-z0-9][a-z0-9._-]{0,63}
- Cannot overwrite existing skills (user must
archive or delete first)
Error Handling
- HTTP errors (404, 500): Report the status code, suggest checking URL
- Name conflict: Suggest
skill_manage action='archive' skill_name='...' then retry
- Invalid format: The YAML frontmatter is malformed; ask user to verify source
- Size limit: SKILL.md exceeds 256 KiB; ask for a compressed version