Email & Scheduling
Draft recruiter threads, schedule calls, and track all communication in one place.
Email and recruiter messages (email-comms)
For any recruiter email, hiring email, or job-search message — drafting, replying, following up, thanking, negotiating in writing, or cold outreach — say:
draft a reply to this / follow up with [Company] / write a thank-you
The email-comms skill:
- Reads the full thread history from
.careerrat/workspace/tracker.jsonand.careerrat/workspace/comms/so it does not need you to re-paste context - Drafts in your voice (calibrated from
.careerrat/candidate/writing-style.mdand samples in.careerrat/workspace/writing-samples/) - Saves the draft to the comm record as a "ready to send" CTA on the dashboard
- Exports a
.txtcopy to~/Downloads/careerrat/<Company>/or~/Downloads/careerrat/_recruiters/
Draft-only by default. Sending requires your explicit action — the skill never sends automatically.
Messages linked to different applications keep separate recruiter histories and reply recipients, even when the company and job title match. Review the linked application when capturing an incoming message.
What email-comms handles
- Reply to a recruiter message
- Follow-up after a submitted application (when there is a contact path)
- Post-interview thank-you
- Written negotiation counter-offer
- Scheduling-related prose (when
schedule-meetinghands back a drafted reply) - Cold outreach to a named contact
Scheduling (schedule-meeting)
For anything involving proposing or confirming times — "when can you talk?", "here are three slots", "can we reschedule?" — say:
schedule this / reply to these slots / set up the screen
The schedule-meeting skill:
- Reads the proposed slots from the thread.
- Resolves timezones clearly (the skill names every zone, never assumes).
- Checks your availability against any calendar context you have enabled.
- Drafts a clean availability reply and prepares a calendar-ready
.icshold. - Writes scheduling state back to the tracker.
- Confirms before sending the reply or creating any calendar event.
Calendar context (optional)
If you have the calendar_read capability enabled, the skill can read free/busy
from your work calendar to avoid double-booking. Without it, it drafts from the
availability block in your profile (timezone + preferred hours) and degrades
gracefully to draft-only + a manual .ics hold.
Conflict checks use all saved busy blocks, including meetings beyond the short calendar context shown to Paul. Past, invalid, or conflicting proposed times are removed from both the prepared slots and the reply text. You still review the reply before sending it.
Calendar provider sync (calendar-sync)
To push a CareerRat-tracked event into your real calendar:
add my interview with [Company] to my calendar
calendar-sync previews the exact event (time, title, notes), asks which
provider (Apple Calendar, Google Calendar, Outlook), and writes only the confirmed
event. It requires the calendar_sync capability to be enabled per provider.
Ingesting incoming messages
Email (ingest-mail)
# In the agent chat:
sync my email / check for new recruiter repliesThe ingest-mail skill reads job-search emails from Apple Mail on macOS (or,
with separate consent, Gmail/Outlook webmail) and folds recruiter replies and
status changes into your tracker communications.
LinkedIn / Wellfound DMs (ingest-messages)
# In the agent chat:
sync my LinkedIn messages / check my Wellfound DMsThe ingest-messages skill reads in-platform DMs through your session browser
and folds them into communications[]. Reply drafts go through email-comms.
Requires the messaging capability to be enabled per platform.