원클릭으로
cron
cron/ ディレクトリの定期実行ジョブファイルの書き方。cron ジョブの作成・編集・削除時に参照する。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
cron/ ディレクトリの定期実行ジョブファイルの書き方。cron ジョブの作成・編集・削除時に参照する。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
登山対象の山の天気を、てんくらの登山指数 (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 でパースエラーになる場合がある)