Surreal Slides banner
run-llama run-llama

Surreal Slides

Development community

Description

Agentic search through slides and presentation documents, backed by LlamaCloud and SurrealDB

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Surreal Slides

**Surreal Slides** is a CLI tool for indexing and querying presentation files using AI. It parses slides into structured data with [LlamaParse](https://cloud.llamaindex.ai/), stores them in a [SurrealDB](https://surrealdb.com) database, and exposes an agentic interface for natural language information retrieval across your presentation library.

What It Does

The tool works in two phases:

**1. Preprocessing & Indexing**

When you load a directory of presentations, each file goes through an AI-powered pipeline:

  • Parsing: Raw slide content is extracted as text using LlamaParse.
  • Structured extraction: Claude extracts structured data from each presentation according to this schema:
class Slide(BaseModel):
    slide_num: int       # Slide number
    summary: str         # AI-generated summary of the slide's content

class Presentation(BaseModel):
    title: str           # Presentation title
    slides: list[Slide]  # Ordered list of slides with summaries
  • Storage: Each presentation and its slides are stored in SurrealDB using a hybrid relational/document model: the presentation is a top-level record, with its slides stored as embedded documents within it. This enables both structured queries (e.g. fetch slide 5 of presentation X) and document-style retrieval (e.g. get the full content of a presentation).

**2. Agentic Querying**

Once your presentations are indexed, you can query them using natural language through a [Claude](https://platform.claude.com/docs/en/agent-sdk/overview)-powered agent. The agent is backed by an MCP server that exposes four tools over the database:

Tool Description
list_all_files List all indexed presentations with their slide ranges
get_full_content Retrieve the full parsed text of a presentation
get_slide_summary Get the AI-generated summary of a specific slide
get_many_slides_summaries Get summaries for multiple slides at once