mcpField
O
obsidian-cli-automation

obsidian-cli-automation

github.com/oldwinter生産性1038 回インストール1 週間前に更新
リポジトリ

obsidian-cli-automation について

Obsidian CLI Automation は、自然言語の依頼を再現可能な `obsidian` コマンド列に変換するようエージェントを支援します。ノートや保管庫の操作に対応し、読み取り確認、最小限の変更、明示的な検証を重視します。

主な機能

  1. 01依頼を決定的なコマンドライン操作に変換
  2. 02ノートの作成、更新、移動、検索
  3. 03タスク、リンク、タグ、プロパティの管理
  4. 04プラグイン、テーマ、ワークスペース、同期履歴の確認
  5. 05変更の検証と破壊的操作への注意

活用シーン

  1. 01フォルダー内のノートのプロパティを一括更新
  2. 02デイリーノートに計画を追記して検証
  3. 03未解決リンクと保管庫の状態を確認
  4. 04バージョン復元前に同期履歴を調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/oldwinter/skills --skill obsidian-cli-automation

インストール後、Claude Code で/obsidian-cli-automationを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
automation-recipes.md
obsidian-cli-full-help.md
scripts/
collect_obsidian_help.sh

詳細

Obsidian CLI の自動化

概要

決定的な CLI コマンドを使用して、Obsidian のワークフローを自動化します。 このスキルを使うと、自然言語のリクエストを、安全で再現可能な obsidian コマンドシーケンスに変換し、明示的に検証できます。

使用するタイミング

次のような目的を含むリクエストでは、このスキルを使用します。

  • ターミナルスクリプトから Obsidian のワークフローを自動化する
  • ノートの一括作成、更新、移動、名前変更、削除を行う
  • デイリーノート、タスク、リンク、タグ、エイリアス、プロパティを操作する
  • 保管庫の構造を調べる、コンテンツを検索する、整理状況のレポートを生成する
  • プラグイン、テーマ、スニペット、タブ、ワークスペース、ブックマークを管理する
  • 履歴や Obsidian Sync のバージョンを調査、復元する
  • dev:* や eval などの開発者向け診断コマンドを実行する

クイックスタート

  1. CLI が利用可能か確認します。
    command -v obsidian
    obsidian version
    
  2. 保管庫名を確認します。
    obsidian vaults
    
  3. 対象の保管庫を指定し、読み取り専用の確認コマンドを実行します。
    VAULT='My Vault'
    obsidian vault="$VAULT" vault info=path
    obsidian vault="$VAULT" files total
    

実行ワークフロー

  1. 自動化を始める前に、使用できるコマンドを確認します。
    • obsidian --help を実行します。
    • 完全なスナップショットを取得するには、scripts/collect_obsidian_help.sh を実行します。
  2. 決定的なセレクターで対象を特定します。
    • 曖昧さがある場合は、file= より path= を優先します。
    • 複雑な実行では、すべてのコマンドに vault=<name> を指定します。
  3. 読み取りを先に行い、対象を確認します。
    • 変更前に read、file、tasks、properties、search、sync:history を使用します。
  4. 変更を最小限の手順で実行します。
    • append、prepend、create、property:set、task、move、rename を小さな手順に分けて適用します。
  5. 変更後の状態を検証します。
    • 読み取り/クエリコマンドを再実行し、期待される出力と実際の出力を比較します。

コマンドの分類

  • 保管庫の確認と構造: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:obsidian CLI の全コマンドを網羅した出力です。

検証チェックリスト

  1. vault= と path= を明示して対象のコマンドを実行します。
  2. 各変更手順の直後に、検証コマンドを実行します。
  3. 変更したファイル、プロパティ、タスク、同期バージョンを、正確なコマンドの実行結果とともに報告します。

コメント