Back to skills
SKILL.md
Watch
ASecurity用宿主的调度原语让 Arbiter 定时盯住一个目录,把新出现的文件转成指定格式。示例:/arbiter:watch
- 2 stars
- 0 votes
- 0 copies
- 1 view
- Added September 26, 2026
Works with
Security analysis
100/100npx -y skills add Polaris-bit189/Arbiter --skill watch --agent claude-codeAre you the author of Watch?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/polaris-bit189-watch)---
name: watch
description: 用宿主的调度原语让 Arbiter 定时盯住一个目录,把新出现的文件转成指定格式。示例:/arbiter:watch
argument-hint: [目录] [目标格式]
---
# /arbiter:watch —— 盯着一个目录
用户给的参数是:
```
$ARGUMENTS
```
## 这个命令**不做**什么(先读这一段)
⚠️ **关掉 Claude Code 它就停了。** 它不是后台服务、不是托盘常驻程序。
定时唤醒只在这个会话活着的时候存在。**先把这句话告诉用户**,别让他以为
装了个 7×24 的东西。
⚠️ **不要为此写代码、不要建监视脚本、不要起常驻进程。** Claude Code 自己就有
调度原语,直接用:
| 原语 | 什么时候用它 |
| ---------------- | ---------------------------------------------------------------------------------- |
| `Monitor` | 把一条命令的 stdout 每一行当成事件。**优先用它**——「目录里多了一个文件」最贴的形状 |
| `CronCreate` | 按 cron 定时唤醒。目录很大、或者只需要「每小时看一遍」时用它 |
| `ScheduleWakeup` | 一次性延后唤醒。「30 分钟后再看一次」这种退避 |
三者不必都用。默认选 `Monitor`;它在这个环境里不可用时,退到 `CronCreate`,
并把选了什么、为什么告诉用户。
## 先问清楚四件事,一件都不能猜
1. **哪个目录**(绝对路径)。
2. **转成什么格式**(不带点的扩展名)。**绝不替用户猜**——「转成能发微信的」
这种说法要先问回来。猜错的代价是他的磁盘上多一个他没要的文件。
3. **要不要递归子目录**。默认**不递归**。
4. **一次最多转几个**。默认 20,上限 100。这个数字是防呆的:
用户不小心把下载目录指过来时,不该一次冒出几千条任务。
第 3、4 条要说清默认值,让用户有机会改。
## 条件:什么文件才算「该转的」
每一轮只处理同时满足这四条的:
1. **扩展名在能力矩阵里**,而且用 `inspect_file`(或 `list_supported_formats`)
确认能转成目标格式;
2. **产物还不存在**(`目标目录/<同词干>.<目标扩展名>`)。存在就跳过——
用户手动转过的、上一轮转过的,都不该再转一遍;
3. **不是正在写的文件**:连续两次采样之间**体积没有变化**才算写完。
这一条挡的是「下载器正在往这里写」——一次抓走半个文件会得到一个损坏的产物,
而且**不会报错**(这正是监视目录这条路在别家产品上失败最多的原因);
4. **不是本轮的产物自己**(别把自己转出来的东西又转一遍)。
## ⚠️ 与「重命名即转换」不能同时开在同一个目录上
应用设置里那个「重命名即转换」开关(M8)也会看同一个目录。两条路同时开着时,
用户手动改一个文件名会让两边各自动一次,结果是一份产物加一个 `(1)` 的重名副本。
**同一个目录,两个功能只开一个。** 开工之前问一句用户有没有开那个开关,
开了就请他二选一。完整说明见 `../../docs/automation.md`。
## 每一轮怎么做
1. **先算出一个清单**,把「将转 N 个文件」告诉用户,再动手。N 为 0 就安静等着,
**不要每轮都汇报一次「没有新文件」**——那是噪音。
2. 转换用 `batch_convert`(多个文件共用一个目标格式)或 `convert_file`(单文件)。
**不要把「要下载引擎」的格式放进这条流程**:357 MiB 的下载要用户点头,
不该由一次定时唤醒在背后发起。遇到这种就在那一轮里说明并跳过。
3. **产物落在源文件旁边**(默认),或者按用户要求指定 `output_dir`。
**绝不删源文件、绝不移动源文件**——用户只是让你转,没让你整理他的目录。
4. 只报**这一轮新做了什么**:转了几个、失败几个(失败要带原因)。
没有新动作就什么都不说。
## 收尾时要说的话
- 这是个**会话级**的定时任务,Claude Code 关掉就没了;
- 想停就说一句「停掉目录监视」,把这轮挂上的调度原语撤掉;
- 目录里现在有哪些文件被转过、产物在哪,列一次就够,别每轮都列。
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.