things-todo について
PeterのMacで`things` CLIを使い、Things 3のタスクを管理するスキルです。タスクの追加、検索、更新、削除に対応し、変更後の読み戻し確認とデータベースへの直接書き込み回避を案内します。
主な機能
- 01タスクの追加と検索
- 02日付、期限、リスト、タグの設定
- 03IDによるタスクの更新と削除
- 04読み戻しによる変更確認
- 05変更前のドライラン
活用シーン
- 01具体的な次のアクションの記録
- 02検索語によるタスクの検索
- 03既存タスクの更新や削除
- 04タスク変更の反映確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ steipete/ agent-scripts --skill things-todoインストール後、Claude Code で/things-todoを入力して読み込まれたか確認します。
詳細
Things のタスク
Peter の Mac で Things 3 のタスクを管理するときに使います。Things に紐づくタスクには things を使い、ユーザーが Apple Reminders を指定した場合に限り $reminders を使います。
ツール
- CLI:
things - リポジトリ:
https://github.com/ossianhempel/things3-cli - インストール:
GOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latest
URL 操作の更新時の認証:
source ~/.profile >/dev/null 2>&1 || true
things auth
THINGS_AUTH_TOKEN は ~/.profile または 1Password から取得してください。決して表示しないでください。
things update --dry-run では、auth-token=*** としてマスキングする必要があります。
開始
スクリプトでの読み取りと検証には JSON を使ってください。
things tasks --format json --limit 20
things today --format json
things search "query" --format json
Things DB の読み取りには、呼び出し元アプリにフルディスクアクセスが必要な場合があります。書き込みは Things URL Scheme または things 経由の AppleScript で行い、SQLite DB に直接書き込まないでください。
追加
デフォルトでは、追加後に検索して読み戻します。
things add "Book LHR-SFO nonstop business flight" --notes "Nonstop only." --when tomorrow --tags travel
things tasks --search "LHR-SFO" --format json
便利なフラグ:
--notes "text"--when today|tomorrow|evening|anytime|someday|YYYY-MM-DD--deadline YYYY-MM-DD--list "Project or Area"--tags tag1,tag2--checklist-item "text」を繰り返し指定--dry-runで、変更を加えずにthings:///URL を確認します。
更新/削除
まず UUID を見つけてから、ID を指定して変更します。
things tasks --search "flight" --format json
things update --id <uuid> "New title" --notes "Updated notes"
things tasks --search "New title" --format json
things delete --id <uuid> --confirm <uuid>
things tasks --search "New title" --format json
things trash --search "New title" --format json
書き込み後は必ず読み戻してください。削除すると項目は Things のゴミ箱に移動します。クリーンアップが重要な場合は、通常の検索で項目が見つからず、ゴミ箱の検索では見つかることを確認してください。
規約
- 曖昧な依頼は、具体的な次のアクションを示すタイトルにします。
- ユーザーが書き換えではなく記録を明確に求めている場合は、表現を維持します。
- 関連のないアクションは、別々のタスクに分けます。
- ユーザーが指定した場合に限り Today を使い、それ以外は Inbox/Anytime のデフォルトを使います。
- 一括更新/削除の前には、
--dry-runを使うことをおすすめします。 - 現在の日付に基づく計算には
dateを実行し、推測しないでください。
注意点
- macOS 専用です。リモートホストでは、アプリが存在しない、または表示されていない場合、Things.app のバージョンが
UNKNOWNと表示されることがあります。 updateにはTHINGS_AUTH_TOKENが必要ですが、addには必要ありません。--tagsは add/update では複数形です。tasks --tagはフィルタリング時に使う単数形です。todayの JSON では、start: Anytimeと実際のstart_dateが表示されることがあります。Today に設定されたことの確認には、単一のフィールドではなく、コマンドでの所属確認や読み戻しを使ってください。