Community编程与开发github.com

技能发布工具

验证技能仓库中 skills/<slug>/SKILL.md 的前置元数据和正文内容,生成用于 skills.sh 发现的 npx skills add 安装清单,并将公共技能仓库镜像/同步到另一个 GitHub 组织(如市场或聚合器)。

技能发布工具 是什么?

该技能用于自动化技能发布流程,无需手动提交队列即可将技能注册到 skills.sh 或镜像到二级市场。它通过解析 `skills/<slug>/SKILL.md` 文件验证其前置元数据格式和正文完整性,生成可直接在终端中运行的安装指令(如 `npx skills add owner/repo --skill name`)。支持单仓库验证和全组织批量处理:`org` 子命令可枚举指定 GitHub 组织的所有公开非分支仓库,自动克隆缺失仓库并运行验证,最终输出整个组织的安装清单。`--register` 标志可将验证通过的技能本地注册到 agent 技能目录并更新 telemetry 数据,`--mirror-to` 标志则通过 `gh` 工具自动创建/同步仓库到二级组织中,便于多平台发现。该技能适用于 Codex 等 AI 编程助手在发布技能前进行合规性检查,或运维人员批量管理技能仓库。

兼容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/farfarfun-skill/publish-skill/tree/main/skills/publish-skill

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Publish Skill

skills.sh 没有提交队列——它通过爬取公开 GitHub 仓库中格式正确的 skills/<slug>/SKILL.md 文件来发现技能。因此,“发布”意味着:仓库是公开的,每个 SKILL.md 都具有有效的前置元数据,并且(可选)该技能还会被镜像到二级市场/组织中,以便直接索引仓库。

验证

从此技能目录运行:

python3 scripts/skill_publisher.py validate --workspace /path/to/repo --fail-on block

检查每个 skills/<slug>/SKILL.md:前置元数据以 --- 开头和结尾,name 存在且为小写 kebab-case,name 与所在目录名称匹配,description 存在且长度在 20 到 1024 个字符之间,前置元数据后的正文部分包含实际指令(不仅仅是存根)。

使用 --fail-on revise 进行更严格的检查,使用 --format json 用于机器可读的输出。

生成安装清单

python3 scripts/skill_publisher.py manifest --workspace /path/to/repo

从 git remote origin 解析仓库的 GitHub slug,并为每个有效技能打印一行 npx skills add <owner>/<repo> --skill <name>。这就是要分发(或粘贴到 README/公告中)的“从 skills.sh 安装”指令——没有单独的提交步骤。

all 在一次调用中同时运行 validate 和 manifest,并共享相同的 --fail-on 检查。

一键发布整个组织

python3 scripts/skill_publisher.py org --org farfarfun-skill --workspaces-dir /path/to/farfarfun-skill

这是一步到位的“发布所有”入口点。它通过 gh repo list 列出 --org 中每个公开的非分支仓库,克隆任何尚未检出到 --workspaces-dir 下的仓库(绝不拉取或修改现有克隆),跳过没有 skills/ 目录的仓库,对剩余仓库运行 validate,并输出整个组织的合并安装清单。--workspaces-dir 默认使用 --workspace 的父目录,因此从磁盘上与兄弟仓库相邻的仓库内运行无需额外标志。

添加 --register 还会为每个通过验证的技能在本地运行 npx skills add <owner>/<repo> --skill <name> -y——这是实际向 skills.sh 的安装遥测/排行榜提供数据(没有提交 API)的机制,同时也会将该技能安装到本机 agent 技能目录中,因此仅当需要此副作用时才传递该标志。

添加 --mirror-to <org> 可将每个通过的仓库额外分支/同步到二级组织中(见下文)。

镜像到其他平台

python3 scripts/skill_publisher.py mirror --workspace /path/to/repo --target-org farfarfun-skills

首次运行时,将仓库分支到 --target-org(默认为 farfarfun-skills)中,名称为 <owner>--<repo>;之后每次运行时,从源仓库重新同步该分支——与此组织已经进行的 farfarfun-skill/* 仓库镜像同步以用于二级发现的方式一致。需要 gh 已通过身份验证,并具有在目标组织中创建仓库的权限。这是唯一会更改远程 GitHub 状态的子命令;请先运行 validate,仅在仓库通过验证后才进行镜像。

返回结果

从 validate 返回 allow、revise 或 block,通过的检查项,以及针对每个问题的具体修复路径(哪个文件、哪个字段、如何修改)。manifest 和 mirror 是信息性/操作输出,而非门控——不要阻塞它们。

相关技能