review-when-watchlisted
Install: claude install-skill shimo4228/claude-harness
# review-when-watch
RFC と ADR の review-when は「この出来事が起きたら見直す」という条件で、多くは外の世界の出来事
(substrate が skill listing の注入方式を変えた、Zenodo が API を廃止した、など)を待っている。
誰かがニュースに気づかない限り発火しない。この job はその「気づく役」を、安い判定を総当たりで
回すことで引き受ける。判断の記録は [ADR-0080](../../docs/adr/0080-review-when-watch-production-first.md)。
stdlib のみ(Python 3.11+)。Jev の HTTP クライアントは `skills/jev-skill-router/scripts/jev_client.py` を
ファイルパスで読み込んで使う(host の固定・redirect の拒否・キーの解決をそのまま使う)。
## 配線
plist の正本は `scripts/launchd/com.shimomoto.review-when-watch.plist`(毎日 06:10、1 回)。jrp run は毎日
05:00 に始まり約 15 分で終わるので、その後に置いた。Mac が眠っていて両方が起床時にまとめて走り、この job が
先に終わった日は、その日のノートを翌朝拾う(直近 3 日を見るので落ちない)。登録は人間が行う:
```bash
cp ~/.claude/scripts/launchd/com.shimomoto.review-when-watch.plist ~/Library/LaunchAgents/
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.shimomoto.review-when-watch.plist
launchctl kickstart gui/$(id -u)/com.shimomoto.review-when-watch # 初回をすぐ回す
```
初回の実行で Slack に「稼働を始めた」が 1 通届けば配線は通っている。外すときは
`launchctl bootout gui/$(id -u)/com.shimomoto.review-when-watch`。
前提:
| もの | 場所 |
|---|---|
| ノート | `<JRP_VAULT_DIR>/daily-research/*_jrp_*.md`。`JRP_VAULT_DIR` は環境変数か jrp の env ファイル(`~/.config/jrp/env`、`JRP_ENV_FILE` で変えられる)から取る。env ファイルは source せず、この 1 値だけを読む |
| API キー | `TYPESAFE_API_KEY` → `~/.config/typesafe/api_key`(jev-skill-router と同じ解決。jrp の env ファイルのキーは使わない) |
| Slack | `scripts/notify-slack.sh`(webhook は `~/.config/wiki-notify/slack-webhook`。届かなければ macOS 通知へ落ちる) |
plist は Python を直接起動しない。`scripts/launchd-watch.sh`