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.1.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.1-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: slidesmd-0.3.1.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.1.tar.gz
Algorithm Hash digest
SHA256 fa3360c66cc4ce20caded0e10de9bfaaa44646da87eb78f7747dbf802c12c96b
MD5 8d45475bb284573cb834c05b37482c6f
BLAKE2b-256 d998bc7554e264f95b936a18c6162085c8a8ed12338291732aab9e3d6305bf90

See more details on using hashes here.

File details

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

File metadata

  • Download URL: slidesmd-0.3.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2c815439b1cbeb827bcc4d2aa798961961d686cba6b84e5f803fbb747daba971
MD5 44abcdbadb0b232a8fe92206a89c5f72
BLAKE2b-256 23401edba52a87dee79453d8c3dde5406fa226456c3f5723f3f9de3435011459

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