hirokidaichi/marp-lens
Overview
This skill provides semantic, vector-based search for Marp presentation slides so you can find relevant slides by topic, retrieve slide content, and explore presentation materials quickly. It indexes Markdown slides into embeddings and returns similarity-ranked results with previews, slide numbers, and metadata. Use it from the CLI to search, fetch specific slides, reindex files, or view database stats.
How this skill works
The skill parses Marp Markdown files into individual slides, generates vector embeddings for slide text (optionally including image descriptions), and stores them in a local vector database. A semantic search query is converted into an embedding and matched against stored vectors to produce ranked results with similarity scores and content previews. Commands allow fetching a specific slide by file and number, rebuilding or updating the index, and exporting results as table or JSON.
When to use it
- Locate slides covering a concept when building a talk or study notes
- Quickly retrieve the full content of a specific slide by reference
- Explore which presentations mention a keyword or topic across a slide library
- Reindex after adding or changing slide files to keep search results current
- Export search results as JSON for automation or integration
Best practices
- Index your slide directory after adding or editing files to ensure up-to-date results
- Use concise, topic-focused queries to improve match relevance
- Adjust the similarity threshold to filter noisy matches for high-precision results
- Include image descriptions when indexing slides that rely on visuals for better semantic coverage
- Use JSON output for programmatic workflows and table output for quick human review
Example use cases
- Search a slide library for "machine learning basics" and open top-matching slides for reuse
- Run a query like "what slides cover deployment" to prepare a training session or checklist
- Fetch a specific slide with its full content using the file path and slide number for copying into another deck
- Rebuild the index after reorganizing a folder of presentations to refresh embeddings and counts
- Integrate search output (JSON) into a documentation site or knowledge base for slide discovery
FAQ
Use the get command with the file path and slide number format, e.g. npx marp-lens get "presentation.md #3" to return the slide text and metadata.
Can images be included in the search index?
Yes — enable image descriptions during indexing to include visual context; this generates captions or descriptions that become part of the slide embedding.
How do I control result volume and quality?
Use the --limit option to set max results and --threshold to set a minimum similarity score; combine concise queries with a higher threshold for precise matches.