with one click
mdfind
Search PDF, PPTX, and image content in Attachments using macOS Spotlight
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Search PDF, PPTX, and image content in Attachments using macOS Spotlight
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Generate C4 architecture diagrams from system notes
Create and edit Obsidian Canvas files for architecture visualization
Visualize system dependencies and relationships
Analyse architecture diagrams and flowcharts
Generate architecture diagrams using Python diagrams library
Batch populate summary fields using content analysis
| name | mdfind |
| context | fork |
| description | Search PDF, PPTX, and image content in Attachments using macOS Spotlight |
| model | haiku |
Search inside PDFs, PowerPoints, images, and other files in Attachments/ using macOS Spotlight (mdfind). This leverages the OS-level content index — no custom indexing needed.
/mdfind <search query> # Search all attachment content
/mdfind --type pdf <query> # Search only PDFs
/mdfind --type pptx <query> # Search only PowerPoints
/mdfind --type image <query> # Search only images (OCR-indexed)
Execute the appropriate search based on flags:
mdfind -onlyin Attachments/ "<search_query>" 2>/dev/null
mdfind -onlyin Attachments/ "kMDItemContentType == 'com.adobe.pdf' && kMDItemTextContent == '*<query>*'" 2>/dev/null
If the above returns nothing, fall back to the simpler form:
mdfind -onlyin Attachments/ -name ".pdf" "<search_query>" 2>/dev/null
mdfind -onlyin Attachments/ "kMDItemContentType == 'org.openxmlformats.presentationml.presentation'" "<search_query>" 2>/dev/null
mdfind -onlyin Attachments/ "kMDItemContentType == 'public.image'" "<search_query>" 2>/dev/null
Format results clearly:
## Attachment Search: <query>
Found **N** matching files
| # | File | Type | Size |
|---|------|------|------|
| 1 | [filename](path) | PDF | 2.4 MB |
| 2 | ... | ... | ... |
### Quick Actions
- Read a PDF: `/pdf-to-page <path>`
- Read a PPTX: `/pptx-to-page <path>`
- Full vault search: `/q <query>`
For each result, get file size and type:
ls -lh "<file_path>" 2>/dev/null
mdfind uses macOS Spotlight — files must be indexed (most are by default)/q instead