Six commands.
End-to-end job applications.
Bootstrap your profile from your CV → source verified roles → scaffold a config → generate a tailored CV PDF → fill the ATS form → track your pipeline. Profile data stays local (gitignored). Claude does the work. You click Submit.
The six commands
Claude never clicks Submit. It stops before EEO/voluntary self-identification fields (gender, race, veteran, disability). That boundary is intentional and non-negotiable.
What makes it different
Not a template engine. Not a job board. A Claude Code plugin that runs the entire application pipeline from inside your terminal. Your data never leaves your machine.
Profile Bootstrap
Upload your CV or LinkedIn PDF. Claude extracts work history, infers three audience variants (AI/LLM, Data Platform, Backend), and writes every bullet four ways — ready for tailored generation immediately.
Intelligent Sourcing
Crawls company career pages and scores roles against your profile. Returns verified open positions with fit scores — no ghost jobs, no noise.
A/B/C CV Variant System
Three audience variants — AI/LLM, Data Platform, Senior Backend — with per-job bullet sets reframed for each. One profile, infinite tailored applications.
ATS-Safe PDF Generation
reportlab Platypus engine. Single-column, Helvetica, no tables, no images, clickable links. Passes ATS parsers that choke on two-column layouts.
Browser Form Automation
Opens the ATS URL, fills every required field from your profile and role config, uploads PDFs, answers custom questions. Greenhouse (direct + iframe), Lever, Workable.
Data Stays Local
profile.json and roles/ are gitignored. Your PII never leaves your machine. No cloud sync, no accounts, no API keys for your data.
Agent Skills
Profile Bootstrap
Build profile.json from your CV or LinkedIn PDF. Extracts work history, infers three CV variants, and writes every bullet four ways so you're ready to generate tailored applications immediately.
Evidence standard: Claude never invents facts not in the source. Fields it can't populate are left blank and flagged in the report.
Market Intelligence
Find verified open roles matching your profile from company career pages. Filters by country and role type, ranked by fit score against your profile variants.
Crawls company career pages directly. Results include fit score, sponsorship signals, and relocation requirements.
Role Config Scaffold
Scrapes the job posting URL, detects the ATS platform, selects the right CV variant, and generates a pre-filled roles/<role_id>.json.
Auto-detects Greenhouse, Lever, Workable from the URL. Prompts interactively for anything it can't infer.
PDF Generation
Builds ATS-optimised CV and cover letter PDFs using reportlab Platypus. Single-column, Helvetica, no tables, no images, clickable links — passes ATS parsers that choke on two-column layouts.
Output: generated/stripe_backend_2026_CV.pdf and generated/stripe_backend_2026_CoverLetter.pdf
ATS Form Filling
Opens the job URL, fills every required field from your profile and role config, uploads PDFs, answers custom questions, then hands off to you for EEO and Submit.
Claude never fills EEO/voluntary self-identification fields or clicks Submit. You review and confirm.
Pipeline Tracker
View your application pipeline, update statuses, add notes. Stored in tracker.json (gitignored — stays local).
Statuses: draft, applied, screen, interview, offer, rejected, withdrawn. Run /track with no args to view the full pipeline.
Supported ATS platforms
Greenhouse
Direct forms and iframe embeds. Handles React comboboxes for country/city and hidden file inputs via JS unhide.
Lever
Single-page form filling. No file upload for cover letter — cover letter text is pasted into Lever's text field instead.
Workable
Full coverage for document uploads and multi-choice qualification questions. Visible file inputs work directly.
Coming next: Ashby, SmartRecruiters, iCIMS, Taleo — PRs welcome.
Get started in one command
Checks Python 3.10+, installs reportlab, and creates profile.json. Requires Node 18+.
Common questions
Is my personal data safe?
profile.json, roles/, and tracker.json are all gitignored. Your PII never leaves your machine. career-agent has no backend, no accounts, and no telemetry.
Does it click Submit for me?
What do I need besides Claude Code?
reportlab for PDF generation (pip install reportlab). Node 18+ if you use the npx installer. For form filling via /apply, you also need the Claude in Chrome extension — all DOM-based ATS automation runs through it. CV generation alone does not require the extension.
Why does /setup-profile exist? Can't I just fill profile.json manually?
/setup-profile generates all of it from your existing CV or LinkedIn PDF in one pass.
My ATS platform isn't listed. Can I add it?
apply skill. Target platforms: Ashby, SmartRecruiters, Taleo, iCIMS, BambooHR.
See CONTRIBUTING.md.