What problem does it solve? Applying to the same job twice wastes recruiter goodwill and pollutes application tracking data. This Skill implements a three-layer detection pipeline that catches duplicate job applications before any submission happens, whether the duplicate comes from the same URL, an out-of-system manual application, or a reposted listing with different wording. ## Core Features & Use Cases - Layer 1 - DB Hash Check: Instantly matches job URLs or company-role composite keys against the job_listings table using SHA-256 hashes, before any LLM or embedding calls. - Layer 2 - Email Parsing: Searches Gmail via the Gmail API for application confirmation keywords (English and Turkish) from the last 30 days to catch applications made outside the system, logging them as manual entries. - Layer 3 - Semantic Detection: Uses pgvector cosine similarity with a 0.95 threshold to catch renamed or reposted jobs, escalating matches to human approval instead of auto-applying. - Use Case: A job discovery pipeline finds a listing that was reposted under a slightly different title. The semantic layer flags it as a possible duplicate of a prior application and routes it to an approval queue with the similarity score and original application reference. ## Quick Start Run the duplicate check orchestrator on this job listing and its embedding to tell me whether it is a duplicate and which detection layer caught it.