### Clone Repository and Setup Vault Source: https://github.com/agricidaniel/claude-obsidian/blob/main/docs/install-guide.md Recommended installation method. Clones the repository, navigates into the directory, and runs a setup script. After setup, open the 'claude-obsidian/' folder as a vault in Obsidian. ```bash git clone https://github.com/AgriciDaniel/claude-obsidian cd claude-obsidian bash bin/setup-vault.sh ``` -------------------------------- ### Run Bundled Installer for Gemini CLI Source: https://github.com/agricidaniel/claude-obsidian/blob/main/GEMINI.md Executes the setup script to install the project's multi-agent capabilities for Gemini CLI. This is an alternative to manually linking the skills directory. ```bash bash bin/setup-multi-agent.sh ``` -------------------------------- ### Install Obsidian (Windows) Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/wiki/references/plugins.md Installs Obsidian on Windows using winget. Checks for existing installation first. ```powershell Test-Path "$env:LOCALAPPDATA\Obsidian" && echo "FOUND" || winget install Obsidian.Obsidian ``` -------------------------------- ### Correct Plugin Installation Flow Source: https://github.com/agricidaniel/claude-obsidian/blob/main/wiki/meta/claude-obsidian-v1.4-release-session.md This two-step process shows the correct way to install a Claude plugin. First, add the marketplace catalog, then install the plugin by its name and marketplace. ```bash # Step 1: add the marketplace catalog claude plugin marketplace add AI-Marketing-Hub/claude-obsidian # Step 2: install the plugin from the catalog by name claude plugin install claude-obsidian@claude-obsidian-marketplace ``` -------------------------------- ### Install Defuddle CLI Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/defuddle/SKILL.md Install the defuddle command-line interface globally using npm. Verify the installation by checking the version. ```bash npm install -g defuddle-cli ``` -------------------------------- ### Install Claude Obsidian Plugin Source: https://github.com/agricidaniel/claude-obsidian/blob/main/wiki/meta/full-audit-and-system-setup-session.md Register the plugin from the marketplace and then install it into the user scope of the local Claude Code system. Verify the installation using `claude plugin list`. ```bash # Registered as marketplace claude plugin marketplace add AI-Marketing-Hub/claude-obsidian # → claude-obsidian-marketplace registered (user scope) # Installed plugin claude plugin install claude-obsidian # → claude-obsidian@claude-obsidian-marketplace (scope: user) ✓ ``` -------------------------------- ### Run DragonScale Setup Script Source: https://github.com/agricidaniel/claude-obsidian/blob/main/docs/dragonscale-guide.md Execute the DragonScale setup script. An optional vault path can be provided; otherwise, it defaults to the repository root. ```bash bash bin/setup-dragonscale.sh ``` ```bash bash bin/setup-dragonscale.sh /path/to/vault ``` -------------------------------- ### Optional DragonScale Memory Setup Source: https://github.com/agricidaniel/claude-obsidian/blob/main/docs/install-guide.md Optional script to install the DragonScale Memory extension for advanced features like flat extractive log folds and semantic tiling. Requires additional prerequisites like flock and python3. ```bash bash bin/setup-dragonscale.sh ``` -------------------------------- ### Check Obsidian Installation (Linux) Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/wiki/references/plugins.md Verifies if Obsidian is installed via Flatpak or available in the system's PATH. Useful for scripting automated setups. ```bash flatpak list 2>/dev/null | grep -i obsidian && echo "FOUND via flatpak" || \ which obsidian 2>/dev/null && echo "FOUND in PATH" || echo "NOT FOUND" ``` -------------------------------- ### Setup Methodology Mode Source: https://github.com/agricidaniel/claude-obsidian/blob/main/docs/methodology-modes-guide.md Interactively set up a methodology mode or specify a mode non-interactively. ```bash bash bin/setup-mode.sh # interactive bash bin/setup-mode.sh --mode lyt # non-interactive ``` -------------------------------- ### Obsidian CLI for MCP Setup Source: https://github.com/agricidaniel/claude-obsidian/blob/main/wiki/meta/claude-obsidian-v1.4-release-session.md Presents the Obsidian CLI as a recommended alternative for MCP setup, avoiding the need for TLS workaround by using the native CLI. ```bash obsidian.exe --run-script mcp-setup ``` -------------------------------- ### Setup Methodology Mode (v1.8+) Source: https://github.com/agricidaniel/claude-obsidian/blob/main/CLAUDE.md Sets the organizational style for the vault. The mode is written to `.vault-meta/mode.json`. ```bash bash bin/setup-mode.sh ``` -------------------------------- ### Install Obsidian (Linux Flatpak) Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/wiki/references/plugins.md Installs Obsidian using the Flatpak package manager. Recommended for Linux users. ```bash flatpak install flathub md.Obsidian.Obsidian ``` -------------------------------- ### Obsidian Git Setup Source: https://github.com/agricidaniel/claude-obsidian/blob/main/WIKI.md Instructions for initializing a Git repository and configuring a .gitignore file for your Obsidian vault. ```APIDOC ## Git Setup ```bash cd "$VAULT_PATH" git init cat > .gitignore << 'EOF' .obsidian/workspace.json .obsidian/workspace-mobile.json .smart-connections/ .obsidian-git-data .trash/ .DS_Store node_modules/ EOF git add -A && git commit -m "Initial vault scaffold" ``` Enable Obsidian Git: Settings > Obsidian Git > Auto backup interval > 15 minutes. ``` -------------------------------- ### Install Obsidian (macOS) Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/wiki/references/plugins.md Installs Obsidian on macOS. Checks for existing installation and uses Homebrew if not found. ```bash ls /Applications/Obsidian.app 2>/dev/null && echo "FOUND" || brew install --cask obsidian ``` -------------------------------- ### Setup Wiki Retrieval (v1.7+) Source: https://github.com/agricidaniel/claude-obsidian/blob/main/CLAUDE.md Enables hybrid contextual + BM25 + cosine-rerank retrieval for the wiki. ```bash bash bin/setup-retrieve.sh ``` -------------------------------- ### Add Recommended Companion Skill Source: https://github.com/agricidaniel/claude-obsidian/blob/main/docs/compound-vault-guide.md Install the recommended companion skill 'kepano/obsidian-skills' from the marketplace. This is recommended for substrate dependency alignment. ```bash claude plugin marketplace add kepano/obsidian-skills ``` -------------------------------- ### Claude Obsidian `/canvas` Command Examples Source: https://github.com/agricidaniel/claude-obsidian/blob/main/README.md Provides examples of using the `/canvas` command to interact with Obsidian's visual canvas feature, including adding various content types and managing zones. ```bash /canvas # open or create the canvas /canvas add image # add an image with auto-layout /canvas add pdf # render PDF as preview node /canvas add note # pin a wiki page as a linked card /canvas zone # add a labeled zone /canvas from banana # capture recent banana-generated images ``` -------------------------------- ### Install Plugin Using GitHub Repository Source: https://github.com/agricidaniel/claude-obsidian/blob/main/wiki/meta/claude-obsidian-v1.4-release-session.md This command demonstrates the incorrect way to install a Claude plugin directly from a GitHub repository. It will result in a 'Plugin not found' error. ```bash claude plugin install github:AI-Marketing-Hub/claude-obsidian ``` -------------------------------- ### Manifest File Format Example Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/wiki-ingest/SKILL.md Example JSON structure for the delta tracking manifest file. This file tracks sources, their hashes, and ingestion details. ```json { "sources": { ".raw/articles/article-slug-2026-04-08.md": { "hash": "abc123", "ingested_at": "2026-04-08", "pages_created": ["wiki/sources/article-slug.md", "wiki/entities/Person.md"], "pages_updated": ["wiki/index.md"] } } } ``` -------------------------------- ### Install Companion Plugin Source: https://github.com/agricidaniel/claude-obsidian/blob/main/README.md Install the claude-canvas companion plugin using the claude plugin command. This tool enhances the visual layer with AI-orchestrated canvas creation. ```bash claude plugin install AgriciDaniel/claude-canvas ``` -------------------------------- ### Install Obsidian via Package Managers Source: https://github.com/agricidaniel/claude-obsidian/blob/main/WIKI.md Provides commands to install Obsidian on Linux (Flatpak), macOS (Homebrew), and Windows (winget). Fallback instructions for manual download are also included. ```bash # Linux (Flatpak) flatpak install flathub md.obsidian.Obsidian # macOS (Homebrew) brew install --cask obsidian # Windows (winget) winget install Obsidian.Obsidian # All platforms: https://obsidian.md/download ``` -------------------------------- ### Check flock Installation Source: https://github.com/agricidaniel/claude-obsidian/blob/main/docs/dragonscale-guide.md Verify if the 'flock' command-line utility is installed on your system. This is a universal prerequisite for DragonScale. ```bash command -v flock ``` -------------------------------- ### Obsidian Base List View Configuration Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/obsidian-bases/SKILL.md Example configuration for a 'list' type view in Obsidian Bases, specifying the order of items in the list. ```yaml views: - type: list name: "Quick List" order: - file.name - status ``` -------------------------------- ### Changelog Entry Format Source: https://github.com/agricidaniel/claude-obsidian/blob/main/CONTRIBUTING.md Example of how to format an entry in the CHANGELOG.md file, following the Keep a Changelog format for 'Unreleased' changes. ```markdown ## [Unreleased] ### Added - Description of new feature ### Fixed - Description of bug fix ``` -------------------------------- ### Project Decision Note Frontmatter Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/wiki/references/modes.md YAML frontmatter example for notes in the 'wiki/decisions/' directory. Tracks decision type, status, priority, and owner. ```yaml --- type: decision # stakeholder | decision | deliverable | intel | meeting | competitor status: active # active | pending | done | blocked | superseded priority: 3 # 1 (highest) to 5 (lowest) date: YYYY-MM-DD owner: "" due_date: "" context: "" tags: [decision] created: YYYY-MM-DD updated: YYYY-MM-DD --- ``` -------------------------------- ### Local Development Setup and Testing Source: https://github.com/agricidaniel/claude-obsidian/blob/main/CONTRIBUTING.md Commands to set up the local development environment, run the test suite, and optionally provision retrieval pipelines or select methodology modes. ```bash # Run the hermetic test suite — required before submitting a PR make test # Optionally provision the v1.7 retrieval pipeline (requires consent for API egress) bash bin/setup-retrieve.sh # Optionally pick a methodology mode for testing the v1.8 routing bash bin/setup-mode.sh ``` -------------------------------- ### Detect Obsidian CLI Transport Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/wiki-cli/SKILL.md Run this script at session start or vault setup to detect the preferred transport and available fallbacks. It writes the detection snapshot to .vault-meta/transport.json. ```bash bash scripts/detect-transport.sh ``` ```bash bash scripts/detect-transport.sh --force ``` -------------------------------- ### Get Image Dimensions using Python PIL or identify Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/canvas/references/canvas-spec.md Use these commands to calculate image dimensions for sizing guidelines. Ensure PIL is installed for the Python method. ```bash python3 -c "from PIL import Image; img=Image.open('path.png'); print(img.width, img.height)" ``` ```bash identify -format '%w %h' path.png ``` -------------------------------- ### Verify Claude Code Plugin Installation Source: https://github.com/agricidaniel/claude-obsidian/blob/main/docs/install-guide.md Lists all installed Claude Code plugins to verify that claude-obsidian has been successfully installed. ```bash claude plugin list ``` -------------------------------- ### Install Claude Code Plugin Source: https://github.com/agricidaniel/claude-obsidian/blob/main/docs/install-guide.md Second step to installing claude-obsidian as a Claude Code plugin. Installs the plugin from the added marketplace catalog. ```bash claude plugin install claude-obsidian@agricidaniel-claude-obsidian ``` -------------------------------- ### Check Defuddle Installation Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/defuddle/SKILL.md Check if the defuddle command-line tool is installed and available in the system's PATH. Outputs 'not installed' if the command is not found. ```bash which defuddle 2>/dev/null || echo "not installed" ``` -------------------------------- ### Initialize Git Repository and Create .gitignore Source: https://github.com/agricidaniel/claude-obsidian/blob/main/WIKI.md Sets up a new Git repository in your Obsidian vault and defines files/folders to be ignored by Git. Run these commands in your vault's root directory. ```bash cd "$VAULT_PATH" git init cat > .gitignore << 'EOF' .obsidian/workspace.json .obsidian/workspace-mobile.json .smart-connections/ .obsidian-git-data .trash/ .DS_Store node_modules/ EOF git add -A && git commit -m "Initial vault scaffold" ``` -------------------------------- ### Provisioning wiki-retrieve Skill Source: https://github.com/agricidaniel/claude-obsidian/blob/main/docs/compound-vault-guide.md These bash commands set up the wiki-retrieve skill. The first command performs full provisioning, automatically selecting an LLM tier for chunk prefix generation. The second command forces tier 3, which has zero LLM dependency. The third command runs diagnostics without provisioning. ```bash bash bin/setup-retrieve.sh ``` ```bash bash bin/setup-retrieve.sh --no-llm ``` ```bash bash bin/setup-retrieve.sh --check ``` -------------------------------- ### Check Obsidian Installation (Linux, macOS, Windows) Source: https://github.com/agricidaniel/claude-obsidian/blob/main/WIKI.md Verifies if Obsidian is installed on Linux, macOS, or Windows using common package managers or system paths. Use this to confirm installation before proceeding. ```bash # Linux: check flatpak first, then PATH flatpak list 2>/dev/null | grep -i obsidian && echo "FOUND via flatpak" || \ which obsidian 2>/dev/null && echo "FOUND in PATH" || echo "NOT FOUND" # macOS ls /Applications/Obsidian.app 2>/dev/null && echo "FOUND" || echo "NOT FOUND" # Windows (PowerShell) Test-Path "$env:LOCALAPPDATA\Obsidian" && echo "FOUND" || echo "NOT FOUND" ``` -------------------------------- ### Repository Module Note Frontmatter Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/wiki/references/modes.md YAML frontmatter example for notes in the 'wiki/modules/' directory. Tracks module path, status, language, and dependencies. ```yaml --- type: module # module | component | decision | dependency | flow path: "src/auth/" status: active # active | deprecated | experimental | planned language: typescript purpose: "" maintainer: "" last_updated: YYYY-MM-DD linked_issues: [] depends_on: [] used_by: [] tags: [module] created: YYYY-MM-DD updated: YYYY-MM-DD --- ``` -------------------------------- ### Remove Plugin Installation Directory Source: https://github.com/agricidaniel/claude-obsidian/blob/main/README.md Command to remove the plugin's folder if installed from source. ```bash rm -rf /path/to/claude-obsidian ``` -------------------------------- ### Plugin Installation Confirmation Source: https://github.com/agricidaniel/claude-obsidian/blob/main/wiki/meta/claude-obsidian-v1.4-release-session.md Confirms the successful installation and enabled status of the claude-obsidian plugin version 1.4.1 at the user scope. ```text claude-obsidian@claude-obsidian-marketplace Version: 1.4.1 Scope: user Status: ✔ enabled ``` -------------------------------- ### Check Obsidian CLI Availability Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/wiki/references/mcp-setup.md Verify if the Obsidian CLI is installed and accessible on your system. This command works for standard installations and can be adapted for Flatpak. ```bash which obsidian-cli 2>/dev/null && obsidian-cli --version ``` ```bash flatpak run md.obsidian.Obsidian --cli --version ``` -------------------------------- ### Provisioning with Synthetic Prefix Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/wiki-retrieve/SKILL.md Use this command to provision the retrieval system with a synthetic prefix without invoking the LLM. Inspect the retrieval quality manually afterward. Re-run without the --no-llm flag if the quality is insufficient. ```bash bash bin/setup-retrieve.sh --no-llm # provision with tier-3 synthetic prefix # inspect retrieval quality manually; if insufficient, re-run without --no-llm ``` -------------------------------- ### Check Python 3 Installation Source: https://github.com/agricidaniel/claude-obsidian/blob/main/docs/dragonscale-guide.md Verify if Python 3 is installed and accessible in your system's PATH. This is a prerequisite for Mechanism 3 and 4. ```bash command -v python3 ``` -------------------------------- ### Claude Obsidian `/wiki` Command Details Source: https://github.com/agricidaniel/claude-obsidian/blob/main/README.md Details the first-run setup and subsequent operations for the `/wiki` command, including dependency checks, user interaction for vault purpose, and content scaffolding. ```markdown First-run setup walks through: 1. Check Obsidian is installed 2. Check Local REST API plugin (if MCP transport desired) 3. Ask "What is this vault for?" (one question, drives the scaffold) 4. Scaffold per chosen [Methodology Mode](#methodology-modes-v18) and [Vault Use Case](#vault-use-cases-v10) 5. Seed `hot.md`, `index.md`, `log.md`, `wiki/meta/dashboard.base` 6. Suggest the first ingest On subsequent runs, `/wiki` continues where you left off. It checks vault health, surfaces stale claims, and shows recent activity from `hot.md`. ``` -------------------------------- ### Initialize Git Repository Source: https://github.com/agricidaniel/claude-obsidian/blob/main/skills/wiki/references/git-setup.md Initialize a new Git repository in your vault directory and make the initial commit. Ensure you are in the vault path before running these commands. ```bash cd "$VAULT_PATH" git init git add -A git commit -m "Initial vault scaffold" ``` -------------------------------- ### Conventional Commit Message Example Source: https://github.com/agricidaniel/claude-obsidian/blob/main/CONTRIBUTING.md An example demonstrating the Conventional Commits format for commit messages, including type, scope, and a descriptive body. ```git fix(wiki-mode): close path-traversal in route_path safe_name Sanitize routing input via safe_name() before string-concat into the vault-relative path. Adds 9 hermetic test assertions for traversal vectors. Closes audit finding S1. ``` -------------------------------- ### MCP Setup TLS Verification Warning Source: https://github.com/agricidaniel/claude-obsidian/blob/main/wiki/meta/claude-obsidian-v1.4-release-session.md Highlights the security implication of disabling TLS verification for MCP setup. This workaround is only acceptable for localhost connections. ```markdown > [!warning] > The following line disables TLS verification process-wide. This is acceptable for `127.0.0.1` only. > ```bash > NODE_TLS_REJECT_UNAUTHORIZED: "0" > ``` ``` -------------------------------- ### List Vault Metadata Directory Source: https://github.com/agricidaniel/claude-obsidian/blob/main/docs/dragonscale-guide.md Verify that the runtime state files have been created in the .vault-meta directory. This is a post-setup verification step. ```bash ls -1 .vault-meta ``` -------------------------------- ### Run Tiling Check Script (Report) Source: https://github.com/agricidaniel/claude-obsidian/blob/main/docs/dragonscale-guide.md Generates a saved report for tiling checks. The path is confined to the vault. Use `--peek` for readiness checks instead. ```bash python3 ./scripts/tiling-check.py --report wiki/meta/tiling-report-YYYY-MM-DD.md ``` -------------------------------- ### Idempotent Symlink Installer Script Source: https://github.com/agricidaniel/claude-obsidian/blob/main/wiki/meta/claude-obsidian-v1.4-release-session.md A Bash script designed to idempotently install agent skills by creating symbolic links. It wires up the 'skills/' directory into each agent's expected location. ```bash #!/bin/bash # Ensure script is sourced, not executed directly if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then echo "Error: This script must be sourced. Use 'source bin/setup-multi-agent.sh'" exit 1 fi # Define the target directory for agent skills TARGET_DIR="${CLAUDE_OBSIDIAN_ROOT:-.}/skills" # Function to create or update symlinks create_symlink() { local agent_path="$1" local skill_path="$2" local target_symlink="${agent_path}/skills" if [ -L "${target_symlink}" ]; then # If it's already a symlink, check if it points to the correct location if [ "$(readlink "${target_symlink}")" == "${skill_path}" ]; then echo "Symlink already exists and is correct: ${target_symlink}" return else echo "Removing existing incorrect symlink: ${target_symlink}" rm -f "${target_symlink}" fi elif [ -e "${target_symlink}" ]; then echo "Error: Path exists but is not a symlink: ${target_symlink}" return 1 fi echo "Creating symlink: ${target_symlink} -> ${skill_path}" ln -s "${skill_path}" "${target_symlink}" } # --- Agent Skill Setup --- # Codex CLI / OpenCode if command -v codex > /dev/null 2>&1; then echo "Setting up skills for Codex CLI..." create_symlink "$(codex --get-config skills_dir)" "${TARGET_DIR}" else echo "Codex CLI not found. Skipping setup." fi # Gemini CLI / Antigravity if command -v gemini > /dev/null 2>&1; then echo "Setting up skills for Gemini CLI..." create_symlink "$(gemini --get-config skills_dir)" "${TARGET_DIR}" else echo "Gemini CLI not found. Skipping setup." fi # Cursor (always-on rules) if [ -d ".cursor" ]; then echo "Setting up rules for Cursor..." mkdir -p .cursor/rules create_symlink ".cursor/rules" "${CLAUDE_OBSIDIAN_ROOT:-.}/.cursor/rules/claude-obsidian.mdc" else echo "Cursor environment not detected. Skipping setup." fi # Windsurf Cascade if [ -d ".windsurf" ]; then echo "Setting up rules for Windsurf Cascade..." mkdir -p .windsurf/rules create_symlink ".windsurf/rules" "${CLAUDE_OBSIDIAN_ROOT:-.}/.windsurf/rules/claude-obsidian.md" else echo "Windsurf environment not detected. Skipping setup." fi # GitHub Copilot if [ -f ".github/copilot-instructions.md" ]; then echo "Setting up instructions for GitHub Copilot..." create_symlink ".github" "${CLAUDE_OBSIDIAN_ROOT:-.}/.github/copilot-instructions.md" else echo "GitHub Copilot environment not detected. Skipping setup." fi echo "Multi-agent skill setup complete." ``` -------------------------------- ### Clone Repository and Create Branch Source: https://github.com/agricidaniel/claude-obsidian/blob/main/CONTRIBUTING.md Steps to fork the repository, clone it locally, and create a new branch for your feature or fix. ```bash git clone https://github.com//claude-obsidian.git cd claude-obsidian git checkout -b your-feature-name ```