mail-stats
Email volume statistics, trends, and patterns. Show daily/weekly/monthly volume, peak periods, read rates, and account breakdowns. Use when user asks about email statistics, how much email they get, trends, or wants analytics on their inbox. Arguments: optional time range or specific metric like "by day", "by account", "unread rate".
npx skills add majiayu000/claude-skill-registry --skill mail-stats --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Mail Stats — Email Analytics Analysis: **$ARGUMENTS** (default: last 30 days overview) ## Volume by day (last 30 days) ```bash DB="$HOME/Library/Mail/V10/MailData/Envelope Index" SINCE=$(($(date +%s) - 2592000)) sqlite3 "$DB" " SELECT date(datetime(m.date_received,'unixepoch','localtime')) as day, COUNT(*) as total, SUM(CASE WHEN m.read=0 THEN 1 ELSE 0 END) as unread FROM messages m JOIN mailboxes mb ON m.mailbox = mb.ROWID WHERE m.date_received >= ${SINCE} AND m.deleted = 0 AND mb.url NOT LIKE '%Spam%' AND mb.url NOT LIKE '%Trash%' AND mb.url NOT LIKE '%Sent%' GROUP BY day ORDER BY day;" 2>/dev/null ``` ## Volume by week (last 12 weeks) ```bash sqlite3 "$DB" " SELECT strftime('%Y-W%W', datetime(m.date_received,'unixepoch','localtime')) as week, COUNT(*) as total FROM messages m JOIN mailboxes mb ON m.mailbox = mb.ROWID WHERE m.date_received >= (strftime('%s','now') - 7257600) AND m.deleted = 0 AND mb.url NOT LIKE '%Spam%' AND mb.url NOT LIKE '%Sent%' GROUP BY week ORDER BY week;" 2>/dev/null ``` ## Volume by hour of day (when do emails arrive?) ```bash sqlite3 "$DB" " SELECT strftime('%H', datetime(m.date_received,'unixepoch','localtime')) as hour, COUNT(*) as cnt FROM messages
- Volume by day (last 30 days)
- Volume by week (last 12 weeks)
- Volume by hour of day (when do emails arrive?)
- By account
- All-time totals (fast path via mailboxes)
- Output Format
sqlite3 "$DB" "
SELECT date(datetime(m.date_received,'unixepoch','localtime')) as day,
FROM messages m
JOIN mailboxes mb ON m.mailbox = mb.ROWID
WHERE m.date_received >= ${SINCE}
AND m.deleted = 0
AND mb.url NOT LIKE '%Spam%' AND mb.url NOT LIKE '%Trash%'
AND mb.url NOT LIKE '%Sent%'
GROUP BY day ORDER BY day;" 2>/dev/null
SELECT strftime('%Y-W%W', datetime(m.date_received,'unixepoch','localtime')) as week,What does the mail-stats skill do?
Email volume statistics, trends, and patterns. Show daily/weekly/monthly volume, peak periods, read rates, and account breakdowns. Use when user asks about email statistics, how much email they get, trends, or wants analytics on their inbox. Arguments: optional time range or specific metric like "by day", "by account", "unread rate".
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill mail-stats --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
