x9-obsidian
Obsidian
Operate on the intended vault while preserving its links, structure, and local conventions. The onboarding declaration describes optional app access and required local access.
Target and authority
Resolve the vault from the user's request, workspace, and available local configuration. A parent directory may contain several vaults, independent Git repositories, and different sharing boundaries; establish the actual vault root and target file before operating. An explicit absolute path may identify that root or a target. Discover applicable nested instructions when entering a target subtree outside the already-loaded workspace context. Ask only if the remaining ambiguity changes the target or authority.
After selection, canonicalize the vault root and identify operation targets by vault-relative paths. Preserve link literals in the vault's established format; when resolving one, normalize . and .. from its applicable base, do not expand a leading ~ as a home shortcut, resolve every symlink or junction component, and require the result to remain inside the root. Reject escapes and destination collisions with a different entry after Unicode normalization and case folding. A case-only rename of the source needs a verified app-aware operation or a recoverable intermediate name rather than treating the source itself as a collision.
A read request authorizes a report. An edit request authorizes its safe local changes; broader reorganization, deletion, publication, plugin installation, and sync configuration require their own authorization. Do not turn an approved edit into another approval ritual. If permission is pending, prepare the concrete diff or move map and continue independent authorized work; elapsed time is not approval. Never delete archives or history as an organizational shortcut.
Keep personal facts, folder choices, task systems, and sharing policies in the vault's instructions or configuration. Do not impose a taxonomy, new metadata scheme, or folder migration. Git exclusions do not establish sync exclusions. A move across vaults or sharing boundaries needs an explicit destination and access scope; do not infer those from a shared parent path.
Find and read
Start with filenames, a relevant index, or bounded search results, then read the matching notes and necessary neighbors. Do not load every note or attachment to answer a local question. Search results are candidates: distinguish an actual link or property from examples in code, quotations, and archived versions.
Use the CLI adapter when Obsidian can supply resolved links or app-visible behavior. Filesystem tools remain suitable for bounded search and text edits. Resolve duplicate basenames with exact vault-relative paths; an alias is display metadata, not evidence that two files are interchangeable. Preserve the established Markdown-link or wikilink style.