Skip to main content

Auto-index PowerPoint presentations into a central agents.md — queryable by any AI

Project description

slidesmd

PyPI version

Auto-index your PowerPoint presentations into a central agents.md — queryable by any AI.

Save a .pptx to your folder — agents.md updates automatically. Ask Claude, Copilot, or a local Ollama model anything across all your decks.


How it works

  1. Point slidesmd at a folder containing .pptx files
  2. It extracts metadata — title, slide topics, full slide content, to-dos
  3. It generates agents.md — a single Markdown index any AI can read
  4. Ask your AI: "What was that presentation I did about data pipelines?"

Installation

Requires Python 3.10+.

pip install slidesmd

Or with Poetry:

git clone https://github.com/chanukyapekala/slidesmd
cd slidesmd
poetry install

Usage

Watch mode (recommended)

Set it once, forget it. Auto-updates agents.md whenever you add or remove presentations.

slidesmd watch ~/Documents/Presentations

Manual index

Manually scan and regenerate the index.

slidesmd index ~/Documents/Presentations

Search from CLI

Search across all presentations without opening an AI.

slidesmd search ~/Documents/Presentations "data pipelines"

Querying with an AI

agents.md is plain Markdown — any AI can read it. Point your AI at the folder, or feed it directly from the terminal.

Ollama (local, offline)

First generate the index:

slidesmd index ~/Documents/Presentations

Then query it:

ollama run llama3 "$(cat ~/Documents/Presentations/agents.md)"

Then ask anything:

>>> What presentations have I done about data pipelines?
>>> Summarise my Iceberg talk in 3 bullet points.

Claude / ChatGPT / Copilot

# macOS — copy to clipboard
pbcopy < ~/Documents/Presentations/agents.md

# Linux
xclip -selection clipboard < ~/Documents/Presentations/agents.md

Paste into any chat window and start asking questions.


Output — agents.md

# Presentations Index

_Auto-generated by slidesmd on 2025-04-04 09:00_

---

## Q3 Sales Review

- **File:** `/Users/you/Documents/Presentations/Q3-Sales-Review.pptx`
- **Slides:** 18
- **Topics:** Introduction, Market Overview, Pipeline, Forecast, Next Steps
- **To-dos:**
  - TODO: Follow up with Nordic accounts by end of month
  - Action item: Update forecast numbers with finance team

**Slide content:**

- **Introduction**: What we covered last quarter and what changed
- **Market Overview**: EMEA growth 12% YoY · Pipeline up 18%
- **Next Steps**: Submit revised forecast by Friday

Configuration

Works with any local folder, including cloud-synced ones. Recurses into subfolders automatically.

slidesmd watch ~/Documents/Presentations          # macOS/Linux
slidesmd watch "C:\Users\you\Documents\Slides"    # Windows

MCP Server

SlidesMD ships an MCP server so Claude Desktop, Cursor, and any other MCP client can query your presentations natively — no scripting required.

Start the server

slidesmd mcp          # via the CLI
# or
slidesmd-mcp          # direct entry point

Claude Desktop config

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "slidesmd": {
      "command": "slidesmd-mcp"
    }
  }
}

Available tools

Tool What it does
index_folder Index all .pptx in a folder and write agents.md
search_presentations Keyword search across titles, topics, todos, and slide content
get_presentation Get metadata for a single .pptx file
query_content Ask a question against a file or folder using a local Ollama model

All tools return compact, factual responses by default. Pass detailed=true to get full slide-level content — useful when the AI needs to drill deeper after an initial answer.

Example interaction

You: What are the key features of Apache Iceberg?
AI: [calls get_presentation, compact]
    Apache Iceberg · 31 slides · Topics: Introduction, Agenda, Iceberg Layout...

You: Give me the full slide content on the layout
AI: [calls get_presentation, detailed=true]
    [metadata.json]: Snapshot details · Partition details · Schema details...

Stack


License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slidesmd-0.3.0.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slidesmd-0.3.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file slidesmd-0.3.0.tar.gz.

File metadata

  • Download URL: slidesmd-0.3.0.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.2 Darwin/25.2.0

File hashes

Hashes for slidesmd-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e7b5fe507fa1384e7c3d22e62ee616b0c8406823a428deb1abc6554c03f96f57
MD5 773b4ed41a33fa20eb1955ab1a67b4d2
BLAKE2b-256 003caed92b0ebbe6326371145b16e4ee2a923e2b1f417e62a96abf4089d041f8

See more details on using hashes here.

File details

Details for the file slidesmd-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: slidesmd-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.2 Darwin/25.2.0

File hashes

Hashes for slidesmd-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 900238f964ce84ab87cfce44054fcee65f2ae4f2704aa14f01562eda2b86ce1b
MD5 fd5e77146badd9e78fd425ef32f7ce57
BLAKE2b-256 ec108ae9e73d575566d831bd9c86d5bb697f5d4aed3169680b9ac01a9b0eab56

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page