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.4.0.tar.gz (16.1 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.4.0-py3-none-any.whl (19.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: slidesmd-0.4.0.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for slidesmd-0.4.0.tar.gz
Algorithm Hash digest
SHA256 7ab45d3e459fdf6fdf2bdddb8b09f6e5d2f17b124fc1019a88338ae9cfbc1511
MD5 3d975d9ea9817796bd561eec0a866837
BLAKE2b-256 74e1e8505b3b4921f6b92c9642d39304fbca79478c3b13f6caa4bc6b10716fce

See more details on using hashes here.

Provenance

The following attestation bundles were made for slidesmd-0.4.0.tar.gz:

Publisher: publish.yml on chanukyapekala/slidesmd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: slidesmd-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 19.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for slidesmd-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 746824e3f68d34950e85755e1bd77f2bff5f58a895ce7be3b44842df78990f7b
MD5 0e136cac42cef7551ba166fe5f0157b8
BLAKE2b-256 9ee2640b90d63d980e17e3f2ba7445b9a7e2ba59258232155f8a07f49c26bb17

See more details on using hashes here.

Provenance

The following attestation bundles were made for slidesmd-0.4.0-py3-none-any.whl:

Publisher: publish.yml on chanukyapekala/slidesmd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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