gmail-sync

Classify Gmail messages for job application status signals and update the tracker after approval.

Updated Sep 23, 2026
One-click install
npx skills add https://github.com/zaheer037/job-search --skill gmail-sync-zaheer037
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: gmail-sync
Source: https://github.com/zaheer037/job-search/tree/main/.agents/skills/gmail-sync
Command: npx skills add https://github.com/zaheer037/job-search --skill gmail-sync-zaheer037

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Job seekers lose track of application statuses because employer replies (interview invites, assessments, offers, rejections) arrive scattered across Gmail, and manually updating a tracker after every email is error-prone and easy to forget. ## Core Features & Use Cases - Email Classification: Scans Gmail via MCP tools, matches messages to open applications in job_search_tracker.csv, and classifies signals such as acknowledgments, assessments, interview invites, offers, and rejections from full email bodies. - Approval-Gated Writes: Presents every proposed status change as a sourced batch table and writes to the tracker and outcome.md only after explicit user approval, never inferring hired or offer_declined. - Idempotent State Tracking: Records processed message IDs in gmail_sync/state.json so re-runs never duplicate proposals, and flags stale applications with 30+ days of inactivity. - Use Case: Run /gmail-sync weekly to catch a recruiter's interview invite that landed under a job-search label, approve the proposed applied -> interview change, and have the tracker and archive notes updated with the source email cited. ## Quick Start Ask the agent to run /gmail-sync to scan recent Gmail for replies on your tracked job applications and review the proposed status updates before approving them.

Frequently Asked Questions about gmail-sync

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I sync job application status from Gmail automatically?▼

Run /gmail-sync with the Gmail MCP integration connected. It searches recent email for signals from tracked companies and ATS platforms, classifies each message, and presents proposed tracker updates for your approval before writing anything.

How to track interview invites and rejections from recruiters in email?▼

The skill matches sender domains, display names, and body content against normalized company names from your tracker, then classifies phrases like "schedule a call" as interview invites or "moving forward with other candidates" as rejections.

Does gmail-sync write to my tracker without asking?▼

No. Every classified change is presented as a batch proposal citing its source email, and nothing is written to job_search_tracker.csv or outcome.md until you explicitly approve all or selected rows.

Can gmail-sync mark an application as hired from an offer email?▼

No. It only proposes moving the tracker to offer status and flags it for your decision. Accepting or declining an offer is a real-world choice that must be recorded separately with /outcome.

What happens if gmail-sync cannot match an email to an application?▼

Unmatched emails are listed in the summary as unmatched with no proposed change. The skill never guesses a company match, and the message ID is still marked processed so it is not re-proposed on later runs.

Why does gmail-sync need the Gmail MCP connector?▼

It relies on the mcp__claude_ai_Gmail tools for searching threads and fetching full message bodies. Without the connector it stops and asks you to enable Gmail under claude.ai Settings, since it does not use IMAP or Bash workarounds.