这个 Skill 能做什么,适合哪些场景?
这是 manaflow-ai/cmux 仓库内 25 个技能之一,位于 skills/cmux-debugging/SKILL.md。它教 AI 代理如何为 cmux macOS 应用添加调试探针、追踪 DEBUG 构建的日志文件、使用 Debug 菜单,并遵守一组经过实战积累的运行时规则,例如不要在 forceRefresh 中分配内存、不要破坏 Equatable 视图优化。它还记录了严格的性能红线:绝不能用 xctrace --launch 启动 cmux,因为用户的实时代理会话都在里面。适合参与 cmux 本身开发的贡献者使用。
- 提供统一调试日志的用法:tail -f 读取 /tmp/cmux-debug.log 或带标签的日志路径
- 说明 cmuxDebugLog 探针的添加位置、#if DEBUG 包裹要求和稳定事件前缀命名(tab.select、pane.focus 等)
- 教授安全的性能分析方法:attach 到已有 pid(xctrace record --attach / sample),禁止 launch 模式
- 列出运行时陷阱清单:UTExportedTypeDeclarations、hitTest 热路径、LazyVStack 快照边界、.equatable() 优化等
- 说明如何在 Debug 菜单中新增调试窗口(NSWindowController + @AppStorage)
- 附带 references/debug-event-log.md 与 references/runtime-pitfalls.md 两份深入参考资料
- 给 cmux 贡献者:在键鼠/焦点事件代码中加调试探针并正确命名前缀时,按规范操作
- 修改终端渲染、TabItemView 或 TerminalSurface 代码前,先查阅打字延迟敏感路径的红线
- 诊断 macOS 版本相关的 UI 复现问题时,提醒在报告者的 macOS 大版本上验证
- 为 Debug 菜单添加新的布局/颜色调参窗口时,按既有的 NSWindowController 模式实现
- 自定义拖放 UTType 时,记得在 Info.plist 的 UTExportedTypeDeclarations 中声明
- 不适用于开发自己的终端应用——全部规则绑定 cmux 的具体源码路径和内部约定
- 不适用于只想使用 cmux 终端功能的普通用户,他们无需了解 DEBUG 构建的调试机制
- 仅覆盖 macOS(cmux 本身只支持 macOS),无法用于其他平台
如何安装这个 Skill?
- 本技能仅适用于在 macOS 上对 cmux 仓库本体的开发调试,非 cmux 用户的通用技能;误触发可能性需通过触发词 'cmux' 限定。
- 技能文档无版本号与变更记录,规则可能随代码演进失效,使用前应核对引用的源文件路径仍然存在。
- 调试日志与 profiler 指引涉及真实用户会话(文档记载曾因重启丢失五个 agent 会话),操作前务必确认 attach 而非 launch。
- 仓库 license 元数据为 NOASSERTION,实际为 GPL-3.0-or-later 且 web/ 等目录为 BUSL-1.1,二次分发需自行核法务。
- 无中文文档;静态评审未执行任何命令,可靠性结论基于源文件一致性而非运行验证。
- Shell / 命令行
- 本地文件系统
macOScmux source treexctrace/sample profilers
源材料未提供该技能的安装命令。该技能位于 cmux 单体仓库的 skills/cmux-debugging/ 目录,获取仓库即可获得;README 仅记载 cmux 应用本身的安装方式(DMG 或 Homebrew),未记载 skills 的独立安装步骤。
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/manaflow-ai/cmux.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/skills/cmux-debugging" ~/.claude/skills/
rm -rf "$tmp"根据源仓库地址和 Skill 路径自动生成,只复制这个 Skill 的文件夹。如果上文有作者提供的安装方式,请优先按作者说明操作;想只在当前项目中使用,把 ~/.claude/skills 换成项目里的 .claude/skills。
如何使用这个 Skill?
安装后,把下面任意一句发给 Agent 即可触发:
- 我要给 cmux 的标签页拖拽加调试探针,帮我在正确位置加 cmuxDebugLog 调用并用规范的事件前缀命名
- cmux 打字时界面卡顿,按 runtime pitfalls 清单检查我改动过的 TerminalSurface.forceRefresh 和 TabItemView
- 帮我在 Debug 菜单里新增一个调整侧边栏颜色的调试窗口
- 有用户报的 bug 在我的 macOS 上无法复现,按技能要求我该怎么做?
技能通过其 description 触发:当任务涉及添加调试探针、诊断 UI/运行时问题、修改终端渲染、标签页/侧边栏列表视图、拖放 UTTypes 或使用 Debug 菜单时使用。核心流程是:先按规范打日志探针(写入 DEBUG 构建的统一日志),用 tail 跟踪日志,需要性能分析时 attach 到运行中的进程而非重新启动。可用命令示例:
tail -f "$(cat /tmp/cmux-last-debug-log-path 2>/dev/null || echo /tmp/cmux-debug.log)"
xctrace record --attach <pid>
sample <pid>深入细节时查阅 references/debug-event-log.md 与 references/runtime-pitfalls.md。
这个 Skill 有哪些优点和局限?
- 沉淀了 cmux 项目真实踩过的坑,包括一次因性能分析导致五个代理会话丢失的事故教训
- 提供稳定的事件前缀命名体系和现成的日志跟踪命令,可直接复制使用
- 两条深入参考文档覆盖探针命名与运行时陷阱,动手前可快速查阅
- 强绑定 cmux 源码结构和内部路径(如 Sources/ContentView.swift、CMUXDebugLog 包),离开该仓库几乎没有价值
- README 使用 NOASSERTION 许可标识(应用主体为 GPL-3.0-or-later,服务器端为 BUSL-1.1),商用前需自行确认边界
- 技能本身没有配套自动化脚本,全靠模型阅读并遵守文字规则,违反热路径约束的风险仍取决于执行方
这个 Skill 与同类方案有什么区别?
与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。
| Skill | FS 评分 | Star 数 | 最近更新 | License |
|---|---|---|---|---|
| cmux 调试技能 本页 | 56 · 谨慎使用 | ★ 28k | 1 天前 | NOASSERTION |
| cmux Ghostty 子模块工作流技能 | 54 · 谨慎使用 | ★ 28k | 1 天前 | NOASSERTION |
| cmux 自定义侧边栏 | 50 · 谨慎使用 | ★ 28k | 1 天前 | NOASSERTION |
| cmux 工作区操作技能 | 64 · 推荐 | ★ 28k | 1 天前 | NOASSERTION |
| cmux 自定义技能 | 55 · 谨慎使用 | ★ 28k | 1 天前 | NOASSERTION |
源材料将 cmux 与 tmux 类比(tmux 是任意终端内的复用器,cmux 是带 GUI 的原生 macOS 应用),但本技能本身是 cmux 内部调试规范,没有直接可替代的同类技能可比。
FollowSkills 如何评估这个 Skill?
技能内容以指导性说明为主,无网络访问、无凭据操作、无外部副作用;唯一具外效性的 profiling 指令明确禁止杀掉/重启用户运行中的 cmux(引用了真实事故),并限制为 attach 模式,属于最小权限方向。log tail 命令只读本地 /tmp 文件。扣分点:未验证 publisher(按规则不因未知扣分),但对调试日志路径写入 /tmp 的数据流、以及 reload.sh 行为仅有单向声明,无独立确认;日志可能包含会话内容却未讨论敏感信息处理。扣除权限确认与数据流披露不完整部分。
指令自洽性高:SKILL.md 与两个 references 文件路径、前缀、文件名互相一致,给出了具体实现文件位置、事件前缀清单、环缓冲与 dump 机制,失败模式(如未加 #if DEBUG 破坏非 Debug 构建)有明确解释。扣分:纯静态评审,tail 命令与脚本行为未执行复现;依赖 /tmp 状态文件(cmux-last-debug-log-path)在无状态环境下的行为未说明异常分支;无针对技能本身的测试证据,按静态上限不得高于 10。
触发描述精确:明确列出何时使用(debug probes、UI/runtime 诊断、渲染、UTTypes、Debug menu)并指明 'debug menu' 的语义消歧;边界清楚(仅 macOS、仅 DEBUG 构建、仅限 cmux 仓库开发者)。扣分:无中文支持,受众限于本仓库贡献者,对 FollowSkills 中文用户适用面窄;环境依赖 macOS/Xcode 未在技能内声明为非适用范围说明。
信息架构良好:SKILL.md 精炼 + references 渐进展开,命名稳定,含具体 issue 引用。扣分:技能无版本号、无 changelog、无维护责任声明;仓库 license 元数据为 NOASSERTION(虽 LICENSE 实际为 GPL-3.0-or-later + 部分目录 BUSL-1.1,但技能未声明自身许可);安装/依赖说明缺失(假定读者已有构建环境)。
若场景匹配(cmux 仓库内调试),技能提供大量手工难以快速获得的踩坑规则(hitTest 热路径、equatable 边界、OS 版本差异)边际价值明显。扣分:价值完全限于该单一仓库,无法静态验证输出可直接使用;对非仓库维护者几乎无用途,性价比受限。
大量可核查的具体主张:实现文件路径、事件前缀、Info.plist UTType 名、issue #2586/#4529/#14427 链接,均可用仓库源交叉核对。扣分:静态评审未执行、未独立复现;issue 引用内容无法在本次证据中确认;主张与推断部分未严格分离,按静态上限不高于 5。
点击维度查看打分理由
证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。
查看完整评分方法 →