タスクスケジューラをObsidianで管理して自分の脳から忘れ去ることにした話

効率化
スポンサーリンク

気がついたら、Windowsのタスクスケジューラに定期実行するスクリプトが増えすぎて何が動いてるかわからなくなってました。

「あれ、家計簿の自動更新って毎週いつ動いてるんだっけ?」「あのデータ収集って土曜だったっけ日曜だったっけ?」みたいな状態に。

ということで、全部Obsidianのページで管理して、Claude Codeに任せて、自分の脳からは完全に忘れ去ることにしました。

何が困ってたか

タスクスケジューラって便利なんですけど、いくつか困るポイントがあります。

1. 何が登録されてるか覚えてない

GUIから見ればいいんですが、わざわざタスクスケジューラを開いて、フォルダ展開して、一覧を見て……っていうのが面倒で。

「確か週次で動いてるやつがあったはず」くらいは覚えてるけど、具体的に何曜日の何時に動いてるかまでは覚えてません。

2. 設定変更したときに記録が残らない

タスクスケジューラのGUIで時間を変更したりスクリプトのパスを変更したりしても、その変更履歴はどこにも残りません。

「前はどう設定してたっけ?」って振り返りたいときに困ります。

3. どのスクリプトが何をしてるか忘れる

「Weekly-Update」という名前のタスクがあるのは覚えてても、具体的にどのスクリプトを実行してるのか、どんな処理をしてるのか、ログはどこに出力されるのか、みたいな情報は全部忘れます。

解決策: Obsidianで管理台帳を作る

結論としては、Obsidianに「タスクスケジューラ管理」というページを作って、そこに全部まとめることにしました。

管理台帳の構造

こんな感じのテーブルで管理してます。

タスク名 環境 頻度 時刻 内容 スクリプト 登録日
Kakeibo-WeeklyUpdate main 毎週日曜 21:00 家計簿データ取得・分類・レポート生成 scripts\weekly-update.py 2026-03-08
Data-WeeklyCollect main 毎週土曜 10:00 定期データ収集→デイリーノート追記 scripts\weekly-collect.ps1 2026-03-08

これを見れば、今何が動いてるのか一目でわかります。

タスクごとの詳細セクション

テーブルだけだと情報が足りないので、各タスクごとに詳細セクションも作ってます。

### Kakeibo-WeeklyUpdate

家計簿データの週次自動更新。

**処理内容**:
1. 今年分のデータを家計簿サービスから取得
2. 自動分類
3. HTMLダッシュボードレポート生成

**ログ**:
- 実行ログ: `logs\weekly-update.log`
- 最終結果: `logs\last-result.json`

**確認方法**:
\`\`\`powershell
# 最終実行結果を確認
Get-Content logs\last-result.json | ConvertFrom-Json
\`\`\`

こうしておくと、「このタスク、ちゃんと動いてるかな?」って思ったときにログの場所をすぐ確認できます。

Claude Codeとの連携

ここからが本題。

この管理台帳、手動で更新するのも面倒なので、Claude Codeが自動でメンテナンスするようにしました。

仕組み

Claude Codeに「タスクスケジューラに○○を登録して」とお願いすると、以下のことを自動でやってくれます。

  1. schtasks コマンドでタスクを登録
  2. pages/タスクスケジューラ管理.md のテーブルに行を追加
  3. 詳細セクションも追記

逆に、タスクを削除したり変更したりするときも、管理台帳を自動で更新してくれます。

ルールファイルで強制

これを実現するために、.claude/rules/task-scheduler.md というルールファイルを作りました。

このルールには「タスクスケジューラ関連の作業をする前に、必ず管理台帳を読む」「タスクの登録・変更・削除後は管理台帳を更新する」といったことが書いてあります。

Claude Codeはこのルールを自動で読んでくれるので、私が何も言わなくても勝手に管理台帳をメンテナンスしてくれるわけです。

何がうれしいか

1. 覚えなくていい

「何が動いてるか」「いつ動いてるか」を自分の脳で覚える必要がなくなりました。

忘れてもObsidianを開けば全部書いてあるので安心です。

2. 履歴が残る

Obsidianのページは全部Gitで管理してるので、変更履歴が自動で残ります。

「前はこう設定してたけど、今はこう変えた」みたいな経緯も全部コミットログに残ります。

3. Claude Codeが勝手にやってくれる

一番うれしいのはこれ。

「タスクスケジューラに登録して」って言うだけで、登録作業も台帳更新も全部やってくれます。

私がやることは「こういうスクリプトを週次で動かしたい」って伝えるだけ。

注意点

複数PCで使う場合

PCが複数ある場合、「このタスクはどのPCで動くのか」を管理台帳に記録しておくと混乱しません。

テーブルの「環境」列がそれです。環境変数で今どのPCかを判定させれば、Claude Codeが適切なタスクだけを操作してくれます。

タスクが増えすぎたら棚卸し

便利で調子に乗ってると、気づけばタスクが10個20個と増えていきます。月に一度くらいは管理台帳を見て「これまだ必要?」って棚卸しするのがおすすめです。

まとめ

Windowsのタスクスケジューラに定期実行スクリプトが増えすぎて管理しきれなくなった問題を、Obsidianの管理台帳とClaude Codeの自動更新で解決しました。

「何が動いてるか覚えてなくていい」っていう安心感が最高です。

タスクスケジューラを使ってる人、管理が大変だなって思ってる人は、ぜひ試してみてください。

コメント

タイトルとURLをコピーしました