开发与工程

cmux 调试技能

为 cmux(基于 Ghostty 的 macOS 终端)开发者提供调试日志、Debug 菜单、运行时陷阱和性能敏感路径的规范知识,避免在打字延迟敏感代码中引入卡顿。

56/ 100
谨慎使用

价值存在,但可靠性、证据或控制措施仍有明显缺口。

查看评分依据 ↓
可直接使用于
Codex · Claude Code
Star 数
★ 28k
最近更新
1 天前
License
NOASSERTION
macosswiftuidebuggingterminal-emulator
+4ghosttyprofilingruntime-pitfallsdebug-logging

这个 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,二次分发需自行核法务。
  • 无中文文档;静态评审未执行任何命令,可靠性结论基于源文件一致性而非运行验证。
开始前你需要
Agent 需要具备
  • Shell / 命令行
  • 本地文件系统
需要预先安装
  • macOS
  • cmux source tree
  • xctrace/sample profilers

源材料未提供该技能的安装命令。该技能位于 cmux 单体仓库的 skills/cmux-debugging/ 目录,获取仓库即可获得;README 仅记载 cmux 应用本身的安装方式(DMG 或 Homebrew),未记载 skills 的独立安装步骤。

通用方式:手动安装到 Claude Code(macOS / Linux)
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?

FollowSkills 评估 · FSRS-2.0
谨慎使用
56/ 100 五分制 2.8 / 5
1信任安全18 / 25 · 3.6/5

技能内容以指导性说明为主,无网络访问、无凭据操作、无外部副作用;唯一具外效性的 profiling 指令明确禁止杀掉/重启用户运行中的 cmux(引用了真实事故),并限制为 attach 模式,属于最小权限方向。log tail 命令只读本地 /tmp 文件。扣分点:未验证 publisher(按规则不因未知扣分),但对调试日志路径写入 /tmp 的数据流、以及 reload.sh 行为仅有单向声明,无独立确认;日志可能包含会话内容却未讨论敏感信息处理。扣除权限确认与数据流披露不完整部分。

2可靠稳定10 / 20 · 2.5/5

指令自洽性高:SKILL.md 与两个 references 文件路径、前缀、文件名互相一致,给出了具体实现文件位置、事件前缀清单、环缓冲与 dump 机制,失败模式(如未加 #if DEBUG 破坏非 Debug 构建)有明确解释。扣分:纯静态评审,tail 命令与脚本行为未执行复现;依赖 /tmp 状态文件(cmux-last-debug-log-path)在无状态环境下的行为未说明异常分支;无针对技能本身的测试证据,按静态上限不得高于 10。

3适用触发9 / 15 · 3.0/5

触发描述精确:明确列出何时使用(debug probes、UI/runtime 诊断、渲染、UTTypes、Debug menu)并指明 'debug menu' 的语义消歧;边界清楚(仅 macOS、仅 DEBUG 构建、仅限 cmux 仓库开发者)。扣分:无中文支持,受众限于本仓库贡献者,对 FollowSkills 中文用户适用面窄;环境依赖 macOS/Xcode 未在技能内声明为非适用范围说明。

4规范维护9 / 15 · 3.0/5

信息架构良好:SKILL.md 精炼 + references 渐进展开,命名稳定,含具体 issue 引用。扣分:技能无版本号、无 changelog、无维护责任声明;仓库 license 元数据为 NOASSERTION(虽 LICENSE 实际为 GPL-3.0-or-later + 部分目录 BUSL-1.1,但技能未声明自身许可);安装/依赖说明缺失(假定读者已有构建环境)。

5有效结果6 / 15 · 2.0/5

若场景匹配(cmux 仓库内调试),技能提供大量手工难以快速获得的踩坑规则(hitTest 热路径、equatable 边界、OS 版本差异)边际价值明显。扣分:价值完全限于该单一仓库,无法静态验证输出可直接使用;对非仓库维护者几乎无用途,性价比受限。

6证据核验4 / 10 · 2.0/5

大量可核查的具体主张:实现文件路径、事件前缀、Info.plist UTType 名、issue #2586/#4529/#14427 链接,均可用仓库源交叉核对。扣分:静态评审未执行、未独立复现;issue 引用内容无法在本次证据中确认;主张与推断部分未严格分离,按静态上限不高于 5。

1 2 3 4 5 6

点击维度查看打分理由

评估于 2026年10月10日 审查版本 3dd1fe78859f 评估证据[1][2][3][4][5][6][7][8][9][10][11][12][13]

证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。

查看完整评分方法 →

常见问题

我需要装 cmux 应用才能用这个技能吗?
技能知识对参与 cmux 源码开发才有效:需要 cmux 的 DEBUG 构建、源码树和 reload.sh 脚本。普通 cmux 终端用户用不到这套调试机制。
为什么性能分析不能用 Instruments 的启动模式?
因为技能明确禁止用 xctrace --launch 启动任何 cmux bundle,也禁止退出或重启用户正在运行的 cmux——里面有实时代理会话,2026-09-26 一次疑似分析器重启就导致五个会话丢失。只能 attach 到已有 pid。
探针日志会留在生产代码里吗?
不会。技能规定大多数探针属于 dogfood 调试循环,合并前应移除;所有调用点必须包在 #if DEBUG / #endif 中。
这个技能收费吗?
cmux 开源免费(应用主体 GPL-3.0-or-later),技能随仓库分发,无需付费。

同仓库的其他 Skills

均来自 manaflow-ai/cmux

开发与工程

cmux Ghostty 子模块工作流技能

为 cmux 贡献者提供 Ghostty 子模块与 GhosttyKit.xcframework 的标准化构建、推送与指针更新流程,避免子模块指针悬空导致的拉取失败。

★ 28k FS 54 谨慎使用 1 天前
开发与工程

cmux 自定义侧边栏

从一句自然语言需求生成可热重载的 cmux 自定义侧边栏,无需 Xcode、无需构建、无需签名。

★ 28k FS 50 谨慎使用 1 天前
开发与工程

cmux 工作区操作技能

让 AI 代理安全地在调用它的 cmux 工作区内工作,避免误触用户正在查看的其他工作区或窗口。

★ 28k FS 64 推荐 1 天前
开发与工程

cmux 自定义技能

针对 cmux 终端的配置技能:安全地编辑 cmux.、Dock 配置与 Ghostty 偏好,定制动作、布局、快捷键和通知,而不破坏现有配置。

★ 28k FS 55 谨慎使用 1 天前
开发与工程

cmux 核心控制技能

通过 cmux CLI 确定性地控制多窗格终端布局——创建工作区、分割面板、移动与聚焦表面、触发提醒,专为 AI 编码代理的自动化而设计。

★ 28k FS 47 谨慎使用 1 天前
开发与工程

cmux 本地化规范与审计技能

在修改 cmux 任何用户可见文案时,强制执行本地化规则并跑完一条可核验的翻译审计流程,杜绝硬编码英文串。

★ 28k FS 56 谨慎使用 1 天前
开发与工程

cmux 键盘快捷键定制

把你的按键习惯变成 cmux 的快捷键绑定:提供向导、模板与一键应用,避免误绑和冲突。

★ 28k FS 58 推荐 1 天前
开发与工程

cmux 设置管理技能(cmux-settings)

安全查看、修改和回滚 cmux 终端的 cmux. 配置,改完即存即生效,无需重启应用。

★ 28k FS 58 推荐 1 天前
自动化与运维

cmux Cloud 虚拟机技能

让 AI 代理通过 cmux CLI 操作云端虚拟机:在持久化的远程终端上运行长时命令和编码代理,并在完成后向用户展示结果工作区。

★ 28k FS 56 谨慎使用 1 天前
开发与工程

cmux-capture:cmux 窗口截图与录制

用一条 CLI 命令截图或录制 cmux 窗口,为 PR、bug 报告或视觉验证提供真实证据,且无需任何屏幕录制权限。

★ 28k FS 55 谨慎使用 1 天前
效率与协作

cmux Markdown 查看器

把 .md 文件在 cmux 终端旁的格式化面板中打开,文件一变就自动重渲染,让计划、文档和笔记始终可见。

★ 28k FS 52 谨慎使用 1 天前
开发与工程

cmux 诊断

为 cmux 用户收集安全、只读的诊断信息,快速定位钩子、通知、会话恢复和 CLI 控制不工作的问题。

★ 28k FS 51 谨慎使用 1 天前
开发与工程

cmux 共享行为规则

为 cmux 多入口行为制定统一的实现与验证规则,避免某个入口改了、其他入口仍是旧逻辑或旧 bug。

★ 28k FS 48 谨慎使用 1 天前
开发与工程

cmux 架构规范技能

在向 cmux 添加或大幅改写 Swift 文件、包、协调器、服务或公共 API 之前,先加载这套包架构、分层、依赖倒置与 Swift 6 并发规则,避免违反项目约定。

★ 28k FS 63 推荐 1 天前
开发与工程

cmux-browser:cmux 内置浏览器自动化技能

在不抢夺焦点的前提下,通过 cmux CLI 打开网页、探查浏览器表面、等待页面状态并提取数据,专为并行开发场景设计。

★ 28k FS 60 推荐 1 天前
开发与工程

cmux 测试技能

为 cmux 仓库选择合适的本地/CI 验证方式,添加有行为依据的测试,并确保 Swift 测试文件在 Xcode 工程中正确接线。

★ 28k FS 60 推荐 1 天前
开发与工程

cmux Socket 策略规范技能

为 cmux 的 socket/CLI 命令开发提供线程调度与焦点行为规范,避免高遥测负载卡死主线程、避免自动化命令抢占用户焦点。

★ 28k FS 58 推荐 1 天前
开发与工程

cmux 开发工作流技能

为 cmux 贡献者提供原生构建、带标签开发包、Xcode 工程规范化与侧边栏扩展的标准化工作流,避免破坏正在运行的 cmux 会话。

★ 28k FS 53 谨慎使用 1 天前
开发与工程

cmux 发布助手

为 cmux 仓库维护者整理发版全流程:版本号递增、变更日志汇总、预发布守卫、打标签与产物校验,减少手工遗漏。

★ 28k FS 53 谨慎使用 1 天前
自动化与运维

cmux Computer Use 技能

让 cmux 中的 AI 编码代理通过本地计算机使用引擎操作真实 macOS 应用,前提是用户明确提出请求。

★ 28k FS 50 谨慎使用 1 天前

相关 Skills