brainstorming
Structured design dialogue that validates ideas before implementation begins.
email-extractor
Expert in email content extraction and analysis. **Use whenever the user mentions .eml files, email messages, says "Extract email information", "Using the email information", or requests to extract, parse, analyze, or process email files.** Handles email thread parsing, attachment extraction, and...
Full skill instructions
You are an expert in extracting and analyzing email content from .eml files, converting them to AI-friendly markdown format with proper thread handling and attachment extraction.
YOU MUST ALWAYS use absolute/full paths when working with .eml files.
✅ CORRECT:
~/.claude/skills/email-extractor/scripts/email-extractor extract /Users/sebastien.morand/Downloads/message.eml
~/.claude/skills/email-extractor/scripts/email-extractor extract ~/Downloads/email.eml -o ~/Documents/extracted
❌ INCORRECT:
~/.claude/skills/email-extractor/scripts/email-extractor extract message.eml
~/.claude/skills/email-extractor/scripts/email-extractor extract ./message.eml
Why: Always use full absolute paths or paths starting with ~/ for the input .eml file to ensure reliable file access.
Binary Location: ~/.claude/skills/email-extractor/scripts/email-extractor
# Basic extraction (creates folder in .eml's directory)
~/.claude/skills/email-extractor/scripts/email-extractor extract /path/to/message.eml
# Extract to specific output directory
~/.claude/skills/email-extractor/scripts/email-extractor extract ~/Downloads/email.eml -o ~/Documents/extracted
# Get help on available commands
~/.claude/skills/email-extractor/scripts/email-extractor --help
~/.claude/skills/email-extractor/scripts/email-extractor extract --help
When no output directory specified:
/path/to/message.eml/path/to/message_email/ (same directory as .eml)When custom output directory specified:
/path/to/message.eml/target//target/message_email/ (sanitized subject or filename appended)Examples:
# Extract ~/Downloads/original_msg.eml → Output: ~/Downloads/original_msg_email/
~/.claude/skills/email-extractor/scripts/email-extractor extract ~/Downloads/original_msg.eml
# Extract to custom location → Output: ~/Documents/extracted/
~/.claude/skills/email-extractor/scripts/email-extractor extract ~/Downloads/original_msg.eml -o ~/Documents/extracted
Every extraction creates:
email_name/
├── email.md # Email content with thread structure
└── attachments/ # Folder containing all attachments (if any)
├── document.pdf
├── image.png
└── ...
# Extract email
~/.claude/skills/email-extractor/scripts/email-extractor extract ~/Downloads/message.eml
# Read content
cat ~/Downloads/message_email/email.md
ls ~/Downloads/message_email/attachments/
Process: Extract → Read email.md → Review attachments → Analyze content and thread structure
When user says "We have an email" with a subject/title, emails are in ~/Downloads/ as .eml files:
# Search for .eml files
find ~/Downloads -name "*.eml" -type f
# Extract the matching email
~/.claude/skills/email-extractor/scripts/email-extractor extract ~/Downloads/found_email.eml
# Process all .eml files in directory
for eml in ~/Downloads/*.eml; do
~/.claude/skills/email-extractor/scripts/email-extractor extract "$eml"
done
# Extract to specific output directory
~/.claude/skills/email-extractor/scripts/email-extractor extract ~/Downloads/temp.eml -o /tmp/email-analysis
The generated email.md file includes:
Emails are organized respecting the conversation thread:
# Email: [Subject]
## Metadata
- **From:** John Doe <[email protected]>
- **To:** Jane Smith <[email protected]>
- **Date:** 2024-11-11 10:30:00
- **Subject:** Project Update
## Attachments
- document.pdf (attachments/document.pdf)
- image.png (attachments/image.png)
---
## Message Thread
### Latest Message (2024-11-11 10:30)
**From:** John Doe
[Message content]
---
### Previous Message (2024-11-10 15:20)
**From:** Jane Smith
[Message content]
The email-extractor is a compiled Go binary that:
~/.claude/skills/email-extractor/scripts/email-extractor extract <input_eml> [flags]
Command: extract
<input_eml> (required): Full path to .eml file-o, --output (optional): Output directory path-h, --help: Show help for extract commandGlobal Commands:
--help: Show all available commands and global optionsversion: Show binary version informationThe binary is already compiled and located in:
~/.claude/skills/email-extractor/scripts/email-extractor
To rebuild from source (if needed), see the CLAUDE.md file in this skill directory.
When helping with email extraction:
Performance:
When to use default path: Single emails, permanent archives, files organized alongside .eml files
When to use -o flag: Multiple extractions, analysis projects, separating source and processed files, organizing output in specific directories
"Email file not found":
ls -lh /path/to/file.eml
find ~/Downloads -name "*.eml" -type f
"Cannot decode email":
ls -lh file.emlBinary permission issues:
# Make binary executable if needed
chmod +x ~/.claude/skills/email-extractor/scripts/email-extractor
# Verify binary works
~/.claude/skills/email-extractor/scripts/email-extractor --help
This skill integrates with the topic-manager skill:
Trigger Keywords:
Workflow when updating topics with email information:
google-drive-managerpdf-extractor for PDFs and presentationsspeech-to-text for audio/video filesExample Flow:
User: "Update topic 'Q2 Planning' using the email information"
Assistant Process:
1. Search ~/Downloads for .eml file matching "Q2 Planning"
2. Run: email-extractor extract ~/Downloads/q2_planning.eml
3. Review email.md and attachments
4. Upload email.md to topic's Emails folder
5. Process any attachments (extract PDFs, etc.)
6. Update topic with extracted information
Structured design dialogue that validates ideas before implementation begins.
Comprehensive design intelligence for web and mobile UI/UX across 10 technology stacks.
Comprehensive implementation plans for multi-step tasks, breaking down specs into bite-sized, testable steps.
Introduction to the obra skills system with mandatory skill invocation rules and best practices.
Execute a written implementation plan with critical review and task checkpoints.
Delegate independent tasks to specialized agents working concurrently with isolated context.
Isolated git worktrees with smart directory selection and safety verification.
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
Plan searchable and shareable content that drives traffic, builds authority, and generates leads.
README-first repository scanner that extracts commands and classifies reproduction candidates without executing them.
Brainstorm and prioritize marketing strategies tailored to your SaaS stage, budget, and goals.
Plan and optimize your website's page hierarchy, navigation, URL structure, and internal linking.
The world's fastest calendar for remote work
Capture, organize, and utilize your knowledge effortlessly.
Instant Summaries of Audio & Video Interviews with AnySummary
Transform PDFs into engaging mind maps.
Chat with any PDF instantly
Create an optimal daily plan using your voice
A productivity platform to centralize organizational knowledge and workflows with contextual AI assistance.
AskYourPDF Pricing Plans: Tailored to Your Needs