with one click
cron
cron/ ディレクトリの定期実行ジョブファイルの書き方。cron ジョブの作成・編集・削除時に参照する。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
cron/ ディレクトリの定期実行ジョブファイルの書き方。cron ジョブの作成・編集・削除時に参照する。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
登山対象の山の天気を、てんくらの登山指数 (A/B/C) ・気象庁の麓の天気・Open-Meteo の山頂標高指定の数値予報・標高差からの推定で判断する手順。 「○○山の天気」「登山の天気」「明日山に登れるか」「登山指数」「山頂の気温」などを聞かれた際に使う。 てんくらの登山指数は無料のサーバ HTML から取得でき、気象庁の麓・登山口周辺の気象と Open-Meteo の山頂標高指定の数値予報を併せて判断する。 山頂のピンポイント気象数値そのものは保証されないため、指数・麓の天気・数値予報・推定で総合判断し、その限界をユーザに伝える。
指定ユーザ (主に自分自身) の Bluesky の情報を公開 API から取得する手順。直近の投稿内容・関心トピック・フォローしている人・フォローされている人を把握したい際に使う。「最近何を投稿したか」「旅行の写真を見たい」「誰をフォローしているか」「フォロワーは誰か」などが対象。フォロー先の傾向から関心分野を推し量る用途にも使う。 AT Protocol の公開 AppView (public.api.bsky.app) を認証なしで叩く。投稿は app.bsky.feed.getAuthorFeed、プロフィールと各種件数は app.bsky.actor.getProfile、フォロー/フォロワーは app.bsky.graph.getFollows / getFollowers を使う。画像はダウンロード後に ffmpeg でリサイズして表示する。 対象は公開情報のみ。いいね一覧など認証必須のデータの取得や、投稿・フォローの作成/削除はできない。
Discord の REST API を curl で叩いてサーバ (ギルド) を操作する手順。メッセージの送信・取得・検索、リアクション付与、スレッドの作成・名前変更、チャンネルやメンバーの一覧・検索が対象。「Discord にメッセージを送る」「チャンネルの発言を読む」「スレッドを立てる」「スレッド名を変える」「メンバーを検索する」などで使う。 bot トークンを Authorization の Bot ヘッダで渡し、 https://discord.com/api/v10 を叩く。トークンは環境変数 DISCORD_BOT_TOKEN から取る。メッセージ検索の API は bot に無いため、履歴を取得して jq でフィルタする。 対象は bot トークンで操作できる範囲のサーバ機能。レート制限 (429) は自前で Retry-After を見て待つ。ユーザ DM や OAuth が要る操作、Gateway (リアルタイム受信) は扱わない。
JARTIC (日本道路交通情報センター) が公開する渋滞「予測」データを取得する手順。ゴールデンウィーク・お盆・年末年始・行楽期の高速道路の渋滞予測、ピーク日時、◯◯祭りなどイベント周辺の一般道渋滞と迂回路を聞かれた際に使う。 `www.jartic.or.jp` の JSON を curl で取得し、路線名・年月・都道府県を `jq` で絞り込む。返るのは将来の予測であって現在の実況交通量ではない。今この瞬間の交通量・渋滞長を求められた場合はこの手順では取得できない。
指定の道路・エリアの現在の交通量を JARTIC 交通量 API (国土交通省) から取得する手順。「国道◯号の今の交通量」「◯◯付近の混雑」など、特定の道路や地点の最新交通量を聞かれた際に使う。 地名・道路名を国土地理院ジオコーディングで緯度経度へ変換し、WFS 2.0.0 GetFeature を BBOX と時間コードで叩く。対象は高速自動車国道と一般国道のみで、県道・市道は取得できない。
指定テーマの最新ニュースを優先ソースから N 件集め、各記事をタイトル・要約・公開日・個別 URL の形にまとめて返す手順。「バイクの最新ニュースを集めて」「セキュリティ分野の注目記事を要約して」「最近の登山界隈の動きをまとめて」のように、特定テーマの新着記事を収集して要約したい際に使う。 優先ソースに RSS/Atom があればフィードを先に取得し、無ければ一般 Web 検索で補う。期間と除外リストでフィルタし、件数分を選んで各記事を要約する。 出力はタイトル・要約・公開日・個別 URL の中立フォーマット。Discord 等への整形・投稿は呼び出し側で行う前提で、この skill には含めない。
| name | cron |
| description | cron/ ディレクトリの定期実行ジョブファイルの書き方。cron ジョブの作成・編集・削除時に参照する。 |
| user-invocable | false |
cron/ ディレクトリに .md ファイルを配置し、reload API を叩くと定期実行ジョブとして登録される。
cron ジョブの管理はファイル操作で行う。RemoteTrigger、CronCreate、CronDelete、CronList などのツールは このプロジェクトの cron とは無関係 なので使うな。
cron/{name}.md ファイルを作成し、reload API を叩くcurl -s http://127.0.0.1:3000/cron または ls cron/curl -s -X POST -H 'Content-Type: application/json' -d '{"name":"ジョブ名"}' http://127.0.0.1:3000/cron/runファイルを変更したら必ず reload API を叩くこと。 reload しないと変更が反映されない。
curl -s -X POST http://127.0.0.1:3000/cron/reload
YAML フロントマターとマークダウン本文で構成する。ジョブ名はファイル名(拡張子除く)から自動決定される。
---
schedule: "0 9 * * *"
channelId: "1234567890123456789"
resumeSession: false
maxTurns: 5
timeout: 120000
model: sonnet
effort: medium
---
ここにプロンプトを書く。
| フィールド | 必須 | 型 | デフォルト | 説明 |
|---|---|---|---|---|
schedule | yes | string | — | cron 式(5フィールド、TZ 環境変数依存) |
channelId | no | string | — | 結果の自動投稿先と承認ボタン送信先のチャンネル ID |
resumeSession | no | boolean | false | 前回のセッションを引き継ぐか |
maxTurns | no | number | 10 | Claude の最大ターン数 |
timeout | no | number | 300000 | タイムアウト(ミリ秒) |
once | no | boolean | false | true で1回実行後にファイル自動削除 |
model | no | string | — | モデル alias または full name(後述) |
effort | no | string | — | effort level(後述) |
channelId の有無で結果の投稿方法が変わる。
false(デフォルト): 毎回新規セッションで実行する。前回の会話コンテキストは引き継がない。true: 前回のセッション ID を --resume で渡し、会話を継続する。コンテキストが蓄積し続ける点に注意。プロセス再起動でセッションはリセットされる。true に設定すると、スケジュールまたは手動実行で1回実行された後にジョブファイルが自動削除される。例:
---
schedule: "0 15 * * *"
channelId: "1234567890123456789"
once: true
---
15時のリマインダー: 会議の準備をしろ。
ジョブごとに使用モデルと推論コスト(effort)を上書きできる。
model: opus / sonnet / haiku の alias、または claude-sonnet-4-6 等の full name。effort: low / medium / high / xhigh / max のいずれか。frontmatter > channel 設定 > グローバルデフォルト の順で解決される。
channelId で指定したチャンネルの /claw status set で設定された値を使う(channelId 省略時はスキップ)。config.json の claude.defaults.model / claude.defaults.effort を使う。--model / --effort を渡さない)。model: opus + effort: high 以上。model: haiku + effort: low でコストとレイテンシを抑える。channelId 経由で /claw status の設定が拾われる)。例:
---
schedule: "0 9 * * *"
channelId: "1234567890123456789"
model: opus
effort: high
---
ニュース要約: 直近24時間の重要記事を5件まとめろ。
5フィールド: 分 時 日 月 曜日(TZ 環境変数依存)
* 任意の値*/N N ごと(例: */15 → 0,15,30,45)N-M 範囲(例: 1-5 → 月〜金)N,M,L リスト例:
0 9 * * * 毎日 09:000 9 * * 1-5 平日 09:00*/30 * * * * 30分ごと0 0 1 * * 毎月1日 00:00schedule は必ず引用符で囲むこと(YAML でパースエラーになる場合がある)