GitHub Open Source Publish 是一个 WorkBuddy 技能:它会先盘点你的本地项目,起草开源所需的展示层文件(README、CONTRIBUTING、LICENSE、仓库 About 与 topics),并坚持「两次显式确认」——先确认写文件、再确认 push——才真正执行远程操作。它面向想把本地项目发到 GitHub 的人,不负责普通的日常提交或 PR 文案。
- 项目盘点(Inventory):锁定仓库根目录,只采集目录树内的真实证据(语言、清单、入口、已有 README/LICENSE),不臆造功能、徽章或截图。
- 只读密钥扫描:发布前扫描
.env、credentials、*.pem、secrets.json、token 配置;发现密钥则阻断 push,绝不替你上传。 - Gate A 确认包:把
owner/name、可见性、About、Topics、License、版权人、文档语言、包范围、贡献模式汇总成一张确认包,你点头后才写本地文件。 - Gate B 发布计划:展示本机真实的
git/gh命令(含git init -b main、git add显式路径、gh repo create --push、gh repo edit --add-topic),你确认后才跑。 - 展示层起草:按约定生成 README、CONTRIBUTING、LICENSE、About 与 topics,覆盖 GitHub 的三个 tab(README / Contributing / License)。
- 不替你猜:owner、license、可见性、一句话描述不会擅自写进生产,必须你拍板。
- 一个支持加载技能的 AI工具 运行环境(本技能是纯 Markdown 技能,本身不含代码、依赖或构建步骤)。
- 若要走 Gate B 真正发布,本机需安装
git与ghCLI(技能会在发布前按本机环境探测并引导安装 / 设备码登录)。
本技能作为 AI工具 用户级技能使用,无需 npm / pip 安装。把整个技能目录放到:
~/.workbuddy/skills/github-open-source-publish/
即确保该目录下包含 SKILL.md 与 references/ 即可,重启或刷新会话后生效。
在 AI工具 对话中输入 /github-open-source-publish,或直接说「把这个项目开源发到 GitHub」。技能会先问你锁定哪个目录,然后进入双 Gate 流程。
发布严格经过两个 Gate,二者不能合并为一次确认:
- Gate A — 写文件:技能盘点项目并给出「确认包」,你回复「按确认包写文件」后,它在本地生成 README / LICENSE / CONTRIBUTING / .gitignore(不碰远程)。
- Gate B — 发布:技能先跑环境探测(
git版本与身份、gh是否安装并登录),再展示真实可执行的命令清单;你回复「可以 push」后,它才git init→git add(显式路径)→git commit→gh repo create --push→gh repo edit --add-topic设置 About。
过程中绝不 --force push,也绝不替你改 git config 填身份。若 git user.name / user.email 缺失,会让你先自行设置。
无配置文件,无环境变量。所有发布决策都由确认包字段驱动。
github-open-source-publish/
├── SKILL.md # 技能本体:触发词、双 Gate 工作流、默认与反模式
├── references/
│ ├── confirmation-packet.md # Gate A 确认包模板
│ ├── readme-guide.md # README 形状与写作准则
│ ├── community-files.md # README/CONTRIBUTING/LICENSE/About 与 tab 映射
│ ├── contribution-modes.md # pr-welcome / pr-not-accepted / issues-only 三种模式
│ └── publish-env-and-auth.md # 环境探测、gh 安装与设备码登录、owner 解析
├── README.md # 本文件
├── LICENSE # MIT
├── CONTRIBUTING.md # 贡献指南(当前为 pr-not-accepted)
└── .gitignore
本项目目前不接受外部 PR,但欢迎通过以下方式参与(详见 CONTRIBUTING.md):
- 在 GitHub Discussions 提问 / 报告问题 / 投票
- 开发生态插件、扩展或集成(自建仓库,与项目主题关联)
- 撰写博客文章与操作指南
- 帮助社区其他成员
MIT —— 见 LICENSE。