Automated summary
Scans Apple Mail inbox for unread, actionable, and priority messages within a specified time range.
Strengths
- Works directly with Apple Mail via AppleScript
- Detects actionable keywords in email subjects
- Provides structured summary and sorted lists
- Privacy-friendly: only reads metadata, not body content
Limitations
- Requires Apple Mail on macOS
- Cannot read email body (no deep contextual classification)
- Depends on automation permissions being granted
When you need a quick overview of important or urgent emails in the last 24 to 72 hours.
If you use a different email client or need to analyze email content.
Security analysis
SafeThe skill runs a local AppleScript to read email metadata; no network or destructive commands are used. Shell injection is unlikely as the hours parameter is expected to be numeric and the AI constructs the command string directly.
No concerns found
How this analysis is madeExamples
Check my email from todayAny urgent emails?Show me unread emails from the past 48 hoursname: scan-inbox description: Scan Apple Mail inbox for unread, actionable, and priority messages. Use this when the user asks to check their email, see unread messages, find urgent emails, or triage their inbox. Returns categorized email counts and details from the last 24-48 hours. allowed-tools: Bash
Scan Inbox
Analyzes your Apple Mail inbox to identify unread, actionable, and priority messages within a specified time range.
When to Use This Skill
Activate this skill when the user asks questions like:
- "Check my email"
- "What unread emails do I have?"
- "Any urgent emails?"
- "Show me actionable items from my inbox"
- "Triage my email from today"
What This Skill Does
- Scans all inbox accounts in Apple Mail
- Filters messages by time range (default: last 24 hours)
- Identifies unread messages
- Detects actionable keywords (deadline, urgent, action required, meeting, request, etc.)
- Identifies priority/flagged messages
- Returns structured data with counts and message details
Instructions
Step 1: Determine Time Range
Ask the user if they want a specific time range, or use these defaults:
- "Today" or "recent" → 24 hours
- "This week" or "recent days" → 48-72 hours
- Specific request → Honor their time range
Step 2: Execute the Scan
Run the AppleScript skill using the Bash tool:
```bash osascript .claude/skills/scan-inbox/scripts/scan_inbox.scpt <hours> false ```
Parameters:
<hours>: Number of hours to look back (e.g., 24, 48, 72)false: Set totruefor priority-only mode
Step 3: Parse Results
The script returns:
success: boolean (true/false)unreadCount: Total unread messagesactionableCount: Messages with actionable keywordspriorityCount: Flagged/priority messagesunreadList: Array of unread message details (sender, subject, date, flagged status)actionableList: Array of actionable messagespriorityList: Array of priority messages
Step 4: Present Results to User
Format the output in a clear, actionable way:
Example Response: ``` 📬 Inbox Summary (Last 24 Hours)
📊 Overview:
- 38 unread messages
- 0 actionable items
- 0 priority/flagged
📧 Recent Unread:
- Google - Security alert
- C# Digest - Newsletter
- BAC Credomatic - Transaction notification ... (showing top 5-10)
💡 Next Steps:
- No urgent items requiring immediate attention
- Review newsletters when you have time ```
Step 5: Offer Follow-up Actions
Ask if the user wants to:
- See more details about specific emails
- Flag or organize certain messages
- Extract tasks from actionable emails
- Check a different time range
Actionable Keywords Detected
The skill identifies these keywords in email subjects:
- deadline
- urgent
- action required
- meeting
- request
- please review
- asap
- todo
- action item
Error Handling
If the script fails:
- Check Mail automation permissions: System Settings → Privacy & Security → Automation → Terminal/Claude
- Verify Apple Mail is running
- Try with a smaller time range if timeout occurs
Example Usage
User: "Check my email from today"
Claude Response: ```bash osascript .claude/skills/scan-inbox/scripts/scan_inbox.scpt 24 false ```
Then format and present the results to the user.
Supporting Files
For advanced usage and detailed documentation, see reference.md.
For examples of common use cases, see examples.md.
Performance
- Typical execution: ~2 seconds
- Max timeout: 30 seconds
- Works with multiple Mail accounts
Privacy Note
This skill only reads mail metadata (sender, subject, date, flags). It does not access email body content to protect privacy.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/scan-mail-inbox-mm5t89lh/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/scan-mail-inbox-mm5t89lh' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/scan-mail-inbox-mm5t89lh/download' --output '.skill-downloads/scan-mail-inbox-mm5t89lh/SKILL.md.part' && mv '.skill-downloads/scan-mail-inbox-mm5t89lh/SKILL.md.part' '.skill-downloads/scan-mail-inbox-mm5t89lh/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): Bash
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/scan-mail-inbox-mm5t89lh/SKILL.md' && test -s '.skill-downloads/scan-mail-inbox-mm5t89lh/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/scan-inbox' && cp -R '.skill-downloads/scan-mail-inbox-mm5t89lh' '.claude/skills/scan-inbox'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/scan-mail-inbox-mm5t89lh'openskills read 'scan-mail-inbox-mm5t89lh'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/scan-mail-inbox-mm5t89lh/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
PDF Reader
Productivity
Read and extract text from PDF files, including documents, reports, contracts, and spreadsheets. Works with local files, URLs, and WhatsApp attachments. Use whenever PDF content is needed, even if not explicitly requested.
Discord Messaging Workflows
Productivity
Use the message tool to send, edit, and moderate Discord messages with interactive components.
Interactive Verdict Preview
Productivity
Generate an interactive HTML preview of keep/drop verdicts for maintainer review, then process the pasted feedback JSON.