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.