Community写作与编辑github.com

技能开源发布器

将本地技能打包并发布为开源 GitHub 仓库。

技能开源发布器 是什么?

这个技能旨在简化将本地 AI 编码代理技能(如用于 Codex、Claude Code 或 Cursor 的技能)打包并发布到 GitHub 作为开源仓库的过程。它自动化了许多手动步骤:验证环境(检查 python3、git、node 等)、运行安全扫描以检测机密、私有路径或未授权资产、构建一个干净的发布包(复制相关的 SKILL.md、scripts、assets 等),最后将其发布到 GitHub。该技能强制执行严格的安全规则,如果发现任何阻止程序(如 API 密钥、个人路径或专有数据),则会在发布前硬停止并要求用户干预。它支持多种平台(Codex、Claude、Cursor),并自动适应所检测到的技能格式。成功发布后,技能会提供验证、安装命令和适合社交媒体的发布文案,从而为技能开发者创建一个端到端的发布工作流。

兼容平台✓Claude Code✓Codex CLI~Cursor
npx skills add zjp1997720/skill-open-sourcer

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

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

文档

Skill Open Sourcer(技能开源发布器)

将一个本地技能变成一个干净的公开发布包。通常的输入仅为一个 SKILL.md 文件路径或技能目录。

默认姿态:快速行动,但在遇到发布风险时停下。如果安全扫描发现机密、私有路径、客户数据、未发布的专有材料或模糊的所有权,则报告阻塞项,在用户解决之前不进行发布。

快速开始

  1. 将输入解析为真实的技能目录。接受 SKILL.md 文件、包含 SKILL.md 的文件夹,或位于 .codex/skills、.agents/skills、.claude/skills 或其他本地技能根目录下的符号链接。
  2. 在打包或发布前运行环境检查:
SKILL_OPEN_SOURCER_DIR="${CODEX_HOME:-$HOME/.codex}/skills/skill-open-sourcer"
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/check_release_env.py"

需要的本地命令为 python3、git、node 和 npx。gh 是默认的本地 GitHub 发布界面,但 GitHub MCP/应用或现有的已验证远程仓库可替代它。如果没有可用的 GitHub 发布界面,则在本地构建并验证仓库,然后因缺少设置而停止。

  1. 读取技能入口点,并检查直接引用的 scripts/、references/、assets/ 和 agents/ 文件。不要复制不相关的本地文件夹。
  2. 运行安全扫描器:
SKILL_OPEN_SOURCER_DIR="${CODEX_HOME:-$HOME/.codex}/skills/skill-open-sourcer"
python3 "$SKILL_OPEN_SOURCER_DIR/scripts/scan_skill_release.py" /path/to/skill-or-SKILL.md
  1. 如果环境和安全扫描都通过,则在源技能目录之外创建一个新的发布仓库。
  2. 对于单一技能仓库,直接将 SKILL.md、agents/、references/、scripts/ 和 assets/ 复制到仓库根目录。仅当是多个技能的合集仓库时,才使用 skills/<skill-name>/ 加上 skills.sh.json 的布局。
  3. 添加 references/release-package.md 中描述的公共发布文件,包括 README 质量门控和 GitHub 元数据建议。
  4. 在发布前,验证打包的技能和 npx skills 列表。
  5. 当低风险检查通过时发布到 GitHub,然后生成发布文案。

在编写发布仓库前,请阅读 references/release-package.md。

输出契约

成功发布时,返回:

  • GitHub 仓库 URL。
  • 使用 npx skills 的安装命令。
  • 技能验证和 npx skills add <owner>/<repo> --list 的验证结果。
  • 简短的风险摘要:扫描了什么,移除了什么或清理了什么,以及任何残留的假设。
  • 创建新公共仓库时的 GitHub 描述和主题建议。
  • 发布文案:至少一条 X/Twitter 帖子,以及当用户使用中文工作时的可选中文版本。

如果被阻塞,返回:

  • 阻塞项列表,包括文件路径和原因。
  • 建议的清理步骤。
  • 最安全的下一步操作,通常是“清理这些文件,然后重新运行发布”。

安全规则

当源包中出现以下任何一项时,硬停止:

  • API 密钥、令牌、私钥、cookie、凭证、.env 文件或认证配置。
  • 绝对个人路径,如 /Users/...、/home/...、本地 vault 路径或仅限机器的缓存路径,这些会混淆公共用户。
  • 客户名称、私有公司数据、内部文档、私有 URL、未发布的提示词或没有明确许可的付费/专有资产。
  • 逃逸出包的符号链接、大型二进制文件、数据库、日志、浏览器配置文件、.DS_Store、__pycache__ 或生成的缓存文件。
  • 捆绑代码/资产的不明确许可或所有权。

仅当扫描器和人工审查未发现阻塞项时,才允许低风险自动发布。如果目标 GitHub 仓库已存在且包含无关内容,则停止并在覆盖或强制推送前询问用户。

打包规则

  • 保持原始技能行为不变。仅进行必要的重构,以移除私有假设并确保公共安装的可靠性。
  • 默认对单个公共技能采用扁平根目录布局。仅当一个仓库发布多个技能时,才使用嵌套的 skills/<skill-name>/ 布局。
  • 优先使用精简的 SKILL.md;仅当代理确实需要时,才将详细的公共指南移入 references/。
  • 不要在技能文件夹内添加 README。将面向人类的文档放在发布仓库根目录。
  • 当存在 agents/openai.yaml 时保留它。如果不存在,则创建它,包含 display_name、short_description 和一个明确提及 $<skill-name> 的 default_prompt。
  • 仅包含技能实际使用的确定性辅助逻辑,才包含 scripts/。
  • 仅当许可和大小适合公开发布时,才包含 assets/。
  • 仅当源技能没有冲突的许可且所有权明确时,使用 MIT 作为默认许可。

发布流程

  1. 运行 scripts/check_release_env.py。当更新现有本地仓库时,添加 --repo-dir <release-repo>。当不确定包/网络访问时,添加 --check-npx-skills。
  2. 如果缺少所需命令,则停止并报告确切的阻塞项。如果仅缺少 gh,则仅在 GitHub MCP/应用可用或发布仓库已有经过验证的 origin 远程时继续。
  3. 在本地构建发布仓库。
  4. 当可用时,使用系统技能验证器进行验证:
python3 "${CODEX_HOME:-$HOME/.codex}/skills/.system/skill-creator/scripts/quick_validate.py" .
  1. 使用可用的 GitHub 界面(gh、GitHub MCP/应用或现有远程)创建或更新 GitHub 仓库。避免强制推送。
  2. 推送分支或 main。
  3. 验证列表:
npx skills add <owner>/<repo> --list
  1. 如果列表工作正常,提供安装命令:
npx skills add <owner>/<repo> -g -a codex --skill <skill-name> -y

当目标平台不是 Codex 时,调整代理标志和安装措辞。

发布文案

成功发布后,起草简明的社交媒体文案,说明:

  • 该技能解决的问题。
  • 用户输入什么。
  • 它发布或自动化了什么。
  • 安装命令或仓库链接。
  • 一个具体的请求示例。

对于中文用户,包括一条自然的中文发布帖子。保持面向人类;不要过度解释脚本。

相关技能