第7話 スキル物語 「定期実行作って」と言ったら排他込みで組んでくれる話
いつ困る?
「毎日○○を動かしたい」「このコマンドを毎週○曜に回し続けたい」と思う瞬間がくる。シェルで毎朝叩くのも覚束ない。durable cron の設定を直接いじるのは怖くて、後回しにしていると、ずっと手動で同じ作業を抱え続ける。設定をしくじる不安が、定期実行を「こわいもの」にしてしまう。
こう言うと起こること
「定期実行作って」「cron-setup」「cron 新設して」を CC に投げる。裏側では同一日内に複数回動かない排他(同時の flock + 時間差の当日成功スタンプ)と、実行ログ(複数発を計測可能にする)と、durable cron の正典 renew-crons.sh への # @cron 追記まで一気に組まれる。apply-crons.sh reconcile が AI 直の CronCreate より先に正規登録し、同日 2 回目は実行ログでEXIT=3 skip になることを生コマンドで実測確認してから「完了」と報告する。設計・実装・登録・実測・記録まで、抜けなくワンストップ。
flowchart TB
A["⏰「定期実行作って」"] --> B["同時実行防止の鍵付きで設計"]
B --> C["動いたら記録を残す"]
C --> D{"同じ日に2回目?"}
D -->|"はい"| E["静かにスキップ"]
D -->|"いいえ"| F["実行 🔁"]
何が変わるか
「怖いから手動で回す」が終わる。同じ日に2回走る事故が構造的になくなり、ログから実行回数が読み取れる。新設のたびに「排他どうする?」を考えなくていい。忙しくて定期実行を考える余裕がない日でも、「定期実行作って」の一言で着手でき、形にしてから寝られる——運用設計を AI に任せられる安心感が身につく。
<details><summary>▶ 技術的にどうなってるか</summary>
仕組み
- 実行形態で排他方式を自動選定: スクリプト1本完結=flock+当日成功スタンプ+実行ログ / LLMセッション介在=stamp-lock
- 7-Step: 既存横断確認 → 排他方式選定 → スクリプト実装 → renew-crons.sh正典追記 → apply-crons reconcile → 同日skip実測 → 自動化.md更新 → 記録
- 同日2回目skip確認がfail条件:「実装済み」と報告する前に必ず実行
- 実行ログが必須: 多重発火を「観測しているか」の計測自体を担保
注意点
# @cronタグのフォーマットが正規系(renew-crons.shのヘッダコメント参照)- AIのCronCreate経由は廃止済・apply-crons.sh reconcileが正規系(ID整合+ghost検知)
- ログは専用jsonl 1行/回、既存の消費者があるファイルには混ぜない(2026-09-02 openrouter-refresh の KeyError 教訓)
由来情報
- 設計正典: SSOTの
~/.claude/skills/cron-setup/SKILL.md(2026-09-02新設・規定路線化) - 運用ルール: SSOTの
00_SYSTEM/自動化.md「Cron永続化(apply-crons.sh)」節 - 関連スキル:なし(シェル直使いの方が必要に応じて
apply-crons.shを呼ぶ)
</details>