email-search
Email Search CLI
Process email archives (PST files) into a searchable ChromaDB vector database with automatic semantic embeddings. Ingest, classify, search, analyse, and export to markdown.
Prerequisites
- Python 3.11+
- Package installed in a virtual environment
First-Time Setup
# Set up Python environment (one-time)
~/.claude/skills/email-search/setup.sh
Usage
All commands use the email-search CLI, which should be run from the skill's virtual environment:
~/.claude/skills/email-search/.venv/bin/email-search <command>
Ingest a PST file
email-search ingest /path/to/archive.pst
Emails are classified into three tiers:
- Tier 1 (Excluded): Calendar invites, delivery notifications, password resets - skipped
- Tier 2 (Metadata Only): Short emails, automated senders - stored but not vectorised
- Tier 3 (Vectorise): Real conversations - stored and auto-embedded
Search emails
email-search search "budget meeting notes"
email-search search "project update" --from 2023-01-01 --to 2023-12-31
email-search search "invoice" --sender "accounting"
email-search search "contract terms" --emails-only
email-search search "spreadsheet data" --attachments-only --limit 5
Analytics
email-search analytics summary
email-search analytics timeline
email-search analytics timeline --monthly --year 2020
email-search analytics contacts --limit 50
Export to markdown
email-search export contacts -o areas/relationships/email-contacts.md
email-search export review -p week -d 2023-01-15
email-search export review -p month -o reviews/monthly/2023-01-email.md
Status
email-search status
Configuration
# Default data directory: ./email-search-data
export EMAIL_SEARCH_DATA_DIR="/path/to/data"
Key Details
- No API keys or external services needed - ChromaDB runs locally with built-in embeddings (all-MiniLM-L6-v2)
- Text extraction from PDF, Word, Excel, and plain text attachments
- No data leaves the machine
More from dandcg/claude-skills
outlook
Use for email and calendar operations - checking inbox, sending emails, viewing calendar, scheduling events. Trigger on phrases like "check email", "draft email", "my calendar", "schedule", "am I free".
40web-clipper
Clip web pages to clean markdown for later reading and search. Use when needing to save a URL, bookmark an article, clip a page, build a read-later collection, or archive web content. Trigger on phrases like "clip this", "save this page", "bookmark", "read later", "web clip", "save article".
24humanize
Rewrite AI-generated text to sound natural and human. Use for humanizing text, making AI writing undetectable, rewriting to pass AI detectors. Trigger on phrases like "humanize", "make this sound human", "rewrite naturally", "humanize text", "sound more natural", "pass AI detection".
5trello
Manage Trello boards, lists, and cards. Trigger on phrases like "trello", "my boards", "shopping list", "create card", "move card", "sort cards".
3flaresolverr
Use when any URL returns 403, a Cloudflare challenge page, or "Just a moment..." - bypasses anti-bot protection via a real browser in Docker. Trigger on phrases like "scrape", "fetch blocked", "403", "cloudflare", "can't access site".
2repo-search
Semantic search and summarisation across a document corpus (markdown, PDF, DOCX, XLSX). Use when needing to find information across many files, build timelines, aggregate knowledge, or answer questions about content. Trigger on phrases like "search brain", "find in my notes", "what do I know about", "summarise", "timeline of", "aggregate".
2