chore(skills): 同步上游 v5.1.0 worktree 安全修复(issue #19 第一批)#28
Merged
Conversation
把 upstream/main v5.1.0 在 using-git-worktrees + finishing-a-development-branch 两个 skill 上的行为变更逐字翻译同步过来。属于上游修复 obra/superpowers#991 (subagent 自动创建嵌套 worktree、清理误删 harness-managed workspace)。 using-git-worktrees: - 新增 Step 0:GIT_DIR vs GIT_COMMON 检测现有隔离,submodule 守卫 - 新增创建前同意流程(除非 instructions 已声明偏好) - 重组 Step 1 为 1a Native Tools (首选) + 1b Git Worktree Fallback - 新增沙盒回退(permission error 时原地工作) - 删除旧"示例工作流"段(含 /Users/jesse 硬编码路径) - 保留章节编号 Step 1→3 的上游怪癖(不擅自"修正") finishing-a-development-branch: - 新增 Step 2 检测环境(三态表决定菜单形态和清理逻辑) - 旧 Step 2/3/4/5 重编号为 3/4/5/6 - Step 4 新增分离 HEAD 3 选项变体 - Step 5 Option 1 重写:MAIN_ROOT cwd safety + merge→verify→cleanup→delete 严格排序 - Step 5 Option 2 增加 "Do NOT cleanup worktree" 提示(PR 迭代需要) - Step 6 清理范围限定:只清 .worktrees/ / worktrees/ / ~/.config/superpowers/worktrees/ 之内的;外部 harness-managed workspace 一律不动(核心安全修复) - 红线 + 常见错误段扩展(按上游对应同步) 翻译原则: - 章节标题翻译,但保留章节编号 (Step 0/1/3/4 一一对应) - 代码块完全保留,不翻译变量名/命令 - 散文逐句翻译,不简化不扩写 - 我们独有的 "## 集成" 段保留(指向 brainstorming/subagent-driven-development 等) 不属于本 PR 范围: - review loop 简化(v5.0.6 brainstorming/writing-plans)→ 下一批 - code-reviewer 整合(v5.1.0 requesting-code-review)→ 下一批 - subagent 节奏调整 (v5.1.0 subagent-driven-development) → 下一批 - brainstorm server.cjs 脚本结构同步 (v5.0.6 CONTENT_DIR/STATE_DIR) → 单独 PR Refs: #19
This was referenced May 11, 2026
jnMetaCode
added a commit
that referenced
this pull request
May 12, 2026
… 引用) (#30) * chore(skills): 同步上游 P0 漂移修复(hooks-cursor + brainstorm + code-reviewer 引用) 来自质量审计的 3 个 P0 缺陷,全部是上游漂移类("主站有的我们没跟"),逐项 cherry-pick / 翻译同步: 1. hooks/hooks-cursor.json:command 从直接调 unix shell 脚本改回上游的 polyglot wrapper "./hooks/run-hook.cmd session-start"。修复 Windows Cursor 用户 hook 完全不触发的回归。 2. skills/brainstorming/scripts/{server.cjs,start-server.sh,stop-server.sh}: 完整 cherry-pick 上游 v5.0.6(commit 9e3ed21)的 CONTENT_DIR/STATE_DIR peer-dir 拆分。修复 visual brainstorming 用户因 SKILL.md 指向新路径但 server.cjs 还用旧 SCREEN_DIR 结构导致卡死。 3. skills/requesting-code-review/SKILL.md: - 3 处 "superpowers:code-reviewer" 命名子代理引用 → 上游 v5.1.0 改用 "general-purpose" Task + 模板路径的形式 - 占位符从 5 个(含 WHAT_WAS_IMPLEMENTED + DESCRIPTION 冗余)精简到 4 个 (只保留 DESCRIPTION 作为 "Brief summary of what you built"),与上游对齐 - 示例段落里的占位符顺序和命名同步上游 - "执行计划" 集成段:从 "每批(3 个任务)后审查" 改为 "每个任务完成后或 在自然 checkpoint 审查",对齐上游 v5.1.0 的 subagent 节奏调整 验证:3 文件 diff vs upstream 全部 0 行漂移;残留 "superpowers:code-reviewer" 字符串 0 处。 不在本 PR 范围(issue #19 其他批次留独立 PR): - using-git-worktrees + finishing-a-development-branch v5.1.0 安全修复 → PR #28 - brainstorming + writing-plans 的 review loop 简化 → 后续 PR - subagent-driven-development 的节奏调整其他部分 → 后续 PR Refs: 本次全量质量审计(102/106 测试 96.2% 通过率) * chore(skills): 同步 code-reviewer.md 到上游 v5.1.0 self-contained 版 补漏:本次质量审计第二轮(支持文件结构对比)发现 code-reviewer.md 有真结构漂移——上游 6 个 header,我们 16 个,原因是上游 v5.1.0 (PR #1299)把 reviewer persona + checklist + dispatch 模板整合到 单一 code-reviewer.md 里,self-contained。我们仍是拆分式老版。 这是 issue #19 列出的 "v5.1.0 Code Review 整合" 待办项。同性质上游 同步(主站有的我们没跟),合并到本 PR 的 P0 漂移清单里。 改动:重写 skills/requesting-code-review/code-reviewer.md: - 上游结构:H1 标题 + 散文 intro + 单一 Task tool 代码块(含完整 prompt 模板)+ Placeholders 说明 + Reviewer returns 说明 + Example Output 段 - 翻译策略:散文逐句翻译;占位符 {DESCRIPTION}/{PLAN_OR_REQUIREMENTS}/ {BASE_SHA}/{HEAD_SHA} 保留英文;Critical/Important/Minor 等术语保留 - 验证:上游 6 header == 我方 6 header(结构 1:1 对齐) 不在范围:reviewer-prompt.md 其他文件(spec/plan-document-reviewer-prompt.md、 subagent-driven-development/*-prompt.md)的翻译漂移——已确认全是 translation drift(H 数对齐 1:1),无结构漂移,本 PR 不动。
jnMetaCode
added a commit
that referenced
this pull request
May 12, 2026
防回归基建:把本轮全量质量审计的 4 类检查打包成可重复运行的脚本, 每次 PR 自动跑,发现漂移立刻拦下。 scripts/audit.sh: 1. 静态校验:JSON parse、SKILL.md frontmatter、symlink、hook 可执行性 2. Installer 功能:17 款工具装 / 重装(幂等)/ 卸载全跑一遍 3. 上游对齐:hooks 4 文件 + brainstorm scripts 3 文件 + 14 翻译 skill 结构层级(H1-H4 标题数)+ code-reviewer.md self-contained 版结构 4. 交叉引用:README → docs/ 链接、skill 间 superpowers:xxx 引用、 装完后 .claude/skills/using-superpowers/SKILL.md 路径解析 支持 --quick(跳过 installer)和 --no-upstream(跳过对齐)两个开关。 .github/workflows/audit.yml: - 触发:PR + push to main + 手动 dispatch - 步骤:checkout(fetch-depth 0)+ setup node 20 + 加 upstream remote + fetch upstream main 浅克隆 + 跑 audit.sh - FAIL > 0 → 整个 workflow 失败,PR 被卡 设计原则: - 这次"4 个 P0 缺陷漂"事件(hooks-cursor + brainstorm + code-reviewer 引用 + code-reviewer.md 整合)如果当时有这个 audit 在 CI 跑,PR 阶段就会被拦下 - 用 H 数对齐而不是行数 diff 来判断结构漂移(避免翻译造成的假阳性) - WARN(不阻塞)vs FAIL(阻塞)分级:主动扩写算 WARN, 结构性落后上游算 FAIL 本地烟测: - main 分支跑:92 PASS / 2 WARN / 8 FAIL(捕获到所有已知漂移) - chore/sync-upstream-p0-drift(PR #30)跑:97 PASS / 2 WARN / 0 FAIL(PR 修复后全绿) 后续:PR #28 + #30 merge 后,main 上 FAIL 应归零(WARN 只剩 executing-plans 主动扩写一项)。
jnMetaCode
added a commit
that referenced
this pull request
May 12, 2026
跟 PR #28 + #30 + #31 一起构成 v1.4.0 的完整内容。本 PR 仅做发布层 (版本号 bump + plugin manifest 同步 + release notes),不动 skill 内容。 版本号 1.3.0 → 1.4.0: - package.json - .claude-plugin/plugin.json + marketplace.json - .cursor-plugin/plugin.json - .codex-plugin/plugin.json - gemini-extension.json(之前卡在 1.1.6,本次顺带追上) 工具链小修: - scripts/sync-plugin-version.js TARGETS 加入 gemini-extension.json (之前漏掉,是 gemini-extension.json 长期卡在老版本的根因) - package.json 的 version 钩子 git add 列表加上 gemini-extension.json RELEASE-NOTES.zh.md 新增 v1.4.0 段,按"上游同步"性质分组列出 9 项 修复内容,明确标注每项的上游 ref + 本 fork PR 号。 注意:本 PR 应在 #28 + #30 + #31 merge 之后才 merge —— 顺序错了 会导致 release notes 描述的 PR 在 git log 里还没有。 不影响: - 上游 marketplace 安装路径(仍按主站路径正常工作) - 现有 npm 用户向后兼容(npx superpowers-zh 仍可用)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
你要解决什么问题?
上游
obra/superpowersv5.1.0 对using-git-worktrees和finishing-a-development-branch两个 skill 做了行为安全修复(参见 obra/superpowers#991),本 fork 当前 SKILL.md 内容仍停留在 v4.x/v5.0.5 之前的结构,导致:GIT_DIR != GIT_COMMON在 submodule 内也为真,旧版无守卫/Users/jesse/myproject/硬编码:旧"示例工作流"段含上游作者的本地路径,issue tracking: 同步上游 superpowers v5.0.6 / v5.1.0 关键 skill 变更 #19 列入清理项本 PR 是 issue #19 追踪清单里 v5.1.0 worktree 安全部分的第一批同步。
这个 PR 做了什么改变?
把上游 v5.1.0 在两个 worktree skill 上的所有行为变更逐字翻译同步:
using-git-worktrees/SKILL.md:/Users/jesse/myproject/硬编码)finishing-a-development-branch/SKILL.md:翻译原则:
这个改变适合放在核心库中吗?
适合。这是上游 core skill 的行为安全修复同步,对所有中文用户都生效,不针对任何具体项目/工具/工作流。
你考虑了哪些替代方案?
这个 PR 是否包含多个不相关的改变?
否。两个 skill 同属 worktree 子系统,行为联动(Step 0 检测 ↔ Step 6 清理)。本 PR 严格限定在 worktree 安全修复 scope 内。
明确不在本 PR 范围(issue #19 后续批次):
已有的 PR
测试环境
说明: 本 PR 是 SKILL.md 文档同步,不涉及代码执行路径。
结构对齐验证(本地):
grep -nE '^#{1,4} '比对:我方与 upstream/main 在 Step 0/1a/1b/3/4 + Step 2-6 章节结构 1:1 对齐GIT_DIR出现 10 处(v5.1.0 标志)、MAIN_ROOT6 处(cwd safety)、submodule 守卫 1 处、/Users/jesse硬编码 0 处评估
本 PR 是翻译同步性质,不是 skill 行为设计变更,所以无需对抗式 eval。措辞按上游逐句翻译,不改语义、不优化、不简化。
人类伙伴应做的下游 eval(合并后或本地试用本分支):
.worktrees/<existing-branch>内 cd 进去,触发任何调用 using-git-worktrees 的 skill,确认 Step 0 检测到并跳过创建.worktrees/路径工作区里走 Option 1 / Option 4,确认 Step 6 不会移除(提示由 harness 管理)严格性
人工审核