PluginBench
Skill
Pass
Audit score 90

obsidian-wiki-ingest

ar9av/obsidian-wiki

Automate document ingestion into Obsidian wiki with deduplication, frontmatter, and cross-linking.

What is obsidian-wiki-ingest?

Orchestrates the wiki-ingest pipeline to add documents (Markdown, PDFs, text, images) into an Obsidian vault while handling deduplication via manifest, frontmatter generation, and cross-link creation. Use this when you need to bulk-import sources or keep your wiki synchronized with external content.

  • Validates vault path and manifest state before ingestion
  • Selects appropriate ingest mode (Append, Full, or Raw) based on source changes
  • Processes new and modified documents with deduplication checks
  • Generates or updates frontmatter and cross-links automatically
  • Updates manifest and log files with ingestion metadata
  • Refreshes QMD search index after vault writes

How to install obsidian-wiki-ingest

npx skills add https://github.com/ar9av/obsidian-wiki --skill obsidian-wiki-ingest
Prerequisites
  • Active obsidian-wiki project in /home/ubuntu/projects/obsidian-wiki workspace
  • OBSIDIAN_VAULT_PATH environment variable set
  • OBSIDIAN_SOURCES_DIR or _raw/ directory with source documents
  • Optional: QMD CLI for search index refresh
Claude Code
Cursor
Windsurf
Cline

How to use obsidian-wiki-ingest

  1. 1.Trigger the skill by saying 'ingest to wiki', 'add to wiki', or similar in the obsidian-wiki context
  2. 2.Specify ingest mode (append/full/raw) if needed, or let the skill auto-detect based on source changes
  3. 3.The skill validates vault path and manifest state
  4. 4.Wiki-ingest pipeline processes documents with deduplication
  5. 5.Manifest and log files are updated with ingestion metadata
  6. 6.QMD search index is refreshed if configured
  7. 7.Review the summary of changes and updated pages

Use cases

Good for
  • Bulk-import research documents, PDFs, or markdown files into your Obsidian vault
  • Keep a wiki synchronized when source documents are updated or added
  • Ingest raw content in different modes depending on whether you want to append, replace, or preserve original formatting
  • Automatically deduplicate content across multiple ingestion runs
  • Maintain a searchable index of ingested content via QMD integration
Who it's for
  • Knowledge workers maintaining an Obsidian wiki
  • Researchers organizing large document collections
  • Teams managing shared wiki repositories
  • Anyone automating document-to-wiki workflows

obsidian-wiki-ingest FAQ

What ingest modes are available?

Append (add new content to existing pages), Full (replace entire pages), and Raw (preserve original formatting without processing).

How does deduplication work?

The skill checks the .manifest.json file and existing frontmatter to prevent duplicate ingestion of the same source across multiple runs.

What happens if QMD is not configured?

The skill skips QMD refresh if QMD_WIKI_COLLECTION is unset or the qmd CLI is unavailable. Vault changes are not rolled back; QMD status is reported separately.

Can I ingest sensitive data?

No. The skill includes safety checks to prevent ingestion of secrets or sensitive data into the wiki.

What file types are supported?

Markdown, PDFs, plain text, and images from OBSIDIAN_SOURCES_DIR or _raw/ directories.

Full instructions (SKILL.md)

Source of truth, from ar9av/obsidian-wiki.


name: obsidian-wiki-ingest description: > Automates ingestion of documents into the Obsidian wiki (obsidian-wiki) using the wiki-ingest pipeline. Handles deduplication via manifest, frontmatter, and cross-links; triggers on user request within the obsidian-wiki project context.

Obsidian Wiki Ingest — Automation Skill

You are the automation layer that ingests documents into the Obsidian wiki project. This skill orchestrates the ingestion workflow, ensuring deduplication, proper frontmatter, and cross-linking with existing pages.

Trigger

  • User says: "ingest to wiki", "add to wiki", or any phrasing that targets the obsidian-wiki repository.
  • Context: active in the /home/ubuntu/projects/obsidian-wiki workspace.

Responsibilities

  • Validate target vault path from the environment and manifest state.
  • Decide between Append, Full, or Raw ingest modes based on user input or changes in the source.
  • Invoke the wiki-ingest workflow to process new/modified sources.
  • Update manifest and log files with ingest metadata.
  • Create or update project overview pages and cross-links as needed.

Inputs

  • Source documents (Markdown, PDFs, text, images) from OBSIDIAN_SOURCES_DIR or _raw/
  • Vault path from OBSIDIAN_VAULT_PATH
  • Optional: ingest mode (append|full|raw)

Outputs

  • Updated wiki pages with distilled knowledge
  • Updated .manifest.json and log entries
  • Optional: new/updated project overview pages

Probing and Safety

  • Do not ingest secrets or sensitive data.
  • Respect existing page structure and avoid duplicating content.
  • Mark inferred/ambiguous knowledge with provenance notes.

Example Workflow (high level)

  1. Determine ingest mode and target paths
  2. Run wiki-ingest with the chosen mode
  3. Update manifest/log and refresh wiki index
  4. Return a brief summary of changes

Next Steps

  • If you approve, I’ll create a small wrapper script (scripts/ingest-wiki.sh) that kicks off the ingest for the current project and updates the manifest. Then wire a simple command alias to trigger this skill from the CLI.

QMD Refresh After Vault Writes

QMD is a search index, not the source of truth. If $QMD_WIKI_COLLECTION is empty or unset, skip this step. Run it only after this skill has written or rewritten vault markdown. If QMD refresh fails, do not roll back the vault changes; report the QMD status separately.

Use $QMD_CLI if set; otherwise use qmd.

${QMD_CLI:-qmd} update

If the output says vectors are needed or embeddings may be stale, run:

${QMD_CLI:-qmd} embed

Verify the collection with either:

${QMD_CLI:-qmd} ls "$QMD_WIKI_COLLECTION"

or, when a specific page path is known:

${QMD_CLI:-qmd} get "qmd://$QMD_WIKI_COLLECTION/<page>.md" -l 5

Record one of:

  • QMD refreshed: update + embed + verified
  • QMD refreshed: update only + verified
  • QMD skipped: QMD_WIKI_COLLECTION unset
  • QMD skipped: qmd CLI unavailable
  • QMD failed: <short error summary>