mcpField
O
obsidian-cli

obsidian-cli

github.com/jackal092927生産性42327 回インストール37 週間前に更新
リポジトリ

obsidian-cli について

obsidian-cli は、Obsidian のインデックスやアプリ機能をエージェントが使うためのコマンドライン参照スキルです。ノート間の関係、タグ、タスク、プロパティの操作に加え、ファイルツールとの使い分けや安全策、代替手段も説明します。

主な機能

  1. 01構造化出力によるノート検索
  2. 02タグ、タスク、プロパティ、リンクの照会
  3. 03デイリーノート、テンプレート、Bases の操作
  4. 04ノートの読み取り、作成、追記、移動
  5. 05安全ルールとトラブル時の代替手段

活用シーン

  1. 01ノートを検索してバックリンクを確認
  2. 02未完了タスク、タグ、プロパティを確認
  3. 03テンプレートを使ったノートの作成や更新
  4. 04CLI が使えない場合にファイルツールへ切り替え

インストール

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

$npx skills add https://github.com/jackal092927/obsidian-official-cli-skills --skill obsidian-cli

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

詳細

Obsidian CLI — エージェント向けリファレンス

CLI とファイルツールの使い分け

Obsidian のインデックスやアプリ機能が必要な場合は CLI を使用します: 検索、バックリンク、リンク、タグ、タスク、プロパティ、ベース、テンプレート、アウトライン、孤立ノート、未解決リンク

ファイルツール(Read/Write/Edit/Grep/Glob)は、次の場合に使用します: 単純なファイルの読み書き、一括テキスト置換、ファイル横断の grep — アプリへの依存はありません

目安:Obsidian のインデックスが役立つ場合は CLI を使用します。単純なテキスト操作の場合は、ファイルツールを使用します。

構文の基本

obsidian <command> [param=value ...] [flag ...]
  • Vault の指定:最初のパラメーターに vault="My Vault" を指定するか、Vault ディレクトリ内から実行します
  • ファイルの指定:path=exact/path.md(Vault からの相対パス)と file=name(リンク形式の解決)
  • パラメーター:key=value — スペースを含む値は引用符で囲みます:name="My Note"
  • フラグ:= を使わないブール値の切り替え指定です — 例:silent、overwrite、counts、total
  • 複数行:コンテンツ文字列では、改行に \n、タブに \t を使用します
  • 構造化出力:format=json(search、base:query)、format=tsv(properties、tags)
  • クリップボード:出力をコピーするには --copy を追加します

主なコマンド

読み取りと書き込み
obsidian read path=<path>                                    # read file content
obsidian append path=<path> content="<text>"                 # append to file
obsidian prepend path=<path> content="<text>"                # prepend after frontmatter
obsidian create name=<name> content="<text>" silent          # create file (safe — won't overwrite)
obsidian create name=<name> template=<template> overwrite silent  # create from template
obsidian move path=<from> to=<to>                            # move/rename file
obsidian delete path=<path>                                  # move to system trash (safe)

注意点:

  • silent を付けずに create を実行すると、Obsidian の UI でファイルが開きます。エージェントの操作中は必ず silent を追加してください。
  • create はディレクトリを自動作成しません。親フォルダーが存在しない場合は、先に Bash で mkdir -p を使用します。
  • template= を指定した create は、path= を無視してテンプレートに設定されたフォルダーにファイルを配置する場合があります。作成後、search または files で実際のパスを確認してください。
デイリーノート
obsidian daily                          # open today's daily note
obsidian daily:read                     # read daily note content
obsidian daily:append content="<text>"  # append to daily note
obsidian daily:prepend content="<text>" # prepend to daily note
プロパティ(Frontmatter)
obsidian property:set name=<key> value=<val> path=<path>              # set property
obsidian property:set name=<key> value=<val> type=<type> path=<path>  # set with explicit type
obsidian property:read name=<key> path=<path>                         # read one property
obsidian property:remove name=<key> path=<path>                       # remove property
obsidian properties path=<path>                                       # list all properties
obsidian properties path=<path> format=tsv                            # list as TSV (key\tvalue)
検索
obsidian search query="<text>"                          # search vault (file paths)
obsidian search query="<text>" path=<folder> limit=10   # scoped search
obsidian search query="<text>" format=json              # JSON array of paths
obsidian search query="<text>" format=json matches      # structured JSON with line numbers (preferred)
obsidian search query="<text>" matches                  # text format with matching lines

ヒント:format=json matches は [{"file":"path","matches":[{"line":N,"text":"..."}]}] を返します。プログラムから検索する場合に使用します。

タグとタスク
obsidian tags all counts                            # list ALL vault tags with counts
obsidian tags all counts sort=count                 # sorted by frequency
obsidian tag name=<tag>                             # files with specific tag
obsidian tasks all todo                              # vault-wide open tasks
obsidian tasks all done                              # vault-wide completed tasks
obsidian tasks daily                                 # tasks from daily note
obsidian tasks path=<path>                           # tasks in file/folder
obsidian task ref="<path>:<line>" toggle            # toggle task status
obsidian task ref="<path>:<line>" done              # mark done

注:all を付けずに tags を実行すると、アクティブなファイルまたは指定したファイルのタグのみが一覧表示されます。 注:スコープ(all、daily、path=)を指定せずに tasks を実行すると、アクティブなファイルが対象になります。Vault 全体の結果を取得するには tasks all を使用します。

リンクとグラフ
obsidian backlinks path=<path>          # incoming links to file
obsidian backlinks path=<path> counts   # with link counts
obsidian links path=<path>              # outgoing links from file
obsidian unresolved                     # broken/unresolved links
obsidian orphans                        # files with no incoming links
obsidian deadends                       # files with no outgoing links
構成
obsidian files folder=<path> ext=md     # list files in folder
obsidian folders                        # list all folders
obsidian outline path=<path>            # heading structure of file
ベース
obsidian bases                                          # list .base files
obsidian base:query path=<path> format=json             # query a base
obsidian base:query path=<path> view=<name> format=json # query specific view
テンプレート
obsidian templates                        # list available templates
obsidian template:read name=<name>        # read template source
obsidian template:read name=<name> resolve # render with variables filled

安全ルール

ユーザーから明示的な依頼がない限り、以下を実行しないでください:

  • eval — 任意のコード実行
  • delete permanent — ゴミ箱を経由せずに削除します
  • plugin:install / plugin:uninstall — プラグインの状態を変更します
  • dev:cdp — Chrome DevTools プロトコルへのアクセス

安全な方法を優先してください:

  • ファイル全体を上書きするより append / prepend を使用します
  • overwrite フラグを付けない create は安全です(既存ファイルを置き換えません)
  • プロパティの一括変更、ファイルの移動、削除の前にユーザーへ確認します

診断

obsidian vault                   # confirm CLI connection — returns vault name, path, file count
obsidian version                 # show CLI version (e.g. "1.12.1 (installer 1.11.4)")

エラー処理

症状考えられる原因対処方法
obsidian version が失敗するCLI がインストールされていない、または PATH にないファイルツールに切り替えます
コマンドが停止する、またはタイムアウトするObsidian アプリが実行されていないObsidian を起動するか、ファイルツールを使用します
"Unknown command"CLI のバージョンが古すぎるobsidian help を実行して、利用可能なコマンドを確認します
search/tags の結果が空Vault のインデックスがまだ準備できていない少し待ってから再試行するか、代替手段として Grep を使用します

一般的な代替手段:CLI を利用できない場合は、ファイル操作に Read/Write/Edit/Grep/Glob を使用します。CLI を使うには、Obsidian のデスクトップアプリが実行されている必要があります。

コメント