obsidian-cli-automation について
Obsidian CLI Automation は、自然言語の依頼を再現可能な `obsidian` コマンド列に変換するようエージェントを支援します。ノートや保管庫の操作に対応し、読み取り確認、最小限の変更、明示的な検証を重視します。
主な機能
- 01依頼を決定的なコマンドライン操作に変換
- 02ノートの作成、更新、移動、検索
- 03タスク、リンク、タグ、プロパティの管理
- 04プラグイン、テーマ、ワークスペース、同期履歴の確認
- 05変更の検証と破壊的操作への注意
活用シーン
- 01フォルダー内のノートのプロパティを一括更新
- 02デイリーノートに計画を追記して検証
- 03未解決リンクと保管庫の状態を確認
- 04バージョン復元前に同期履歴を調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ oldwinter/ skills --skill obsidian-cli-automationインストール後、Claude Code で/obsidian-cli-automationを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/automation-recipes.mdobsidian-cli-full-help.mdscripts/collect_obsidian_help.sh詳細
Obsidian CLI の自動化
概要
決定的な CLI コマンドを使用して、Obsidian のワークフローを自動化します。
このスキルを使うと、自然言語のリクエストを、安全で再現可能な obsidian コマンドシーケンスに変換し、明示的に検証できます。
使用するタイミング
次のような目的を含むリクエストでは、このスキルを使用します。
- ターミナルスクリプトから Obsidian のワークフローを自動化する
- ノートの一括作成、更新、移動、名前変更、削除を行う
- デイリーノート、タスク、リンク、タグ、エイリアス、プロパティを操作する
- 保管庫の構造を調べる、コンテンツを検索する、整理状況のレポートを生成する
- プラグイン、テーマ、スニペット、タブ、ワークスペース、ブックマークを管理する
- 履歴や Obsidian Sync のバージョンを調査、復元する
dev:*やevalなどの開発者向け診断コマンドを実行する
クイックスタート
- CLI が利用可能か確認します。
command -v obsidian obsidian version - 保管庫名を確認します。
obsidian vaults - 対象の保管庫を指定し、読み取り専用の確認コマンドを実行します。
VAULT='My Vault' obsidian vault="$VAULT" vault info=path obsidian vault="$VAULT" files total
実行ワークフロー
- 自動化を始める前に、使用できるコマンドを確認します。
obsidian --helpを実行します。- 完全なスナップショットを取得するには、
scripts/collect_obsidian_help.shを実行します。
- 決定的なセレクターで対象を特定します。
- 曖昧さがある場合は、
file=よりpath=を優先します。 - 複雑な実行では、すべてのコマンドに
vault=<name>を指定します。
- 曖昧さがある場合は、
- 読み取りを先に行い、対象を確認します。
- 変更前に
read、file、tasks、properties、search、sync:historyを使用します。
- 変更前に
- 変更を最小限の手順で実行します。
append、prepend、create、property:set、task、move、renameを小さな手順に分けて適用します。
- 変更後の状態を検証します。
- 読み取り/クエリコマンドを再実行し、期待される出力と実際の出力を比較します。
コマンドの分類
- 保管庫の確認と構造:
vaults、vault、folders、files、folder、file - ノートのライフサイクル:
create、read、append、prepend、move、rename、delete、open - デイリーワークフロー:
daily、daily:path、daily:read、daily:append、daily:prepend - タスクとリンク:
tasks、task、links、backlinks、orphans、deadends、unresolved - メタデータ:
tags、tag、aliases、properties、property:read、property:set、property:remove - 検索とアウトライン:
search、search:context、search:open、outline - Bases:
bases、base:views、base:query、base:create - UI/システムの制御:
tabs、tab:open、workspace、command、commands、reload、restart - テーマ/スニペット/プラグインの管理:
themes、theme:*、snippets、snippet:*、plugins、plugin:*、plugins:restrict - 同期/履歴と復元:
sync:*、history:*、diff - 開発者向け診断:
dev:*、devtools、eval、dev:console、dev:errors、dev:screenshot
有用な自動化パターン
デイリープランニングのブロック
VAULT='My Vault'
obsidian vault="$VAULT" daily:append content=$'## Plan\n- [ ] Top 1\n- [ ] Top 2\n'
obsidian vault="$VAULT" daily:read
フォルダー内のフロントマターを一括更新
VAULT='My Vault'
obsidian vault="$VAULT" files folder='Projects' ext=md | while IFS= read -r p; do
[ -z "$p" ] && continue
obsidian vault="$VAULT" property:set path="$p" name=reviewed value=false type=checkbox
done
保管庫の整理状況スナップショット
VAULT='My Vault'
obsidian vault="$VAULT" unresolved total
obsidian vault="$VAULT" orphans total
obsidian vault="$VAULT" deadends total
obsidian vault="$VAULT" recents total
復元前の同期状況の確認
VAULT='My Vault'
TARGET='Projects/Example.md'
obsidian vault="$VAULT" sync:history path="$TARGET"
obsidian vault="$VAULT" sync:read path="$TARGET" version=1
安全対策
- 明示的な確認なしに、破壊的なコマンド(
delete permanent、sync:restore、history:restore、theme:uninstall、plugin:uninstall)を実行しないでください。 - 読み取りによる確認で対象範囲を確定してから、変更コマンドを使用してください。
- 大規模な自動化は、冪等で再開時にも安全な手順に分割してください。
- 一括操作を実行する場合は、ロールバックの判断に備えてコマンド出力を記録してください。
同梱リソース
scripts/collect_obsidian_help.sh:トップレベルのヘルプ、すべてのコマンドのヘルプ、Markdown レポートを出力します。references/automation-recipes.md:繰り返し行うワークフロー向けの、コピーして使える自動化レシピです。references/obsidian-cli-full-help.md:obsidianCLI の全コマンドを網羅した出力です。
検証チェックリスト
vault=とpath=を明示して対象のコマンドを実行します。- 各変更手順の直後に、検証コマンドを実行します。
- 変更したファイル、プロパティ、タスク、同期バージョンを、正確なコマンドの実行結果とともに報告します。
コメント
Markdown 対応