这个 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 指向的真实测试文件,不要仅凭技能文本行事。
- 本评审为静态源码审查,未执行任何测试,所有评分置信度为低。
- 本地文件系统
该技能是 manaflow-ai/cmux 仓库中 skills/ 目录下的文件,源材料未提供独立的安装命令。要使用它,需克隆仓库并将 skills/cmux-socket-policy/ 目录放入支持 Agent Skills 标准的客户端技能目录,或直接在对话中让代理阅读 SKILL.md 及其 references/ 下的两份详细参考文档。具体安装步骤源材料未记载。
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?
该技能本身不含可执行代码,仅声明策略:遥测命令默认离主线程、非聚焦命令不得抢占焦点、远程中继默认拒绝并要求安全分析与策略测试(GHSA-9vmv-3hjw-j28c)。数据流披露清楚,最小权限原则明确。扣分项:发布者未经注册表验证,仓库级 license 元数据为 NOASSERTION,技能未自身声明许可与归属。
SKILL.md 与两个 references 文件内部一致,触发条件、豁免清单(focus-intent 命令列表)和默认值(defaultFocusForUserOpen、--focus/--no-focus)写得具体,引用的测试路径明确。静态审查无法执行任何验证,测试套件是否真实覆盖关键路径未复现,扣分。
受众(为 cmux 添加/修改 socket、CLI、聚焦行为的开发者与代理)和触发时机描述精确,边界(仅限 cmux 仓库内开发)清楚。扣分项:适用范围极窄(仅 cmux 仓库贡献场景),对其他环境不适用未显式声明,文档仅英文。
结构良好:SKILL.md 为主层,references 提供渐进披露,agents/openai.yaml 提供接口元数据,引用了 CI review bot 强制规则。扣分项:技能无版本号或变更记录,license 元数据 NOASSERTION,维护责任与更新路径依赖仓库整体而非技能自身声明。
作为编码策略指南能直接约束代理行为、防止焦点抢占和主线程死锁,价值明确且优于让代理自行猜测。扣分项:静态审查无法验证代理实际遵循效果,输出为行为约束而非可直接使用的产物,收益证据有限。
引用可审计:具体 GHSA 编号、具体源码与测试路径(RemoteCLIRelayPolicyTests、CmuxRemoteWorkspace/Relay/)、review bot 规则文件。但均为作者自述,静态审查无法独立复现策略实现与测试覆盖,扣分。
点击维度查看打分理由
证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。
查看完整评分方法 →