开发与工程

cmux Socket 策略规范技能

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

58/ 100
推荐

整体可靠,存在已披露的局限;按说明试用并保留回滚路径。

查看评分依据 ↓
可直接使用于
ChatGPT · Codex · Claude Code · Claude.ai
Star 数
★ 28k
最近更新
1 天前
License
NOASSERTION
cmuxmacossocket-apiconcurrency
+4grand-central-dispatchfocus-policycli-developmentappkit

这个 Skill 能做什么,适合哪些场景?

这是 manaflow-ai/cmux 仓库内置的 25 个技能之一,位于 skills/cmux-socket-policy/SKILL.md。它不是可执行工具,而是一份写给 AI 编码代理的编码政策文档,覆盖三个方面:socket 命令的线程调度(遥测类命令必须离开主线程)、焦点策略(非焦点命令不得激活应用或抬升窗口)、以及远程中继授权(v2 方法默认拒绝,需安全分析才能加白)。该技能面向直接参与 cmux macOS 原生应用(Swift/AppKit/Ghostty)开发的代理,属于仓库内部贡献规范,而非面向终端用户的通用工具。

  • 规定 report_*、ports_kick 等高频遥测 socket 命令禁止使用 DispatchQueue.main.sync,参数解析与去重合并须在主线程之外完成
  • 要求新增 socket 命令默认离主线程处理,主线程执行须在代码注释中给出明确理由
  • 列举仅有的显式焦点意图命令(window.focus、workspace.select 等),其余命令必须保持用户当前焦点上下文
  • 规定 open 类命令交互执行时才获取焦点,由代理/脚本执行时默认后台运行(--focus / --no-focus 可覆盖)
  • 强制 v2 方法的远程中继授权默认拒绝,加白必须参照 references/remote-relay-authorization.md 完成安全分析与策略测试
适合
  • 为 cmux 仓库贡献代码的开发者,在新增或修改 socket/CLI 命令时让代理先加载此政策,避免引入主线程阻塞或焦点抢占缺陷
  • 代理在实现 report_*、ports_kick、状态进度更新等遥测热路径时,按规范将解析、去重、合并放到主线程之外
  • 编写会调用 cmux CLI 或 socket 的自动化脚本时,确认 open 类命令在脚本场景默认后台运行、不抢走用户当前窗口焦点
  • 需要为某个 v2 方法开放远程 cmux ssh 中继时,按技能指引走默认拒绝的加白流程并补齐安全分析
  • 代码评审者用它作为检查清单,判断命令执行上下文与焦点变更是否符合仓库约定
不适合
  • cmux 的普通终端用户——该技能是仓库内部贡献规范,不涉及日常使用、主题配置或通知设置
  • 希望在通用项目里复用的开发者——政策条文深度绑定 cmux 的具体命令名(ports_kick、workspace.select 等),离开该代码库几乎没有意义
  • 不使用 macOS/Swift/AppKit 技术栈的团队——规范围绕 AppKit 主线程与 macOS 应用焦点模型展开,无法迁移

如何安装这个 Skill?

使用前请注意
  • 该技能仅适用于在 cmux 仓库内开发 socket/CLI/聚焦相关功能,不要在其他项目或终端环境中误触发。
  • 技能文件未声明自身许可证;仓库许可混合 GPL-3.0 与 BUSL-1.1(web/ 等目录),复用策略文本前请核对许可范围。
  • 中继授权策略涉及安全关键行为(默认拒绝、allowlist 审查),修改相关方法时应核对 references 指向的真实测试文件,不要仅凭技能文本行事。
  • 本评审为静态源码审查,未执行任何测试,所有评分置信度为低。
开始前你需要
Agent 需要具备
  • 本地文件系统

该技能是 manaflow-ai/cmux 仓库中 skills/ 目录下的文件,源材料未提供独立的安装命令。要使用它,需克隆仓库并将 skills/cmux-socket-policy/ 目录放入支持 Agent Skills 标准的客户端技能目录,或直接在对话中让代理阅读 SKILL.md 及其 references/ 下的两份详细参考文档。具体安装步骤源材料未记载。

通用方式:手动安装到 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-socket-policy" ~/.claude/skills/
rm -rf "$tmp"

根据源仓库地址和 Skill 路径自动生成,只复制这个 Skill 的文件夹。如果上文有作者提供的安装方式,请优先按作者说明操作;想只在当前项目中使用,把 ~/.claude/skills 换成项目里的 .claude/skills。

如何使用这个 Skill?

试试这样说

安装后,把下面任意一句发给 Agent 即可触发:

  • 我要给 cmux 新增一个 report_metrics socket 命令,请先阅读 cmux-socket-policy 技能并按线程政策实现,参数解析和去重放在主线程之外
  • 帮我写一个脚本批量打开 10 个 cmux 工作区,注意按焦点政策不要抢走我当前窗口的焦点,socket 调用保持默认 focus=false
  • 我想把 workspace.rename 这个 v2 方法加入 cmux ssh 远程中继白名单,请先读 references/remote-relay-authorization.md,完成安全分析并补上策略测试
  • 评审这个 PR 里的新 CLI 命令:它调用了 DispatchQueue.main.sync 处理 ports_kick 遥测,并激活了应用窗口,请对照 cmux-socket-policy 指出违规之处

技能通过 SKILL.md 的 description 字段声明触发条件:当任务涉及新增/修改 socket 命令、CLI 命令、遥测命令、focus/select/open/close/send-key 行为,或编写可能抢占应用焦点的自动化时,代理应加载本技能。流程是先读 SKILL.md 的线程政策与焦点政策主体,再按需阅读两份引用文档:references/threading-and-focus.md(新增命令或改变执行上下文时)和 references/remote-relay-authorization.md(新增/修改 v2 方法或远程 CLI 命令时)。注意 open 类命令有 --focus / --no-focus 开关,socket 方法默认 focus 为 false,未获焦点的窗格会被标记为未读。

这个 Skill 有哪些优点和局限?

优点
  • 政策具体到命令名和 API(DispatchQueue.main.sync、defaultFocusForUserOpen),可执行性强,不是空泛原则
  • 焦点默认值设计合理:代理/脚本触发的 open 命令默认后台运行,人工交互才获取焦点,且有显式开关
  • 远程中继采用默认拒绝加白名单模式,并强制配套安全分析与策略测试,安全姿态明确
  • 纯文档技能,无运行时依赖,任何能读文件的代理客户端都可直接使用
局限
  • 仅适用于 cmux 仓库自身的开发,对其他项目几乎零迁移价值
  • 源材料未提供该技能的测试或验证情况,政策是否被 CI 强制执行无从判断
  • 依赖两份 references 文档,若仓库结构变动(如 remote-relay-authorization.md 改名)技能会失效
  • 没有给出任何安装或调用命令,接入方式依赖客户端对 Agent Skills 目录约定的支持

这个 Skill 与同类方案有什么区别?

与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。

Skill FS 评分 Star 数 最近更新 License
cmux Socket 策略规范技能 本页 58 · 推荐 ★ 28k 1 天前 NOASSERTION
cmux 工作区操作技能 64 · 推荐 ★ 28k 1 天前 NOASSERTION
cmux-browser:cmux 内置浏览器自动化技能 60 · 推荐 ★ 28k 1 天前 NOASSERTION
cmux 诊断 51 · 谨慎使用 ★ 28k 1 天前 NOASSERTION
cmux 共享行为规则 48 · 谨慎使用 ★ 28k 1 天前 NOASSERTION

源材料未将本技能与任何同类替代品直接对比。cmux 应用本身在 README 中与 tmux 作过对比(tmux 是任意终端内运行的复用器,cmux 是带垂直标签页、内嵌浏览器和 socket API 的原生 macOS 应用),但那是产品层面的对比,与这份内部编码政策技能无关。

FollowSkills 如何评估这个 Skill?

FollowSkills 评估 · FSRS-2.0
推荐
58/ 100 五分制 2.9 / 5
1信任安全18 / 25 · 3.6/5

该技能本身不含可执行代码,仅声明策略:遥测命令默认离主线程、非聚焦命令不得抢占焦点、远程中继默认拒绝并要求安全分析与策略测试(GHSA-9vmv-3hjw-j28c)。数据流披露清楚,最小权限原则明确。扣分项:发布者未经注册表验证,仓库级 license 元数据为 NOASSERTION,技能未自身声明许可与归属。

2可靠稳定9 / 20 · 2.3/5

SKILL.md 与两个 references 文件内部一致,触发条件、豁免清单(focus-intent 命令列表)和默认值(defaultFocusForUserOpen、--focus/--no-focus)写得具体,引用的测试路径明确。静态审查无法执行任何验证,测试套件是否真实覆盖关键路径未复现,扣分。

3适用触发10 / 15 · 3.3/5

受众(为 cmux 添加/修改 socket、CLI、聚焦行为的开发者与代理)和触发时机描述精确,边界(仅限 cmux 仓库内开发)清楚。扣分项:适用范围极窄(仅 cmux 仓库贡献场景),对其他环境不适用未显式声明,文档仅英文。

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

结构良好:SKILL.md 为主层,references 提供渐进披露,agents/openai.yaml 提供接口元数据,引用了 CI review bot 强制规则。扣分项:技能无版本号或变更记录,license 元数据 NOASSERTION,维护责任与更新路径依赖仓库整体而非技能自身声明。

5有效结果7 / 15 · 2.3/5

作为编码策略指南能直接约束代理行为、防止焦点抢占和主线程死锁,价值明确且优于让代理自行猜测。扣分项:静态审查无法验证代理实际遵循效果,输出为行为约束而非可直接使用的产物,收益证据有限。

6证据核验5 / 10 · 2.5/5

引用可审计:具体 GHSA 编号、具体源码与测试路径(RemoteCLIRelayPolicyTests、CmuxRemoteWorkspace/Relay/)、review bot 规则文件。但均为作者自述,静态审查无法独立复现策略实现与测试覆盖,扣分。

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 的 CLI 文档和 cmux-skills 集合中的其他技能。
为什么代理写的 open 命令总是不抢焦点,有时又会?
按此政策,open 类命令交互执行时获取焦点,由代理或脚本执行时默认后台(defaultFocusForUserOpen)。用 --focus 可强制获取焦点,--no-focus 可强制后台;socket 方法默认 focus 为 false。
我可以把某个 v2 方法加入远程中继白名单吗?
可以,但 RemoteRelayCommandPolicy 默认拒绝所有方法。加白需要按 references/remote-relay-authorization.md 完成安全分析并补齐对应的策略测试。
遥测命令为什么不能在主线程同步执行?
report_*、ports_kick、状态/进度/日志元数据更新属于高频热路径,DispatchQueue.main.sync 会阻塞 AppKit 主线程造成卡顿。政策要求参数解析验证、去重合并都在主线程之外做,只在必要时用 DispatchQueue.main.async 做最小 UI/模型变更。

同仓库的其他 Skills

均来自 manaflow-ai/cmux

开发与工程

cmux 工作区操作技能

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

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

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

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

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

cmux 诊断

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

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

cmux 共享行为规则

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

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

cmux 测试技能

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

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

cmux 键盘快捷键定制

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

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

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

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

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

cmux 自定义技能

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

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

cmux 开发工作流技能

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

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

cmux Markdown 查看器

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

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

cmux Computer Use 技能

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

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

cmux 自定义侧边栏

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

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

cmux Cloud 虚拟机技能

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

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

cmux 架构规范技能

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

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

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

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

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

cmux 核心控制技能

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

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

cmux 调试技能

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

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

cmux 本地化规范与审计技能

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

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

cmux Ghostty 子模块工作流技能

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

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

cmux 发布助手

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

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

相关 Skills