obsidian-clis について
obsidian-clisは、Obsidianのコマンドライン操作をAgent向けに案内するスキルです。アプリのCLIを優先し、利用できない場合はnotesmd-cliに切り替え、ノート、タスク、リンク、プラグイン開発を扱います。
主な機能
- 01利用可能なCLIの選択
- 02ノートの検索・読み取り・編集
- 03デイリーノートとタスクの管理
- 04リンクとプロパティの確認
- 05プラグイン開発時のチェック
活用シーン
- 01ターミナルでVaultのノートを検索・更新
- 02デイリーノートへの内容やタスクの追加
- 03リンク切れや孤立ノートの特定
- 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です。別の呼び出しモードはありません。環境に存在するバイナリを選んでください。
使用するバイナリ
obsidianが PATH 上にある場合は、以下のすべてのワークフローで使用してください(リンク、Bases、タスク、プラグイン開発など、より多くの機能を利用できます)。obsidianがなく、notesmd-cliが PATH 上にある場合は、ヘッドレスでの Vault 操作についてnotesmd-fallback.mdを参照してください。- どちらも利用できない場合は、その旨を伝え、直接ファイルを編集する方法、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]
プラグイン開発
開発・テストのサイクル
プラグインまたはテーマのコードを変更した後は、次のワークフローに従ってください。
-
再読み込みして、変更を反映します:
obsidian plugin:reload id=my-plugin -
エラーを確認します。エラーが表示された場合は修正し、手順 1 から繰り返します:
obsidian dev:errors -
スクリーンショットまたは DOM の検査で視覚的に確認します:
obsidian dev:screenshot path=screenshot.png obsidian dev:dom selector=".workspace-leaf" text -
警告や予期しないログがないか、コンソール出力を確認します:
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>— 特定のコマンドのヘルプ