mcpField
O
obsidian-clis

obsidian-clis

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

obsidian-clis について

obsidian-clisは、Obsidianのコマンドライン操作をAgent向けに案内するスキルです。アプリのCLIを優先し、利用できない場合はnotesmd-cliに切り替え、ノート、タスク、リンク、プラグイン開発を扱います。

主な機能

  1. 01利用可能なCLIの選択
  2. 02ノートの検索・読み取り・編集
  3. 03デイリーノートとタスクの管理
  4. 04リンクとプロパティの確認
  5. 05プラグイン開発時のチェック

活用シーン

  1. 01ターミナルでVaultのノートを検索・更新
  2. 02デイリーノートへの内容やタスクの追加
  3. 03リンク切れや孤立ノートの特定
  4. 04プラグインの再読み込みとエラー確認

インストール

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

$npx skills add https://github.com/nweii/agent-stuff --skill obsidian-clis

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

同梱ファイルnotesmd-fallback.md

詳細

Obsidian CLIs

ここでのCLIとは、2 つのターミナルインターフェースを指します。Obsidian アプリ CLI(obsidian、主に使用)と、(obsidianが利用できない場合のファイルシステム上の代替手段である)notesmd-cliです。別の呼び出しモードはありません。環境に存在するバイナリを選んでください。

使用するバイナリ

  1. obsidianが PATH 上にある場合は、以下のすべてのワークフローで使用してください(リンク、Bases、タスク、プラグイン開発など、より多くの機能を利用できます)。
  2. obsidianがなく、notesmd-cliが PATH 上にある場合は、ヘッドレスでの Vault 操作についてnotesmd-fallback.mdを参照してください。
  3. どちらも利用できない場合は、その旨を伝え、直接ファイルを編集する方法、MCP、またはユーザーが提供するほかの Vault ツールを代替手段として使用してください。

CLI の利用可否

いずれかのツールを使用する前に、環境が不明な場合はcommand -v obsidianとcommand -v notesmd-cli(またはwhich)を実行し、インストールされていることを確認してください。どちらのバイナリも存在するとは限りません。

サンドボックス内のobsidianから実行中のアプリが見つからない場合は、代替手段に切り替える前に、サンドボックスの外で再試行してください。


Obsidian アプリ CLI

obsidian <command>を実行すると、ターミナルから実行中の Obsidian インスタンスを操作できます。ほとんどのコマンドではアプリが起動している必要があります。起動していない場合、最初のコマンドによって Obsidian が起動します。

正式な最新コマンドリファレンスを確認するには、obsidian helpまたはobsidian help <command>を実行してください。このスキルでは、一般的なパターンと分かりにくい挙動について説明します。

Vault とファイルの指定
  • Vault:最初のパラメーターとしてvault=<name>を指定します。デフォルトは、現在の作業ディレクトリが Vault フォルダーの場合はそこが Vault になり、そうでない場合はアクティブな Vault になります。
  • ファイル:file=<name>は Wiki リンクと同様に解決されます(名前のみで、パスや拡張子は不要です)。Vault のルートからの正確なパスを指定するには、path=<path>を使用します。
  • TUI:対話モードを起動するには、引数なしでobsidianを実行します。対話モード内ではobsidianのプレフィックスを省略してください。
パラメーターとフラグ
  • パラメーター:param=valueの形式で指定します。値にスペースが含まれる場合は引用符で囲みます:content="Hello world"。
  • フラグ:値を指定しないブール値です:silent、overwrite、newtab。
  • 複数行のコンテンツ:content=では、改行に\n、タブに\tを使用します。
検索、リンク、構造
obsidian search query="text" [path=folder] [limit=n] [format=text|json] [total] [case]
obsidian search:context query="text" [path=folder] [limit=n]  # includes surrounding context
obsidian links [file=Note] [total]
obsidian backlinks [file=Note] [counts] [total]
obsidian outline [file=Note] [format=tree|md]
obsidian orphans [total] [active]       # notes with no links to or from them
obsidian deadends [total] [active]      # notes with no outgoing links
obsidian unresolved [total] [counts] [verbose]  # broken wikilinks
obsidian tags [active] [file=Note] [total] [counts] [sort=count]
obsidian tag name=project [total] [verbose]
よく使われるパターン
ノートとコンテンツ

ノート全体を読み込まずに内容を確認するには、property:readまたはproperties file=Noteを使用します。

obsidian read file="Note" # Use this to read the content of a wikilink
obsidian create name="Note" content="# Title\n\nBody" [template=Name] [overwrite] [silent]
obsidian append file="Note" content="- [ ] Task"
obsidian prepend file="Note" content="# Header\n"
obsidian move file="Note" to=folder/newpath.md
obsidian rename file="Note" name="New file name"
obsidian delete file="Note"
デイリーノート(Daily notes プラグイン)
obsidian daily:read
obsidian daily [paneType=tab|split|window] [open]
obsidian daily:append content="- [ ] Buy groceries" [inline] [open]
obsidian daily:prepend content="- [ ] Morning routine" [inline]  # goes after frontmatter
obsidian daily:path  # returns expected path even if file doesn't exist yet
タスク
obsidian tasks [daily] [file=Note] [todo] [done] [status="x"] [total] [verbose]
obsidian task ref=path:line [toggle] [done] [todo] [daily]
プロパティとフロントマター
obsidian properties [active] [file=Note] [total] [counts] [format=yaml|json|tsv]
obsidian property:read name=status [file=Note]
obsidian property:set name=status value=done [file=Note]
obsidian property:remove name=status [file=Note]
Bases(Bases プラグイン)
obsidian bases
obsidian base:views [file=base.base]
obsidian base:query [file=base.base] [view=name] [format=json|csv|tsv|md|paths]
obsidian base:create name="Item" content="..." [open] [newtab]
プラグイン開発
開発・テストのサイクル

プラグインまたはテーマのコードを変更した後は、次のワークフローに従ってください。

  1. 再読み込みして、変更を反映します:

    obsidian plugin:reload id=my-plugin
    
  2. エラーを確認します。エラーが表示された場合は修正し、手順 1 から繰り返します:

    obsidian dev:errors
    
  3. スクリーンショットまたは DOM の検査で視覚的に確認します:

    obsidian dev:screenshot path=screenshot.png
    obsidian dev:dom selector=".workspace-leaf" text
    
  4. 警告や予期しないログがないか、コンソール出力を確認します:

    obsidian dev:console level=error
    
その他の開発者向けコマンド

アプリのコンテキストで JavaScript を実行します:

obsidian eval code="app.vault.getFiles().length"

CSS の値を調べます:

obsidian dev:css selector=".workspace-leaf" prop=background-color

モバイルエミュレーションを切り替えます:

obsidian dev:mobile on
クイックリファレンス(Obsidian アプリ CLI)
タスクコマンド
コマンド一覧を表示obsidian help
デイリーノートを開くobsidian daily
デイリーノートに追記obsidian daily:append content="- [ ] Task"
Vault を検索obsidian search query="text"
アクティブなファイルまたは指定したファイルを読み込むobsidian readまたはobsidian read file=Note
テンプレートから作成obsidian create name="Title" template=Name
タグを件数付きで一覧表示obsidian tags counts
デイリーノートのタスクを一覧表示obsidian tasks daily
リンク切れの Wiki リンクを検索obsidian unresolved counts
孤立したノートを検索obsidian orphans

notesmd-cliについては、notesmd-fallback.mdを参照してください。

参考資料
  • obsidian help — コマンド一覧(常に最新)
  • obsidian help <command> — 特定のコマンドのヘルプ

コメント