从零开源:如何将自定义 AI Skill 发布到 GitHub

从零开源:如何将自定义 AI Skill 发布到 GitHub 这篇文章不仅包含了您提供的完整文件结构还详细讲解了每个文件的作用、GitHub 创建仓库的具体步骤图文逻辑以及后续的维护指南。您可以直接复制以下内容作为您的博客文章发布。文章目录 从零开源如何将自定义 AI Skill 发布到 GitHub 1. 准备你的 Skill 项目结构 关键文件说明️ 2. 在 GitHub 创建仓库第一步登录并新建仓库第二步填写仓库信息 3. 上传文件 (两种方法)方法 A网页直接拖拽 (最简单适合首次上传)方法 BGit 命令行 (推荐适合后续维护)✅ 4. 验证与使用如何安装/使用方式一Git Clone (本地部署)方式二直接引用 Raw 链接 5. 后续维护与迭代 结语 附录完整的文件内容参考 从零开源如何将自定义 AI Skill 发布到 GitHub在之前的文章中我们探讨了如何编写一个高质量的SKILL.md让 AI 从“通用助手”变身“领域专家”。但代码写好了如何分享如何复用GitHub是管理这些 AI 技能Skills的最佳平台。它不仅是一个代码托管地更是你的技能分发中心。本文将手把手教你如何将一个包含核心指令、UI 元数据、参考文档和校验脚本的完整 Skill 项目规范地上传到 GitHub并开源给社区使用。 1. 准备你的 Skill 项目结构在上传之前我们需要确保本地文件结构清晰、规范。一个成熟的 Skill 不仅仅是一个 Markdown 文件它应该是一个包含指令、资源和工具的完整文件夹。假设我们的技能名为tech-blog-generator技术博客生成器其标准目录结构如下tech-blog-generator/ ├── SKILL.md # [核心] 5.7KB - AI 的执行指令与触发规则 ├── README.md # [必读] 给人类看的介绍文档可选但推荐 ├── LICENSE # [协议] 开源许可证如 MIT ├── .gitignore # [忽略] 排除缓存和敏感文件 │ ├── agents/ # UI 展示层 │ └── openai.yaml # 628B - 技能在界面上的名称、简介和图标配置 │ ├── references/ # 知识库层 (按需加载) │ ├── style_guide.md # 1.2KB - 写作风格反模式清单Anti-Patterns │ └── common_pitfalls.md # 2.6KB - 常见技术坑点汇总 │ └── scripts/ # 工具层 (确定性执行) ├── validate_yaml.py # 1.6KB - 校验 frontmatter 格式是否合法 └── count_tokens.py # 1.4KB - 检查输出长度防止超限 关键文件说明文件/目录作用为什么需要它SKILL.md大脑包含 Frontmatter (触发条件) 和 Body (执行指令)。AI 仅凭此文件即可工作。agents/openai.yaml名片定义技能在 UI 列表中的显示名称 (display_name) 和短描述。通常由脚本生成保证格式严格合规。references/外挂大脑存放详细的风格指南或领域知识。只有当 AI 需要时才加载节省上下文窗口 (Token)。scripts/机械臂存放 Python/Bash 脚本。用于执行那些“不能出错”的任务如格式校验、Token 计数实现零 Token 成本的确定性操作。提示在上传前请确保根目录下有一个.gitignore文件内容如下以避免上传 Python 缓存或敏感配置__pycache__/ *.pyc .env .DS_Store️ 2. 在 GitHub 创建仓库第一步登录并新建仓库访问 GitHub.com 并登录访问不上或者不会注册请搜索相关教程这里不扩展。点击右上角的号选择New repository。第二步填写仓库信息Repository name: 建议与文件夹名一致例如tech-blog-generator。Description: 一句话介绍例如“Tech Blog Generator A high-precision OpenClaw skill that transforms source code and documentation into production-ready technical blog posts…”Visibility: 选择Public(公开方便他人 Clone) 或Private(私有仅自己用)。⚠️ 重要:不要勾选“Initialize this repository with a README”。原因我们本地已经有完善的README.md和文件结构了勾选此项会创建一个空的 README导致后续推送时产生冲突。点击Create repository。 3. 上传文件 (两种方法)方法 A网页直接拖拽 (最简单适合首次上传)在创建好的仓库页面找到“uploading an existing file”链接。打开你本地的tech-blog-generator文件夹。全选所有文件和文件夹 (SKILL.md,agents,references,scripts等)。将它们直接拖拽到 GitHub 的上传区域。等待上传进度条完成。在底部的Commit changes区域Commit message: 建议输入Initial commit: Add full skill structure with scripts and references。其中文意思是初始提交添加完整的技能结构包括脚本和引用点击绿色按钮Commit changes。方法 BGit 命令行 (推荐适合后续维护)如果你熟悉终端这是更专业的方式# 1. 进入本地项目目录cdtech-blog-generator# 2. 初始化 gitgitinit# 3. 添加所有文件gitadd.# 4. 提交gitcommit-mInitial commit: Add TechBlogGenerator skill# 5. 关联远程仓库 (替换为你自己的用户名和仓库名)gitremoteaddorigin https://github.com/YOUR_USERNAME/tech-blog-generator.git# 6. 重命名分支为主分支 (可选视默认设置而定)gitbranch-Mmain# 7. 推送到 GitHubgitpush-uorigin main✅ 4. 验证与使用上传完成后你的仓库页面应该能清晰地看到完整的目录结构如何安装/使用一旦开源其他人或你自己在新设备上可以通过以下方式快速启用该 Skill方式一Git Clone (本地部署)适用于本地运行的 Agent 框架如 OpenClaw, Codex CLI 等cd~/my-agent/skillsgitclone https://github.com/YOUR_USERNAME/tech-blog-generator.git# 重启 Agent自动加载方式二直接引用 Raw 链接部分支持远程 Skill 的工具可以直接填入SKILL.md的 Raw 地址https://raw.githubusercontent.com/YOUR_USERNAME/tech-blog-generator/main/SKILL.md 5. 后续维护与迭代Skill 不是一次性产物。当你发现 AI 在某些场景下表现不佳或者想增加新的编程语言支持时本地修改编辑SKILL.md中的指令或在references/中补充新知识。测试脚本运行本地脚本验证格式。python scripts/validate_yaml.py.提交更新gitadd.gitcommit-mUpdate: Add Python async/await patterns to referencesgitpushGitHub 的版本历史功能将帮你记录每一次优化随时可以回滚到稳定版本。 结语通过将 Skill 模块化并托管在 GitHub你不仅是在保存一段提示词Prompt而是在构建一个可复用、可协作、可进化的 AI 能力插件。现在去创建你的第一个 Skill 仓库吧 项目地址: github.com/your-username/tech-blog-generator如果你觉得这个教程有帮助欢迎 Star ⭐️ 我的仓库 附录完整的文件内容参考为了方便大家抄作业以下是核心文件的简要内容模板实际内容请参考前文生成的详细代码SKILL.md(片段)---name:tech-blog-generatordescription:-Generates technical blogs from code. Use when users upload code files and ask for tutorials or explanations.---# Role: Senior Staff Engineer# Constraints: NO pedagogical tone, NO AI fluff...agents/openai.yaml(片段)display_name:Tech Blog Generatorshort_description:Turn code into high-quality technical blogs instantly.scripts/validate_yaml.py(逻辑)检查 frontmatter 是否包含 name/description长度是否合规。