job-email-apply
Automated job application workflow — search, draft, send, track.
How It Works
- Search — Scans job boards for matching roles
- Score — Filters by relevance threshold (0.75)
- Draft — Composes a tailored email using templates
- Send — Delivers via Gmail SMTP with CV attached
- Track — Logs every application in
Applications.json
Review Mode: First 3 applications go to you for approval before sending.
Auto Mode: After that, emails send immediately.
File Map
job-email-apply/
├── SKILL.md
├── README.md
├── Applications.json ← tracker database (auto-created on first run)
└── references/
├── job-profile.md ← YOUR profile & personal data (fill this in)
├── email-templates.md ← email templates
├── tracker-commands.md ← tracker schema & operations
└── platform-notes.md ← platform tips & target companies
Setup (First Run)
- Copy
references/config.md → references/CONFIG.md and fill in your details
- Drop your CV PDF into
references/ — update config.md with the filename
- Review
references/platform-notes.md and add your target companies
- See
README.md for full setup instructions
Core Workflow
Agent Instructions
When invoked, follow this sequence:
STEP 1 — Load context
Read these files before anything else:
references/email-templates.md
references/tracker-commands.md
references/platform-notes.md
references/CONFIG.md
Applications.json
STEP 2 — Search
Check: LinkedIn, Indeed, Glassdoor, Wellfound, Agentur für Arbeit, direct URLs.
Score each listing. Discard below 0.75. Dedup against Applications.json.
STEP 3 — Per listing
- Find application email
- Extract key skills from JD
- Select template (cold / startup / referral)
- Compose tailored email (< 200 words)
- Attach CV from
references/
- Send via Gmail SMTP → to application email, BCC personal email
- Log to Applications.json with status APPLIED
STEP 4 — Check inbox
Process replies: interview requests, rejections, spam. Update statuses. Alert on anything needing attention.
STEP 5 — Session summary
Output summary. Log to Applications.json session_log.
Scoring Criteria (0.0–1.0)
| Factor | Weight |
|---|
| Role title match | 0.25 |
| Stack overlap | 0.25 |
| Location match | 0.20 |
| Seniority fit | 0.15 |
| Salary in range | 0.10 |
| Company quality | 0.05 |
Hard disqualifiers: Junior/Graduate title, 10+ years required, on-site outside targets, company on exclude list.
Constraints
- Max 15 applications per session
- No re-apply within 60 days (unless previous was REJECTED)
- CV must attach — abort and log EMAIL_SEND_FAILED if it fails
- Never fabricate experience or skills
- Review mode: first 3 require user approval before sending