研发协作
开发出通用技能后,通过 GitHub 分支和 PR…
当你有一个广泛适用、已测试的技能,想用 GitHub 分支和 Pull Request 回贡到上游仓库时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
开发出通用技能后,通过 GitHub 分特定
解决思路
- 遵循贡献工作流:本地分支 → 创建/编辑技能 → 提交 → 推送 → 创建 PR。
- 进入本地克隆目录并同步 main:`cd ~/.config/superpowers/skills/`,然后执行 `git checkout main`、`git pull upstream main`、`git push origin main`(推送到你的 fork)。
- 创建特性分支,分支名格式为 `add-skillname-skill`:先执行 `skill_name="your-skill-name"`,再执行 `git checkout -b "add-${skill_name}-skill"`。
- 在 `skills/` 下创建或编辑技能;技能文件应放在 `skills/category/skill-name/SKILL.md`。
- 提交技能更改:执行 `git add skills/your-skill-name/`,再执行 `git commit -m "Add ${skill_name} skill $(cat <<'EOF' Brief description of what this skill does and why it's useful. Tested with: [describe testing approach] EOF )"`。
- 推送到你的 fork:`git push -u origin "add-${skill_name}-skill"`。
- 用 `gh` 向上游仓库创建 PR:`gh pr create --repo upstream-org/upstream-repo --title "Add ${skill_name} skill" --body "$(cat <<'EOF' ## Summary 简要描述技能和解决的问题。 ## Testing 描述如何测试该技能(压力场景、基线测试等)。 ## Context 说明为什么需要该技能以及如何使用。 EOF )"`。
- 可参考完整示例:以 `async-patterns` 为例,同步 main、创建 `add-async-patterns-skill` 分支、编辑 `skills/async-patterns/SKILL.md`、执行 `git add skills/async-patterns/`、提交时写明测试方式、执行 `git push -u origin "add-async-patterns-skill"`,最后用 `gh pr create --repo upstream-org/upstream-repo --title "Add async-patterns skill" --body "## Summary ... ## Testing ... ## Context ..."`。
- PR 合并后同步本地 main 分支:`cd ~/.config/superpowers/skills/`、`git checkout main`、`git pull upstream main`、`git push origin main`。
- PR 合并后删除特性分支:`git branch -d "add-${skill_name}-skill"`,再执行 `git push origin --delete "add-${skill_name}-skill"`。
- 排障 `gh: command not found`:安装 GitHub CLI(https://cli.github.com/),然后执行 `gh auth login`。
- 排障 `Permission denied (publickey)`:执行 `gh auth status` 检查 SSH key,并按 https://docs.github.com/en/authentication 配置 SSH。
- 排障 `Skill already exists`:说明你正在创建修改版;考虑使用不同技能名,或与该技能的维护者协调。
- 排障 PR 合并冲突:执行 `git fetch upstream && git rebase upstream/main`,解决冲突后执行 `git push -f origin your-branch`。
- 多技能贡献时,不要把多个技能放进一个 PR;每个技能都应有自己的特性分支和 PR,以便独立审查、迭代和合并。
- 参考 `skills/meta/writing-skills`,了解如何创建经过良好测试的技能。
适用边界 · 注意事项
- 项目/组织专用、实验性或不稳定、包含敏感信息、过于狭窄/小众的技能应保留为个人技能,不要上游分享。
- 未安装并认证 `gh` CLI、当前目录不是 `~/.config/superpowers/skills/` 的本地克隆,或技能未经测试时,不要执行分享流程。
- 不要把多个技能批量放进同一个 PR;批量提交不适于此流程。