mcpField
O
obsidian

obsidian

github.com/afonsoft生産性1446 回インストール2 日前に更新
リポジトリ

obsidian について

obsidianは、Obsidianユーザー向けにCLI操作、Basesファイル、Obsidian Flavored Markdownを扱い、プラグインやテーマの開発も支援するスキルです。CLIまたはMCPコマンドの実行前に、対象の保管庫とコマンドの確認が必要です。

主な機能

  1. 01ノート、タスク、プロパティの管理
  2. 02フィルターや数式を使ったBasesの作成
  3. 03Obsidian Flavored Markdownの記述
  4. 04プラグインとテーマの開発支援
  5. 05コマンド実行前の保管庫確認

活用シーン

  1. 01指定した保管庫でノートを検索・編集
  2. 02フィルターや数式を使ったBaseの構築
  3. 03ウィキリンク、埋め込み、コールアウトを含む記述
  4. 04Obsidianプラグインの開発やデバッグ

MCP 対応

CLIまたはMCPコマンドは、起動中のObsidianインスタンスを通じて操作します。CLIがない場合はmcp-obsidian-cliを任意の代替手段として提示できますが、インストールには承認が必要です。

インストール

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

$npx skills add https://github.com/afonsoft/skills --skill obsidian

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

同梱ファイル

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

references/
CALLOUTS.md
EMBEDS.md
FUNCTIONS_REFERENCE.md
obsidian-bases.md
obsidian-cli.md
obsidian-markdown.md
PROPERTIES.md

詳細

Obsidian

Obsidian のすべてに対応する単一のスキルです。CLI、Bases(.base ファイル)、Obsidian Flavored Markdownを扱います。以前の obsidian-cli、obsidian-bases、obsidian-markdown スキルを統合しています。

由来: kepano/obsidian-skills(MIT)をベースにしています。CLI または MCP コマンドを使用するには、Obsidian が起動している必要があります。

使用する場合

  • コマンドラインから保管庫を操作する場合(ノート、タスク、プロパティの作成/読み取り/検索/管理)。

  • フィルターと数式を使って、ノートをデータベースのように表示するBaseを作成または編集する場合。

  • Obsidian Flavored Markdown(ウィキリンク、埋め込み、コールアウト、プロパティ)を作成する場合。

  • Obsidian のプラグインまたはテーマを開発またはデバッグする場合。

  • ユーザーが英語でこのスキルを求めたり、言及したりした場合(例:「use /obsidian」「run obsidian」)。

  • ユーザーがポルトガル語でこのスキルを求めたり、言及したりした場合(例:「use /obsidian」「execute obsidian」)。

使用しない場合

  • Obsidian 以外の一般的な Markdown ファイルやノート作成ツールには使用しないでください。
  • ユーザーが明示的に指定していない保管庫を対象にしないでください。
  • ユーザーの確認なしに mcp-obsidian-cli パッケージを自動インストールしたり、obsidian バイナリを実行したりしないでください。

セキュリティとガードレール

  • 最初にユーザーの確認を得る: 実行前に、対象の保管庫と使用する obsidian コマンドをユーザーに確認してください。
  • 自動実行しない: 指定された保管庫の読み取りまたは変更を行うコマンドのみを実行してください。システム全体に影響するコマンドを実行したり、明示的な同意なしに任意のプラグインやテーマを実行したりしないでください。
  • MCP へのフォールバックはオプトイン: obsidian CLI が見つからない場合は、代替手段として mcp-obsidian-cli を提示し、ユーザーがインストールを承認するまで待ってください。
  • 保管庫内にとどまる: Obsidian CLI を使って保管庫のルート外にあるファイルにアクセスしないでください。

3 つの領域

1. CLI

起動中の Obsidian インスタンスに対して obsidian を実行します。保管庫の操作、プラグイン/テーマの開発、DOM/スクリーンショットの確認ができます。 コマンドの完全なリファレンスとクイックスタートの例については、references/obsidian-cli.md を参照してください。

obsidian コマンドを実行する前に、対象とする保管庫をユーザーに確認し、コマンドの実行許可を得てください。明示的な同意なしに mcp-obsidian-cli や Obsidian プラグインを自動インストールしないでください。

2. Bases

.base ファイルは、ノートに対するフィルター、数式、ビュー(テーブル/カード/リスト/マップ)を定義する有効な YAML です。 references/obsidian-bases.md と、関数の完全な一覧が記載された references/FUNCTIONS_REFERENCE.md を参照してください。

filters:
  and:
    - file.hasTag("task")
    - 'file.ext == "md"'
formulas:
  days_until_due: 'if(due, (date(due) - today()).days, "")'
views:
  - type: table
    name: "Active Tasks"
    order: [file.name, status, formula.days_until_due]
3. Markdown(Obsidian Flavored)

ウィキリンク [[Note]]、埋め込み ![[note.png|300]]、コールアウト > [!warning]、プロパティ/フロントマター、ハイライト ==text==、Mermaid、数式を扱います。 references/obsidian-markdown.md に加えて、references/CALLOUTS.md、references/EMBEDS.md、references/PROPERTIES.md を参照してください。

ワークフロー

Obsidian ノートを作成する
  1. 先頭にフロントマター/プロパティを追加します(references/PROPERTIES.md を参照)。
  2. 標準的な Markdown と Obsidian の構文(ウィキリンク、埋め込み、コールアウト)を使って内容を記述します。
  3. リーディングビューで正しく表示されることを確認します。
Base を作成する
  1. 有効な YAML を含む .base ファイルを作成します。
  2. filters(グローバル/ビュー)と、必要に応じて formulas を定義します。
  3. 1 つ以上の views(table/cards/list/map)を追加します。
  4. YAML を検証し(引用符のルールに注意)、Obsidian で開いて正しく表示されることを確認します。
CLI を登録する/プラグインを開発する
  1. ユーザーに Settings → General → Command line interface → Register CLI の順に進むよう案内し、ターミナルを再起動してもらいます。
  2. ユーザーがコード変更を確認した後、明示的に指定されたプラグインに限り、obsidian plugin:reload と obsidian dev:screenshot を実行します。

よくある間違い

間違い症状修正方法
Obsidian が起動していないCLI/MCP コマンドが失敗する先に Obsidian アプリを開きます
.base 内の特殊文字を引用符で囲んでいないYAML エラー:, {, }, [, ], ,, &, *, #, ?, |, -, <, >, =, !, %, @ を含む文字列を引用符で囲みます
数式内で二重引用符の中に二重引用符がある解析エラー数式を単一引用符で囲みます:'if(done, "Yes", "No")'
フィールドアクセスのない期間(now()-file.ctime).round(0) でエラーが発生する先に .days にアクセスします:(now()-file.ctime).days.round(0)
数式に null チェックがないプロパティが空の場合にクラッシュするif() でチェックします:if(due, (date(due)-today()).days, "")
Wikilink と Markdown リンクの取り違え外部リンクが機能しない保管庫内のノートには [[Note]]、外部リンクには [text](url) を使います

参考資料

コメント