这个 Skill 能做什么,适合哪些场景?
这是 manaflow-ai/cmux 单仓库(共 25 个技能之一)中的 cmux-testing 技能,面向为 cmux 这个 Swift/AppKit macOS 终端应用贡献代码的开发者。它指导你如何用 scripts/verify-local.py 选择范围恰当的检查,如何编写失败的回归测试再修复(双提交加证据),以及如何用 sync-test-wiring 等脚本保证新的 cmuxTests/*.swift 文件在 project.pbxproj 中正确接线。它还规定了 Swift Testing 的使用规范、原生测试证据要求和 PR CI 标签规则。适合 cmux 的贡献者,不适合普通终端用户。
- 从受信任的 checkout 运行 python3 scripts/verify-local.py(可加 --all / --only swift-syntax --swift-changed / --only test-wiring)来选择并执行本地验证
- 用 scripts/ui-test 以逐帧截图查看 UI 测试行为,用 scripts/ui-lab/ui-lab.py 秒级把视图渲染成明暗两版 PNG
- 通过 scripts/run-e2e.sh --scenario 消费 CI 上的 dogfood JSON 场景,获取截图、GIF 和 accessibility tree
- 要求回归修复采用两个提交:先失败的行为测试,后修复,并记录命令、SHA 与结果
- 用 ./scripts/sync-test-wiring 同步 cmuxTests 的 PBXFileReference/Sources 成员,用 ./scripts/wire-app-sources.py 接线新增 app 源文件
- 规定 Swift 单元/集成测试使用 Swift Testing(@Test、#expect 等),UI 测试保持 XCTest
- 向 cmux 贡献代码的开发者在提交 PR 前,想用最小的本地检查集验证自己的 Swift 改动
- 贡献者新增了一个 cmuxTests/*.swift 测试文件,需要确保它在 Xcode 工程中接线,避免零测试的假通过
- 开发者在修复一个 bug,需要按规范先提交失败的回归测试再提交修复并保留证据
- 评审者在合并 PR 前,想查看 CI dogfood 评论中的截图和 GIF 来确认 UI 行为
- 贡献者改动涉及远程 tmux 尺寸,需要按 E2E 配方执行验证
- 只想安装和使用 cmux 终端应用的普通用户——本技能是面向该仓库的贡献/测试流程
- 非 cmux 仓库的项目——脚本如 verify-local.py、sync-test-wiring 等绑定 cmux 仓库结构
- 非 macOS 环境——cmux 是 Swift/AppKit macOS 应用,UI 测试和 Xcode 工程接线依赖 macOS 工具链
如何安装这个 Skill?
- 本评估为纯静态源码审查,未执行任何脚本或测试;低置信度。
- 仓库 license 元数据为 NOASSERTION,实际为 GPL-3.0 加 BUSL-1.1(web/ 等目录)混合许可,商用/自托管前需自行核实适用范围。
- 技能重度依赖 macOS、Xcode、tmux 与 GitHub Actions(含 Blacksmith runner),非 macOS 环境基本不可用;CI 调度在中国大陆网络下可能受限或缓慢。
- 仅英文文档,无中文支持。
- 运行仓库命令前请确认处于受信 checkout;即便 --help 也会加载仓库代码。
- 发布者未通过 FollowSkills 企业注册表验证,身份视为未知。
- Shell / 命令行
- 本地文件系统
Python 3Xcode / cmux.xcodeprojSwift toolchaincmux repo checkout (scripts/verify-local.py, scripts/ui-test, scripts/ui-lab, scripts/sync-test-wiring, scripts/wire-app-sources.py)
本技能是 cmux 单仓库内 skills/ 目录下的一个 SKILL.md,源材料未提供独立的安装命令;获取该技能集合的方式是克隆仓库:
git clone https://github.com/manaflow-ai/cmux.git(README 中的 DMG/Homebrew 安装是针对 cmux 应用本身,而非本技能。)
如何使用这个 Skill?
安装后,把下面任意一句发给 Agent 即可触发:
- 我改了 cmux 里的几个 Swift 文件,帮我决定提交前需要跑哪些本地验证
- 我新增了一个 cmuxTests 测试文件,检查它在 project.pbxproj 里是否正确接线
- 我要修复一个 cmux 的 bug,按规范生成失败的回归测试提交和修复提交
- 帮我看看这个 PR 的 CI dogfood 评论里的截图,判断 UI 行为是否正确
技能通过"添加测试或决定改动需要什么本地/CI 证据"的场景触发。核心流程:先在受信任的 checkout 中运行 verify-local.py 选择检查;修复 bug 时保持一个聚焦的失败命令,做两个提交并记录 SHA 与结果;新增/重命名/删除测试文件后运行 sync-test-wiring(--check 仅校验);app 源文件用 wire-app-sources.py,UI 测试加 --target cmuxUITests --dir cmuxUITests。常用命令:
python3 scripts/verify-local.py --all
python3 scripts/verify-local.py --only test-wiring
./scripts/sync-test-wiring
./scripts/wire-app-sources.py --check注意:解析类检查只做语法检查,不做类型检查也不运行测试;app 构建不会编译测试目标,公共 API 改动需编译并实际执行相关测试目标。
这个 Skill 有哪些优点和局限?
- 提供了从本地静态检查到 CI dogfood 截图的完整验证决策路径
- 明确防止常见陷阱:零执行测试的假通过、未接线的测试文件、镜像实现细节的伪测试
- 对 Swift Testing 与 XCTest 的迁移边界有清晰规则,避免不必要的迁移
- 仅在 cmux 仓库内有意义,脚本和路径高度绑定该仓库
- 源材料未提供该技能的独立测试套件或跨平台验证证据
- 某些验证(UI 测试、Xcode 接线、dogfood)需要 macOS 与 Xcode,门槛较高
这个 Skill 与同类方案有什么区别?
与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。
| Skill | FS 评分 | Star 数 | 最近更新 | License |
|---|---|---|---|---|
| cmux 测试技能 本页 | 60 · 推荐 | ★ 28k | 1 天前 | NOASSERTION |
| cmux 共享行为规则 | 48 · 谨慎使用 | ★ 28k | 1 天前 | NOASSERTION |
| cmux 开发工作流技能 | 53 · 谨慎使用 | ★ 28k | 1 天前 | NOASSERTION |
| cmux 工作区操作技能 | 64 · 推荐 | ★ 28k | 1 天前 | NOASSERTION |
| cmux-browser:cmux 内置浏览器自动化技能 | 60 · 推荐 | ★ 28k | 1 天前 | NOASSERTION |
README 将 cmux 与 tmux 对比(cmux 是带 GUI 的原生 macOS 应用而非终端复用器),但那是应用层面;源材料未为本测试技能指定同类替代品。
FollowSkills 如何评估这个 Skill?
证据显示技能明确要求仅从受信 checkout 运行仓库命令,并指出即使 --help 也会加载仓库代码;文档本身为纯指导性文本,不执行破坏性操作、不索取凭据;e2e/UI 测试要求通过已 pin commit 的 CI wrapper 调度,避免本地运行未标记 app。扣分:技能引用的脚本本体未在本次审查范围内直接审读,最小权限与外部效果需由读者信任其描述;发布者未经验证。
SKILL.md 与 references 高度自洽:明确区分'编译测试目标'与'执行测试'、零测试不算验证、wiring 缺失会导致虚假通过,并有详细的失败诊断(shim-check、pane_grids 输出、fuzz 的具体 setup 错误与修复)。扣分:静态审查未执行,关键路径(verify-local.py、sync-test-wiring、fuzz 脚本)的可运行性与依赖(tmux、Xcode、GitHub Actions runner)可用性未经证实,故不上 10 以上。
受众与场景清晰(为 cmux 贡献者/agent 决定测试与验证证据),description 触发条件明确('adding tests or deciding what local/CI evidence a change needs'),边界披露充分(ui-lab 明示'不是运行中的 app';sizing suite 明示 hermetic 条件)。扣分:环境强绑定 macOS/Xcode/GitHub Actions,未声明对其他环境的非适用范围;无中文支持;CI 调度依赖海外 GitHub Actions 与 Blacksmith runner,中国大陆可达性存在不确定性。
信息架构分层良好:SKILL.md 主文档 + 多个 references 深度指南,渐进披露清晰,命令与命名稳定且互相链接。仓库层面有 LICENSE、SECURITY.md、版本化实践。扣分:仓库 license 元数据为 NOASSERTION 且实际为 GPL-3.0 与 BUSL-1.1 混合许可,技能自身未声明版本/变更记录,维护责任与更新路径未在技能文件内明示。
技能对核心任务(选择范围化验证、编写行为测试、修复测试 wiring)给出直接可用的命令和判断规则,相比自行摸索有明确边际价值。扣分:静态审查无法验证输出实际可用性;其价值高度依赖仓库工具链的存在与正确性,且多数关键验证最终仍需 CI 时间成本(文档自承 10-20 runner 分钟),收益/成本比例未经执行验证。
仓库内含真实 CI workflow(如 app-host-test-rerun.yml,含固定 SHA 的 action 引用与 permissions 限制)与技能引用相互印证,claim 大多有源可查。扣分:静态审查只能确认文件存在与一致性,无法独立复现执行结论;引用的部分外部路径(references、docs)未在本次证据中给出。
点击维度查看打分理由
证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。
查看完整评分方法 →