kb-harvest

Ingest HTML, PDF, JSON, and TXT documentation into the QMD semantic docs index.

Updated Jun 22, 2026
One-click install
npx skills add https://github.com/ozand/knowledge-base-template --skill kb-harvest-ozand
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: kb-harvest
Source: https://github.com/ozand/knowledge-base-template/tree/main/_template/qmd/skills/kb-harvest
Command: npx skills add https://github.com/ozand/knowledge-base-template --skill kb-harvest-ozand

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pandoc, pdftotext, qmd.

What problem does it solve? External documentation such as HTML pages, PDF manuals, and plain text files is not searchable by the KB's semantic search until it is converted and indexed. This Skill converts those files and loads them into the QMD docs collection so they become queryable via /kb-search. ## Core Features & Use Cases - Format Conversion: Converts HTML to Markdown with pandoc and PDF to text with pdftotext before ingestion. - Docs Cache Staging: Materializes processed .md and .txt files into the ~/.cache/pi-kb/qmd-docs/ cache directory. - QMD Indexing & Embedding: Runs qmd update and qmd embed on the pi-kb-docs collection, then verifies results with qmd ls. - Use Case: You downloaded the official HTML reference manual for a library your project depends on. Use this Skill to convert it to Markdown, cache it, and embed it so /kb-search can answer questions against that documentation. ## Quick Start Use the kb-harvest skill to ingest the downloaded HTML and PDF documentation files into the QMD docs index so they are searchable with /kb-search.

Frequently Asked Questions about kb-harvest

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make external documentation searchable with semantic search?▼

Convert the documentation to Markdown or plain text, copy it into the ~/.cache/pi-kb/qmd-docs/ cache directory, then run qmd update and qmd embed on the pi-kb-docs collection. The files become queryable through /kb-search.

How to convert HTML and PDF files to Markdown for indexing?▼

Use pandoc with the command pandoc -f html -t markdown input.html -o output.md for HTML files. For PDFs, run pdftotext input.pdf output.txt to produce plain text, which can then be parsed with the plain text adapter.

What file formats can be ingested into the QMD docs index?▼

The ingestion workflow supports HTML, PDF, JSON, and TXT source files. Non-Markdown formats are first converted to .md or .txt using local tools like pandoc and pdftotext before being cached and embedded.

How do I verify files were indexed in QMD correctly?▼

Run qmd ls pi-kb-docs to list the contents of the docs collection and confirm your files appear. If they are missing, re-run qmd update -c pi-kb-docs followed by qmd embed -c pi-kb-docs.

Why is my PDF documentation not showing up in semantic search results?▼

PDFs must be converted to text with pdftotext before indexing, since QMD cannot embed binary PDF content directly. Also confirm the converted file was copied to the qmd-docs cache and that qmd embed completed successfully.