본문으로 건너뛰기
cccskills
무료GitHub에 공개

obsidian

Read, search, create, and edit Obsidian vault notes.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Obsidian
설치 방법 보기

포함된 파일(1)

  • SKILL.md4.4 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Obsidian Vault

Filesystem-first Obsidian vault operations: read, list, search, create, and edit notes, using LaRuche native tools.

Vault path

The vault root is resolved from ${OBSIDIAN_VAULT_PATH} (set this as a LaRuche secret or env var). Fallback: ~/Documents/Obsidian Vault.

Critical: file_read, file_write, file_list and file_search do not expand shell variables, and a relative path resolves against the server's working directory, not the vault. Resolve to a concrete ABSOLUTE path first, once, and reuse it.

shell_exec: echo "${OBSIDIAN_VAULT_PATH}"

If empty, check fallback:

shell_exec: [ -d "$HOME/Documents/Obsidian Vault" ] && echo "$HOME/Documents/Obsidian Vault"

Paths may contain spaces - always quote them in shell commands.

Read a note

file_read: <vault_path>/Notes/MyNote.md

List notes

All .md files in the vault:

file_list: <vault_path>  # recursive, filter *.md

Subfolder only:

file_list: <vault_path>/Subfolder

Search

By filename:

shell_exec: find "<vault_path>" -name "*keyword*.md"

By content (files):

shell_exec: grep -rl "search term" "<vault_path>" --include="*.md"

By content (with line numbers):

shell_exec: grep -rn "search term" "<vault_path>" --include="*.md"

Or use file_search, which needs path and pattern and searches FILENAMES by glob. Add content to search inside the files instead, and max_depth to bound the walk:

file_search: path=<vault_path>, pattern=*.md, content=search term

There is no index behind it; it walks the tree. On a large vault, bound it with max_depth or point path at a subfolder.

Create a note

Compose the full markdown content, then write it:

file_write: <vault_path>/Notes/NewNote.md
content: |
  # Title

  Body text. [[LinkedNote]]

Use [[Note Name]] wikilinks to connect related notes (base filename, no .md extension). For aliased display: [[Note Name|Alias]].

Edit a note

For targeted edits (replace a block, insert a section):

file_edit: <vault_path>/Notes/MyNote.md

Use file_edit to avoid overwriting the full file when only a section changes.

For full rewrites:

  1. Read current content: file_read: <vault_path>/Notes/MyNote.md
  2. Compose the updated content.
  3. Write back: file_write: <vault_path>/Notes/MyNote.md

Pitfall: file_write overwrites entirely - always read first to avoid data loss.

For simple appends:

shell_exec: printf '\n## New Section\n\nContent\n' >> "<vault_path>/Notes/MyNote.md"

Traps

  • file_write overwrites the whole note. There is no append mode. For a change to part of a note, use file_edit with path, old_string and new_string; it fails loudly if old_string is not unique, which is the protection you want.
  • A wikilink is a filename, not a path. [[Note Name]] resolves by base filename anywhere in the vault. Renaming a note breaks every link to it, and nothing warns you.
  • Obsidian keeps its own cache. A note written on disk while the app is open may not appear until it re-scans. Say the file was written; do not claim the user can see it.
  • Never touch .obsidian/. That folder is the vault's configuration and plugin state. Writing into it can break the user's setup in ways they will not connect to you.
  • Frontmatter is load-bearing. Many vaults key dataview queries and templates off YAML frontmatter. When rewriting a note, preserve the block between the leading --- markers exactly.

Failure modes

file_write errors on a missing directory. Create it first: shell_exec with mkdir -p "<vault_path>/Subfolder". Quote it; vault paths contain spaces more often than not.

The vault path resolves empty. OBSIDIAN_VAULT_PATH is not set and the fallback does not exist. Ask the user for the vault location, and offer to store it as a LaRuche secret so the next session does not ask again.

file_edit reports the string was not found. The note on disk differs from what you remember, usually by a line break or a non-breaking space. file_read it again and copy old_string from that output rather than from memory.

A note was written but the user cannot find it. It went to an absolute path outside the vault, or into a subfolder they do not sync. Report the exact path you wrote.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Drive an installed LaRuche App through its declared actions, never its files.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

infinition/LaRuche332026년 9월 22일 업데이트

arxiv

무료

Find academic papers on arXiv, with citation counts and BibTeX.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

infinition/LaRuche332026년 9월 22일 업데이트

ascii-art

무료

Render text or an image as ASCII art for terminal-friendly output.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

infinition/LaRuche332026년 9월 22일 업데이트

Track RSS/Atom feeds and blogs via blogwatcher-cli.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

infinition/LaRuche332026년 9월 22일 업데이트

Drive a real web browser: navigate, read, find, click, fill, screenshot

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

infinition/LaRuche332026년 9월 22일 업데이트

Measure a codebase: lines of code, language mix, and symbol lookups.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

infinition/LaRuche332026년 9월 22일 업데이트

infinition의 스킬 모두 보기

이 스킬의 문제 신고