From agi-super-team
Automates Gmail inbox classification with AI, creates CRM activities, PM tasks, draft replies, and sends Telegram notifications. Run hourly via launchd or query on demand.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agi-super-team:email-monitorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Automatic pipeline: Gmail -> AI classification -> CRM activities -> PM tasks -> draft replies -> Telegram
Automatic pipeline: Gmail -> AI classification -> CRM activities -> PM tasks -> draft replies -> Telegram
email_monitor.py → Gmail API, extracts full body
↓ JSON (stdout)
email_agent.py → AI classification (claude CLI haiku)
↓ actionable emails JSON (stdin)
email_action_agent.py → CRM + PM + drafts + git commit + Telegram
| What | Path |
|---|---|
| Monitor tool | $GOOGLE_TOOLS_PATH/email_monitor.py |
| Classify agent | $GOOGLE_TOOLS_PATH/email_agent.py |
| Action agent | $GOOGLE_TOOLS_PATH/email_action_agent.py |
| State | $GOOGLE_TOOLS_PATH/data/email_monitor_state.json |
| Summaries | $GOOGLE_TOOLS_PATH/data/email_summaries/ |
| Drafts | $GOOGLE_TOOLS_PATH/data/email_drafts/ |
| Agent log | $GOOGLE_TOOLS_PATH/data/email_agent_log.json |
| LaunchAgent | ~/Library/LaunchAgents/com.yourcompany.email-monitor.plist |
# Everything automatic: check → classify → CRM → tasks → drafts → notify
$GOOGLE_TOOLS_PATH/.venv/bin/python3 $GOOGLE_TOOLS_PATH/email_agent.py
# Dry-run (classification without writing records or notifications)
$GOOGLE_TOOLS_PATH/.venv/bin/python3 $GOOGLE_TOOLS_PATH/email_agent.py --dry-run
# Without AI (rule-based classification)
$GOOGLE_TOOLS_PATH/.venv/bin/python3 $GOOGLE_TOOLS_PATH/email_agent.py --no-ai
# JSON with full body of each email
$GOOGLE_TOOLS_PATH/.venv/bin/python3 $GOOGLE_TOOLS_PATH/email_monitor.py
# Human-readable
$GOOGLE_TOOLS_PATH/.venv/bin/python3 $GOOGLE_TOOLS_PATH/email_monitor.py --pretty
# Reset state (reprocess last 20)
rm $GOOGLE_TOOLS_PATH/data/email_monitor_state.json
# Emails from the last N hours
$GOOGLE_TOOLS_PATH/.venv/bin/python3 $GOOGLE_TOOLS_PATH/email_monitor.py --since 2h
# From file
$GOOGLE_TOOLS_PATH/.venv/bin/python3 $GOOGLE_TOOLS_PATH/email_action_agent.py --file input.json
# Dry-run (shows what it will do, without writing records)
echo '<json>' | $GOOGLE_TOOLS_PATH/.venv/bin/python3 $GOOGLE_TOOLS_PATH/email_action_agent.py --dry-run
# Without drafts
echo '<json>' | $GOOGLE_TOOLS_PATH/.venv/bin/python3 $GOOGLE_TOOLS_PATH/email_action_agent.py --no-draft
# Summary for today
cat $GOOGLE_TOOLS_PATH/data/email_summaries/$(date +%Y-%m-%d).md
# Draft replies
ls $GOOGLE_TOOLS_PATH/data/email_drafts/
cat $GOOGLE_TOOLS_PATH/data/email_drafts/2026-02-09_task-055.txt
# launchd status
launchctl list | grep email-monitor
| Category | Action Agent action |
|---|---|
| URGENT | Activity + draft |
| REPLY_NEEDED | Activity + draft |
| INFO | Activity only |
| SPAM | Skipped |
Note (2026-03-02): Task creation is DISABLED. Sales follow-ups are tracked in
leads.csvvianext_action. pm_tasks is for dev/project tasks only. To re-enable task creation, uncomment the block inemail_action_agent.pyaround line 420.
people.csv (email), fallback by domain in companies.csvactivities.csv (type: email, direction: inbound)pm_tasks_master.csvclaude -p --model haiku, saves to data/email_drafts/Unknown contacts are tagged with unknown-contact -- need to be added to CRM.
$CRM_PATH/contacts/people.csv$CRM_PATH/contacts/companies.csv$CRM_PATH/activities.csvemail-send-direct -- single emailemail-send-bulk -- mass email sendingdaily-briefing -- morning overview (reads email summaries)log-activity -- manual activity loggingtelegram-session -- if Telegram notifications are not workingnpx claudepluginhub aaaaqwq/agi-super-team --plugin agi-super-teamProcesses Gmail triage reports from vault: archive, delete, label, star, unsubscribe emails. Drafts replies interactively or autonomously.
Triages Gmail inbox using GTD methodology: classifies emails, computes urgency, applies labels, drafts replies, creates newsletter digests, and suggests bulk unsubscribes.
Processes inbound Telegram messages: extracts replies, classifies sentiment (positive/negative/question) via Claude Haiku, logs to CRM, and commits changes. Use for checking Telegram replies or running the inbound agent.