skill-publish
Skill1 starsChanged 3 months agoApache-2.0View on GitHub
发布 Skill 到官方 SkillHub:将 skill 代码托管到独立 GitHub 仓库,并通过 fork 向 fightheyyy/XiaoBa-SkillHub 提交 registry.json 增量 PR。
- Deletes or force-pushes
- Commits and pushes
4 other projects use a version of this.
Adopted by
Most recently taken up by
- thenavidm/skill-buildertheir own version, first seen Nov 8, 2026
- svg153/skillstheir own version, first seen Nov 1, 2026
- peter-tu-zynkr/zynkr-skill-buildertheir own version, first seen Sep 27, 2026
- THEROCKSSS/hermes-skills-portfoliotheir own version, first seen Aug 3, 2026
Other versions4 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 4
- peter-tu-zynkr/zynkr-skill-builder★ 21same name
- svg153/skills★ 1same name
- THEROCKSSS/hermes-skills-portfolio★ 1same name
- thenavidm/skill-builder★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository15 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agent-browserSkill
- background-task-runnerSkill
- officecli-docxSkill
- officecli-pptxSkill
- officecli-xlsxSkill
- rememberSkill
- role-publishSkill
- self-evolutionSkill
- swebench-correctorSkill
- swebench-recoverySkill
- swebench-reviewerSkill
- swebench-solverSkill
- vision-analysisSkill
- webcliSkill
The file
Files
Skill Publish
将本地已有的 skill 发布到 XiaoBa 官方 SkillHub,让所有 XiaoBa 用户都能通过 Dashboard Skill Store 安装。
发布模型
官方 SkillHub 仓库:
https://github.com/fightheyyy/XiaoBa-SkillHubDashboard 读取:
https://raw.githubusercontent.com/fightheyyy/XiaoBa-SkillHub/main/registry.jsonSkillHub 只维护轻量索引,不托管 skill 源码。Skill 源码必须放在独立公开 GitHub 仓库。仓库名不要求固定格式,例如下面两种都可以:
https://github.com/<user>/xiaoba-skill-<name>
https://github.com/<user>/<custom-skill-repo>SkillHub 发布规则:
- 只修改
registry.json。 - 只新增一个 skill registry 条目,除非用户明确要求修正已存在条目。
- 不复制
skills/<name>到 SkillHub 仓库。 - 需要 fork
fightheyyy/XiaoBa-SkillHub,但 fork 中也只改registry.json。 - 不重排、删除、批量格式化已有 registry 条目。
- 提交前必须检查
git diff -- registry.json,确认 diff 只包含目标 skill 的索引增量。 - 通过 fork 分支向官方仓提交 PR;
fightheyyy维护者如明确要求,也可以按仓库 ruleset bypass 直接推main。
执行流程
Step 1:确认要发布的 skill
用户提供 skill 名称(即 $ARGUMENTS),你需要:
- 检查
skills/$ARGUMENTS/SKILL.md是否存在 - 读取
SKILL.md的 frontmatter,提取name、description、category等信息 - 如果缺少 category,询问用户选择:核心、工具、效率、科研、运维、其他
- 确认 skill 是否已经有独立公开 GitHub 仓库
- 获取或确认独立 skill 仓库 URL
- 向用户确认发布信息
发布信息至少包含:
{
"name": "<name>",
"description": "<desc>",
"category": "<cat>",
"recommended": false,
"repo": "<confirmed-skill-repo-url>"
}Step 2:准备独立 skill 仓库
如果 skill 已经有公开仓库,使用现有 repo URL。
如果还没有公开仓库,告诉用户先在 GitHub 创建一个公开仓库,建议命名:
xiaoba-skill-<name>然后把本地 skills/<name> 的内容推送到这个独立仓库。SkillHub 的 repo 字段必须指向这个独立仓库,而不是 SkillHub 仓库里的子目录。
Step 3:Fork 当前官方 SkillHub
默认发布方式是 fork SkillHub,再向官方仓提交 registry-only PR。
优先用 gh 获取当前 GitHub 登录名,并创建 fork:
{"command":"login=$(gh api user --jq '.login') && echo \"$login\" && test \"$login\" != \"fightheyyy\" && (gh repo view \"$login/XiaoBa-SkillHub\" >/dev/null 2>&1 || gh repo fork fightheyyy/XiaoBa-SkillHub --clone=false)","description":"确认 GitHub 身份并 fork SkillHub"}如果当前登录账号是 fightheyyy,不要把官方仓当作 fork。此时应该切换到 contributor 账号走 fork PR,或在用户明确要求时使用维护者快捷方式直接发布。
如果没有 gh,告诉用户在网页上手动 fork:
- 打开 https://github.com/fightheyyy/XiaoBa-SkillHub
- 点击右上角 Fork
- Fork 到自己的 GitHub 账号
- 告知 fork 地址,例如
https://github.com/<user>/XiaoBa-SkillHub
Step 4:Clone fork 并从官方 main 新建发布分支
- 创建临时目录并 clone fork:
{"command":"mkdir -p /tmp/xiaoba-publish && cd /tmp/xiaoba-publish && rm -rf XiaoBa-SkillHub && git clone https://github.com/<user>/XiaoBa-SkillHub.git","description":"Clone SkillHub fork"}- 添加官方 upstream,并从官方 main 新建增量分支:
{"command":"cd /tmp/xiaoba-publish/XiaoBa-SkillHub && git remote add upstream https://github.com/fightheyyy/XiaoBa-SkillHub.git 2>/dev/null || true && git fetch upstream main && git checkout -B add-skill-<name> upstream/main","description":"从官方 main 新建发布分支"}- 检查 registry:
{"command":"cd /tmp/xiaoba-publish/XiaoBa-SkillHub && cat registry.json","description":"查看 SkillHub registry"}Step 5:增量更新 registry.json
只允许编辑 registry.json。不要复制 skill 文件到 SkillHub。
用脚本安全追加 JSON 条目:
{"command":"cd /tmp/xiaoba-publish/XiaoBa-SkillHub && python3 -c \"\nimport json\nfrom pathlib import Path\npath=Path('registry.json')\ndata=json.loads(path.read_text(encoding='utf-8'))\nname='<name>'\nrepo='<confirmed-skill-repo-url>'\nif any(item.get('name') == name for item in data):\n raise SystemExit(f'skill already exists in registry: {name}')\ndata.append({'name':name,'description':'<desc>','category':'<cat>','recommended':False,'repo':repo})\npath.write_text(json.dumps(data,indent=2,ensure_ascii=False)+'\\n',encoding='utf-8')\nprint('registry.json updated')\n\"","description":"增量更新 registry.json"}如果 git diff -- registry.json 显示已有条目被重排、删除或批量格式化,必须恢复后重新做最小增量编辑。
Step 6:验证只包含 registry.json 增量
{"command":"cd /tmp/xiaoba-publish/XiaoBa-SkillHub && git diff -- registry.json && git status --short","description":"检查 registry 增量 diff"}{"command":"cd /tmp/xiaoba-publish/XiaoBa-SkillHub && test \"$(git status --porcelain --untracked-files=all)\" = \" M registry.json\" && echo 'OK: only registry.json changed'","description":"确认只修改 registry.json"}Step 7:提交 registry 增量
{"command":"cd /tmp/xiaoba-publish/XiaoBa-SkillHub && git add registry.json && git status --short","description":"只暂存 registry.json"}{"command":"cd /tmp/xiaoba-publish/XiaoBa-SkillHub && git commit -m 'Add skill: <name>'","description":"提交 registry 增量"}Step 8:发布到 fork 并创建 PR
推送到 fork 的发布分支:
{"command":"cd /tmp/xiaoba-publish/XiaoBa-SkillHub && git push -u origin add-skill-<name>","description":"推送 fork 发布分支"}向官方 SkillHub 创建 registry-only PR:
{"command":"cd /tmp/xiaoba-publish/XiaoBa-SkillHub && gh pr create --repo fightheyyy/XiaoBa-SkillHub --base main --head <user>:add-skill-<name> --title 'Add skill: <name>' --body '## New Skill: <name>\\n\\n<description>\\n\\nRegistry-only incremental PR.'","description":"创建 SkillHub registry-only PR"}维护者快捷方式:如果当前账号是 fightheyyy,且用户明确要求直接发布,可以跳过 fork,clone 官方仓后 fast-forward 到 main 并直接推送:
{"command":"cd /tmp/xiaoba-publish/XiaoBa-SkillHub && git checkout main && git merge --ff-only add-skill-<name> && git push origin main","description":"fightheyyy 维护者直接推送 main"}Step 9:清理
{"command":"rm -rf /tmp/xiaoba-publish","description":"清理临时目录"}PR 验收标准
- PR base:
fightheyyy/XiaoBa-SkillHub:main - PR changed files:只有
registry.json registry.json是合法 JSON array- 新条目字段完整:
name、description、category、recommended、repo repo指向独立公开 GitHub 仓库- 独立 skill 仓库包含
SKILL.md - SkillHub fork 里没有 skill 源码,只包含
registry.json增量 - 没有删除、重排、批量格式化已有 registry 条目
注意事项
- GitHub 权限:普通用户只需要能 fork 并向自己的 fork 推送;不需要官方仓写权限
- Windows:临时目录改用
%TEMP% - 如果推送失败:先检查
gh auth status、fork 地址和origin是否指向自己的 fork - Skill 依赖:提醒用户在独立 skill 仓库的 README 或 SKILL.md 里说明依赖
- Registry-only:SkillHub 改动不应该包含 skill 源码、README 大改或无关格式化
简化流程总结
准备独立 skill 仓库 → fork SkillHub → clone fork → 从官方 main 新建分支 → 只增量更新 registry.json → push fork 分支 → 创建 registry-only PR这样不需要官方仓写权限,也能保持 SkillHub registry PR 清晰、可审。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

