From 19f85babda5670f699cbe1713cd369f3e27c4717 Mon Sep 17 00:00:00 2001 From: tradecatlabs <288998340+tradecatlabs@users.noreply.github.com> Date: Tue, 2 Jun 2026 20:26:44 +0800 Subject: [PATCH] docs: skills - sync auto-tmux package --- skills/auto-tmux/AGENTS.md | 6 +- skills/auto-tmux/SKILL.md | 22 +++- skills/auto-tmux/assets/oh-my-tmux | 1 - skills/auto-tmux/assets/tmux-src | 1 - .../auto-tmux/references/codex-pilot-mode.md | 121 ++++++++++++++++++ skills/auto-tmux/references/examples.md | 25 +--- .../auto-tmux/references/getting_started.md | 5 +- skills/auto-tmux/references/index.md | 20 +-- .../auto-tmux/references/prompt-templates.md | 47 +++++-- skills/auto-tmux/scripts/audit-package.sh | 0 .../auto-tmux/scripts/auto-tmux-smoke-test.sh | 0 skills/auto-tmux/scripts/auto-tmux.sh | 0 skills/auto-tmux/scripts/check-jsonl.sh | 0 skills/auto-tmux/scripts/incident-report.sh | 0 skills/auto-tmux/scripts/record-summary.sh | 0 skills/auto-tmux/scripts/remote-readonly.sh | 0 .../auto-tmux/scripts/render-swarm-prompt.sh | 40 +++++- skills/auto-tmux/scripts/review-checklist.sh | 0 skills/auto-tmux/scripts/safety-check.sh | 0 skills/auto-tmux/scripts/swarm-archive.sh | 0 skills/auto-tmux/scripts/swarm-assign.sh | 0 skills/auto-tmux/scripts/swarm-blockers.sh | 0 skills/auto-tmux/scripts/swarm-board.sh | 0 skills/auto-tmux/scripts/swarm-brief.sh | 0 skills/auto-tmux/scripts/swarm-deps-graph.sh | 0 skills/auto-tmux/scripts/swarm-dispatch.sh | 12 +- skills/auto-tmux/scripts/swarm-export.sh | 0 skills/auto-tmux/scripts/swarm-health.sh | 0 skills/auto-tmux/scripts/swarm-report-pack.sh | 0 skills/auto-tmux/scripts/swarm-results.sh | 0 skills/auto-tmux/scripts/swarm-state.sh | 0 skills/auto-tmux/scripts/swarm-timeline.sh | 0 skills/auto-tmux/scripts/swarm-watch.sh | 0 .../auto-tmux/scripts/validate-auto-tmux.sh | 0 .../auto-tmux/scripts/verify-report-pack.sh | 0 35 files changed, 239 insertions(+), 61 deletions(-) mode change 120000 => 100644 skills/auto-tmux/assets/oh-my-tmux mode change 120000 => 100644 skills/auto-tmux/assets/tmux-src create mode 100644 skills/auto-tmux/references/codex-pilot-mode.md mode change 100755 => 100644 skills/auto-tmux/scripts/audit-package.sh mode change 100755 => 100644 skills/auto-tmux/scripts/auto-tmux-smoke-test.sh mode change 100755 => 100644 skills/auto-tmux/scripts/auto-tmux.sh mode change 100755 => 100644 skills/auto-tmux/scripts/check-jsonl.sh mode change 100755 => 100644 skills/auto-tmux/scripts/incident-report.sh mode change 100755 => 100644 skills/auto-tmux/scripts/record-summary.sh mode change 100755 => 100644 skills/auto-tmux/scripts/remote-readonly.sh mode change 100755 => 100644 skills/auto-tmux/scripts/render-swarm-prompt.sh mode change 100755 => 100644 skills/auto-tmux/scripts/review-checklist.sh mode change 100755 => 100644 skills/auto-tmux/scripts/safety-check.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-archive.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-assign.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-blockers.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-board.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-brief.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-deps-graph.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-dispatch.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-export.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-health.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-report-pack.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-results.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-state.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-timeline.sh mode change 100755 => 100644 skills/auto-tmux/scripts/swarm-watch.sh mode change 100755 => 100644 skills/auto-tmux/scripts/validate-auto-tmux.sh mode change 100755 => 100644 skills/auto-tmux/scripts/verify-report-pack.sh diff --git a/skills/auto-tmux/AGENTS.md b/skills/auto-tmux/AGENTS.md index 6b69887..58ab50c 100644 --- a/skills/auto-tmux/AGENTS.md +++ b/skills/auto-tmux/AGENTS.md @@ -55,6 +55,7 @@ skills/auto-tmux/ ├── script-cheatsheet.md ├── swarm-state.md ├── prompt-templates.md + ├── codex-pilot-mode.md ├── ai-swarm-collaboration.md ├── iteration-roadmap.md ├── iteration-closeout.md @@ -88,8 +89,9 @@ skills/auto-tmux/ - `scripts/incident-report.sh` 是事故复盘层,生成误发送、误广播和敏感信息风险模板。 - `scripts/completion.bash` 是本地补全层,补全 `auto-tmux.sh` 与 `swarm-state.sh`。 - `scripts/safety-check.sh` 是安全预检层,检查待发送 payload 的危险命令、敏感信息和大小。 -- `scripts/render-swarm-prompt.sh` 是提示词渲染层,生成 commander/worker/reviewer 协议文本。 -- `scripts/swarm-dispatch.sh` 是提示词下发层,默认写文件,显式 `--send` 后才发送到 pane。 +- `scripts/render-swarm-prompt.sh` 是提示词渲染层,生成 commander/worker/reviewer/codex-worker 协议文本。 +- `scripts/swarm-dispatch.sh` 是提示词下发层,默认写文件,显式 `--send` 后才发送到 pane;支持 Codex Pilot Mode 的单 worker 下发。 +- `references/codex-pilot-mode.md` 是显式激活协议,定义主 Codex 控制一个人类可旁观、持久化交互式 worker Codex pane 的提示词、边界和验收。 - `scripts/validate-auto-tmux.sh` 是技能专属质量门禁,覆盖脚本、文档索引和 smoke test。 - 技能文档可以引用软链接入口;更新上游内容必须通过 `tools/external/` 下的 submodule 指针完成。 - 不在本目录直接修改 submodule 内容;如需改造,先 fork 上游并更新 submodule 来源。 diff --git a/skills/auto-tmux/SKILL.md b/skills/auto-tmux/SKILL.md index 405db95..e7e4dda 100644 --- a/skills/auto-tmux/SKILL.md +++ b/skills/auto-tmux/SKILL.md @@ -13,6 +13,7 @@ description: "tmux 自动化操控:用 scripts/auto-tmux.sh 安全读取、发 - 需要远程读取/复制某个 tmux pane 的最新输出(日志、提示、错误)。 - 需要向指定 pane 发送按键/命令(确认 `y`、`Enter`、`Ctrl+C`、广播同一窗口)。 - 需要批量巡检/接管多 AI 终端(蜂群协作、自动救援卡死任务)。 +- 用户显式要求进入 Codex Pilot Mode:让当前主 Codex 通过 tmux 控制一个持久化、交互式、对人类可见的 worker Codex pane。 - 需要初始化 AI 多终端工作台、等待输出 pattern、录制 pane 日志或保存巡检证据。 - 需要给 tmux 蜂群建立任务队列、状态日志、文件锁和结果报告。 - 需要快速回忆 oh-my-tmux 快捷键、前缀或同步面板操作。 @@ -162,6 +163,21 @@ skills/auto-tmux/scripts/auto-tmux.sh topology --session ai-hub skills/auto-tmux/scripts/auto-tmux.sh cleanup --session ai-hub --dry-run ``` +**Codex Pilot Mode(主 Codex 控制一个持久化交互式 worker Codex)** +```bash +# 只在用户显式输入 Codex Pilot Mode 激活提示词后使用;完整提示词见 references/codex-pilot-mode.md。 +tmux new-session -d -s codex-pilot -n worker 'codex' +bash skills/auto-tmux/scripts/auto-tmux.sh topology --session codex-pilot +bash skills/auto-tmux/scripts/auto-tmux.sh capture -t codex-pilot:worker.0 -n 120 +bash skills/auto-tmux/scripts/swarm-dispatch.sh \ + --role codex-worker \ + --target codex-pilot:worker.0 \ + --session codex-pilot \ + --task "进入持久 worker 待命状态,等待主 Codex 后续分派任务" \ + --send \ + --dry-run +``` + **启用 oh-my-tmux 配置(仓库内版本)** ```bash repo_root="$(git rev-parse --show-toplevel)" @@ -226,10 +242,13 @@ skills/auto-tmux/scripts/swarm-dispatch.sh --role worker --target ::.` 绝对定位。 - MUST:遵循 oh-my-tmux 约定,不修改主配置文件;自定义写入 `~/.tmux.conf.local`。 - MUST:批量操作前先 `list-windows`/`list-panes` 建立白名单,避免误控用户窗口。 +- MUST:Codex Pilot Mode 只能在用户显式激活后进入;默认只控制一个持久化 worker Codex pane,且该 pane 必须对人类可见。 +- MUST:Codex Pilot Mode 的 worker 必须是交互式 `codex`,禁止用无头 `codex exec` 替代。 - MUST:SSH/远程场景默认只读,先用 `scripts/remote-readonly.sh` 采集证据;远程控制必须另行确认,不从只读脚本升级。 - SHOULD:救援/确认前先 grep 关键词(如 `(y/n)`、`password`),只对匹配目标发送。 - SHOULD:发送完整命令行时避免先发 `Escape`;先 `C-c` 中断、`C-u` 清行,再用 `send-keys -l` 逐字发送完整命令。 - SHOULD:长 prompt、文件粘贴、跨 worker 分发前运行 `scripts/safety-check.sh`,批量发送先 `--dry-run`。 +- SHOULD:Codex Pilot Mode 中主 Codex 每次发送前先 `inspect/capture` worker pane,并把需求、上下文、边界、验收和验证命令整理成高质量提示词。 - SHOULD:pane 处在 Codex UI 时,先发送 `/exit` 回到 shell 再执行命令。 - SHOULD:长任务开启 `pipe-pane` 记录审计;广播完成后立即 `synchronize-panes off`。 - SHOULD:多 worker 修改同一文件、目录或服务前,先用 `swarm-state.sh lock-acquire` 声明锁。 @@ -293,6 +312,7 @@ skills/auto-tmux/scripts/swarm-dispatch.sh --role worker --target :: 目的:在需要更全面文档时,用仓库自带的 `Skill_Seekers-development` 自动抓取 gpakosz/.tmux 与 README,生成扩展参考文件,再手动筛选进 `references/`。 ```bash -repo_root="$(git rev-parse --show-toplevel)" -cd "$repo_root/tools/external/Skill_Seekers-development" +cd /home/lenovo/zip/vibe-coding-cn/libs/external/Skill_Seekers-development # 准备 Python 环境(如未安装) uv tool install skill-seekers # 或 pip install skill-seekers diff --git a/skills/auto-tmux/references/getting_started.md b/skills/auto-tmux/references/getting_started.md index 7aa0dab..1948725 100644 --- a/skills/auto-tmux/references/getting_started.md +++ b/skills/auto-tmux/references/getting_started.md @@ -20,9 +20,8 @@ tmux -V # 2) 软链配置(不会覆盖已有 .tmux.conf.local,如需自定义请编辑该文件) -repo_root="$(git rev-parse --show-toplevel)" -ln -sfn "$repo_root/tools/external/.tmux/.tmux.conf" ~/.tmux.conf -cp -n "$repo_root/tools/external/.tmux/.tmux.conf.local" ~/.tmux.conf.local +ln -sfn /home/lenovo/zip/vibe-coding-cn/libs/external/.tmux/.tmux.conf ~/.tmux.conf +cp -n /home/lenovo/zip/vibe-coding-cn/libs/external/.tmux/.tmux.conf.local ~/.tmux.conf.local # 3) 启动会话并验证前缀 tmux new -s demo -n shell diff --git a/skills/auto-tmux/references/index.md b/skills/auto-tmux/references/index.md index b96ef04..fe690c8 100644 --- a/skills/auto-tmux/references/index.md +++ b/skills/auto-tmux/references/index.md @@ -4,25 +4,13 @@ - `getting_started.md`:术语、最小安装、前缀说明 - `api.md`:tmux/oh-my-tmux 常用命令、同步广播、安全写法 -- `automation.md`:`scripts/auto-tmux.sh` / `scripts/swarm-brief.sh` 子命令、安全模型与 AI 蜂群协作流程 -- `safety-policy.md`:发送、广播、清理、归档和敏感信息处理的安全策略 -- `session-safety.md`:本地 session、远程 SSH 和多 Agent 协作的分层安全边界 -- `jsonl-schema.md`:JSONL/manifest 机器可读输出字段约定 -- `report-pack-review.md`:report pack reviewer 最短验收路径 -- `reading-paths.md`:commander、worker、reviewer、operator 的角色化阅读路线 -- `incident-runbook.md`:误发送、误广播、远程采集失败和敏感信息风险处理流程 -- `script-cheatsheet.md`:观察、控制、协作、报告、审计和事故处理脚本速查 -- `swarm-state.md`:蜂群状态、任务、锁和报告协议 -- `prompt-templates.md`:commander/worker/reviewer 提示词模板和下发方式 -- `ai-swarm-collaboration.md`:tmux 蜂群协作完整说明、架构模式、协议、案例和风险限制 -- `iteration-roadmap.md`:多轮迭代记录、能力层和后续候选方向 -- `iteration-closeout.md`:50 轮迭代后的能力收尾、验证链路和维护边界 +- `codex-pilot-mode.md`:主 Codex 控制一个持久化交互式 worker Codex 的激活提示词和操作协议 +- `prompt-templates.md`:commander/worker/reviewer/codex-worker 提示词模板和下发方式 - `examples.md`:蜂群巡检脚本、自动救援脚本、Skill Seeker 抓取示例 - `troubleshooting.md`:常见报错与修复路径 ## Notes - 长文档、脚本细节放这里,`SKILL.md` 只保留可立即执行的片段。 -- 脚本入口统一为 `skills/auto-tmux/scripts/auto-tmux.sh`,原生命令作为兜底参考。 -- 配置来源:仓库内 `tools/external/.tmux`(gpakosz/oh-my-tmux)。 -- 大规模文档抓取/刷新可用 `tools/external/Skill_Seekers-development`,示例见 `examples.md`。 +- 配置来源:仓库内 `libs/external/.tmux`(gpakosz/oh-my-tmux)。 +- 大规模文档抓取/刷新可用 `libs/external/Skill_Seekers-development`,示例见 `examples.md`。 diff --git a/skills/auto-tmux/references/prompt-templates.md b/skills/auto-tmux/references/prompt-templates.md index 33174a0..9e4dcf7 100644 --- a/skills/auto-tmux/references/prompt-templates.md +++ b/skills/auto-tmux/references/prompt-templates.md @@ -1,6 +1,6 @@ # Swarm Prompt Templates -`scripts/render-swarm-prompt.sh` 用于渲染 tmux 蜂群协作的 commander、worker 和 reviewer 提示词。它把常用协作协议固化成可复制模板,避免每次手写时遗漏边界、状态、锁和验收要求。 +`scripts/render-swarm-prompt.sh` 用于渲染 tmux 蜂群协作的 commander、worker、reviewer,以及单 worker Codex Pilot Mode 的 `codex-worker` 提示词。它把常用协作协议固化成可复制模板,避免每次手写时遗漏边界、状态、锁和验收要求。 ## 子命令 @@ -9,11 +9,12 @@ | commander | `render-swarm-prompt.sh commander` | 任务拆分、巡检、救援、验收 | | worker | `render-swarm-prompt.sh worker` | 执行单一子任务并回报证据 | | reviewer | `render-swarm-prompt.sh reviewer` | 独立审查 worker 产出 | +| codex-worker | `render-swarm-prompt.sh codex-worker` | Codex Pilot Mode 中的持久化交互式 worker Codex | ## Commander Prompt ```bash -skills/auto-tmux/scripts/render-swarm-prompt.sh commander \ +bash skills/auto-tmux/scripts/render-swarm-prompt.sh commander \ --session ai-hub \ --swarm-dir /tmp/ai_swarm \ --task "重构 README 实验性方法入口" @@ -36,7 +37,7 @@ target="$(tmux list-panes -t ai-hub:worker1 -F '#S:#I.#P' | head -n 1)" 渲染 worker 提示词: ```bash -skills/auto-tmux/scripts/render-swarm-prompt.sh worker \ +bash skills/auto-tmux/scripts/render-swarm-prompt.sh worker \ --session ai-hub \ --target "$target" \ --swarm-dir /tmp/ai_swarm \ @@ -52,7 +53,7 @@ skills/auto-tmux/scripts/render-swarm-prompt.sh worker \ ## Reviewer Prompt ```bash -skills/auto-tmux/scripts/render-swarm-prompt.sh reviewer \ +bash skills/auto-tmux/scripts/render-swarm-prompt.sh reviewer \ --session ai-hub \ --swarm-dir /tmp/ai_swarm \ --task "审查本轮 auto-tmux 脚本和文档改动" @@ -64,12 +65,29 @@ skills/auto-tmux/scripts/render-swarm-prompt.sh reviewer \ - 需要重点检查 correctness、越界修改、缺失测试、文档不同步。 - 需要避免同一上下文自我确认。 +## Codex Worker Prompt + +`codex-worker` 用于单 worker 的 Codex Pilot Mode:主 Codex 控制一个持久化、交互式、对人类可见的 worker Codex pane。 + +```bash +bash skills/auto-tmux/scripts/render-swarm-prompt.sh codex-worker \ + --session codex-pilot \ + --target codex-pilot:worker.0 \ + --task "进入持久 worker 待命状态,等待主 Codex 后续分派任务" +``` + +适用场景: + +- 你只想让主 Codex 控制一个可旁观的交互式子 Codex。 +- 需要主 Codex 做上下文治理、提示词工程、过程监督和最终验收。 +- 需要 worker Codex 保持在 tmux pane 中持久运行,而不是用无头 `codex exec`。 + ## 推荐下发方式 优先使用封装脚本渲染并预演: ```bash -skills/auto-tmux/scripts/swarm-dispatch.sh \ +bash skills/auto-tmux/scripts/swarm-dispatch.sh \ --role worker \ --target "$target" \ --task "运行 make test 并分析失败" \ @@ -77,10 +95,22 @@ skills/auto-tmux/scripts/swarm-dispatch.sh \ --dry-run ``` +Codex Pilot Mode 下发示例: + +```bash +bash skills/auto-tmux/scripts/swarm-dispatch.sh \ + --role codex-worker \ + --target codex-pilot:worker.0 \ + --session codex-pilot \ + --task "进入持久 worker 待命状态,等待主 Codex 后续分派任务" \ + --send \ + --dry-run +``` + 渲染到临时文件: ```bash -skills/auto-tmux/scripts/render-swarm-prompt.sh worker \ +bash skills/auto-tmux/scripts/render-swarm-prompt.sh worker \ --target "$target" \ --task "运行 make test 并分析失败" \ > /tmp/worker-prompt.md @@ -89,7 +119,7 @@ skills/auto-tmux/scripts/render-swarm-prompt.sh worker \ 发送到 worker: ```bash -skills/auto-tmux/scripts/auto-tmux.sh send \ +bash skills/auto-tmux/scripts/auto-tmux.sh send \ -t "$target" \ --text "$(cat /tmp/worker-prompt.md)" \ --enter @@ -98,7 +128,7 @@ skills/auto-tmux/scripts/auto-tmux.sh send \ 长 prompt 可以用 tmux buffer 粘贴: ```bash -skills/auto-tmux/scripts/auto-tmux.sh paste \ +bash skills/auto-tmux/scripts/auto-tmux.sh paste \ -t "$target" \ --file /tmp/worker-prompt.md \ --enter \ @@ -109,5 +139,6 @@ skills/auto-tmux/scripts/auto-tmux.sh paste \ - Prompt 只定义职责和边界,不替代测试、lint、diff、CI 等硬门禁。 - commander、worker、reviewer 应使用不同 pane,避免角色混淆。 +- Codex Pilot Mode 默认只使用一个 `codex-worker` pane;不要扩展成多 worker,除非用户明确要求。 - 长任务必须配合 `record`、`snapshot` 或 `swarm-brief.sh` 保留证据。 - 多 worker 修改同一资源前必须配合 `swarm-state.sh lock-acquire`。 diff --git a/skills/auto-tmux/scripts/audit-package.sh b/skills/auto-tmux/scripts/audit-package.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/auto-tmux-smoke-test.sh b/skills/auto-tmux/scripts/auto-tmux-smoke-test.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/auto-tmux.sh b/skills/auto-tmux/scripts/auto-tmux.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/check-jsonl.sh b/skills/auto-tmux/scripts/check-jsonl.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/incident-report.sh b/skills/auto-tmux/scripts/incident-report.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/record-summary.sh b/skills/auto-tmux/scripts/record-summary.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/remote-readonly.sh b/skills/auto-tmux/scripts/remote-readonly.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/render-swarm-prompt.sh b/skills/auto-tmux/scripts/render-swarm-prompt.sh old mode 100755 new mode 100644 index d9c494c..9ea1cc9 --- a/skills/auto-tmux/scripts/render-swarm-prompt.sh +++ b/skills/auto-tmux/scripts/render-swarm-prompt.sh @@ -10,11 +10,13 @@ Usage: render-swarm-prompt.sh commander [--session NAME] [--swarm-dir DIR] [--task TEXT] render-swarm-prompt.sh worker --target TARGET [--session NAME] [--swarm-dir DIR] [--task TEXT] render-swarm-prompt.sh reviewer [--session NAME] [--swarm-dir DIR] [--task TEXT] + render-swarm-prompt.sh codex-worker --target TARGET [--session NAME] [--task TEXT] Examples: render-swarm-prompt.sh commander --session ai-hub --task "重构 README" render-swarm-prompt.sh worker --target ai-hub:2.1 --task "只检查链接" render-swarm-prompt.sh reviewer --session ai-hub + render-swarm-prompt.sh codex-worker --target codex-pilot:worker.0 --task "进入持久 worker 待命状态" EOF } @@ -29,7 +31,7 @@ shift || true session="ai-hub" swarm_dir="/tmp/ai_swarm" target="" -task="未指定;请等待 commander 分配具体任务。" +task="未指定;请等待主 Codex 分配具体任务。" while [[ $# -gt 0 ]]; do case "$1" in @@ -131,6 +133,42 @@ EOF - 不只做风格审查。 - 不把 worker 自评当作事实。 - 不在缺少证据时宣布通过。 +EOF + ;; + codex-worker) + [[ -n "$target" ]] || die "codex-worker role requires --target TARGET" + cat < "$prompt_file" +bash "$render" "${render_args[@]}" > "$prompt_file" printf 'prompt written: %s\n' "$prompt_file" if [[ "$send" != "1" ]]; then @@ -86,4 +88,4 @@ if [[ "$dry_run" == "1" ]]; then send_args+=(--dry-run) fi -"$auto_tmux" send "${send_args[@]}" +bash "$auto_tmux" send "${send_args[@]}" diff --git a/skills/auto-tmux/scripts/swarm-export.sh b/skills/auto-tmux/scripts/swarm-export.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/swarm-health.sh b/skills/auto-tmux/scripts/swarm-health.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/swarm-report-pack.sh b/skills/auto-tmux/scripts/swarm-report-pack.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/swarm-results.sh b/skills/auto-tmux/scripts/swarm-results.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/swarm-state.sh b/skills/auto-tmux/scripts/swarm-state.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/swarm-timeline.sh b/skills/auto-tmux/scripts/swarm-timeline.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/swarm-watch.sh b/skills/auto-tmux/scripts/swarm-watch.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/validate-auto-tmux.sh b/skills/auto-tmux/scripts/validate-auto-tmux.sh old mode 100755 new mode 100644 diff --git a/skills/auto-tmux/scripts/verify-report-pack.sh b/skills/auto-tmux/scripts/verify-report-pack.sh old mode 100755 new mode 100644