draft

raven draft #

Generate tailored application drafts from discovered jobs.

Usage #

raven draft --max 25
raven draft --input data/jobs.json --max 25
raven draft --q "backend engineer" --since 7 --max 20
raven draft --gemini

Input sources #

MethodCommand
Latest discover (default)raven draft → reads data/jobs.json
Explicit fileraven draft --input data/jobs.json
Inline discover + draftraven draft --q "engineer" --since 7

Output files #

FilePurpose
drafts/outreach-YYYY-MM-DD.csvSpreadsheet — review, edit, send
drafts/outreach-YYYY-MM-DD.mdHuman-readable review
drafts/outreach-YYYY-MM-DD.xlsxOptional (--xlsx)

CSV columns #

ColumnDescription
application_typeemail or form
application_labelHuman label
contact_emailFor email rows (often blank — fill manually)
subjectEmail subject or form title
bodyEmail body or short form guide
company, title, job_urlJob metadata
jd_keywordsTerms extracted from job title
action_wordsSuggested verbs for this role
tailored_bulletsResume bullets matched to JD
form_stepsFull ATS guide (form jobs)
links_blockYour portfolio/GitHub/LinkedIn line
ai_draftyes, no, or fallback
disclaimerReview-before-submit reminder

Flags #

FlagDescription
--input PATHJobs JSON (default: data/jobs.json)
--max NMax drafts to generate
--geminiAI-polish email drafts (needs GEMINI_API_KEY)
--guess-emailSuggest careers@ from apply URL domain
--refresh-resumeRe-parse resume (ignore cache)
--xlsxAlso write Excel
--no-markdownSkip .md review file
--output PATHCustom output base path

Application types #

Form (application_type: form) #

Greenhouse, Lever, Ashby, Workday, and similar ATS listings. Raven generates step-by-step guides with your links and tailored bullets — not sendable email.

Email (application_type: email) #

Direct outreach when you have or can infer a contact address. Use raven send after filling contact_email.

Important #

Review every draft yourself before sending or submitting. Gemini output is a starting point only.

See Drafting and Profile for details.