Applying to a Job
How the gate → tailor → apply cycle works and what each step does.
Applying in CareerRat is a three-step sequence enforced by the system: evaluate → tailor → apply. No step can skip the one before it.
Step 1 — Gate the posting (evaluate-job)
Every application begins with a body-read gate. Paste a job posting or URL and say "evaluate this" or "should I apply":
evaluate this — [paste JD text or URL]
The evaluate-job skill fetches the full posting body, saves it locally, checks
it against your config, and emits:
GATE: KEEP|CUT|REVIEW — reason
FIT: high|med|stretch <score> — why | caveats: ... | priority: ...
COMP: clear|review|below-floor — reason
COMP ANCHOR: <expected salary> — rationale
ACTION: apply-now|hold|manual|cutA GATE: CUT stops the flow. A GATE: REVIEW surfaces for your judgment. Only
GATE: KEEP (or a user-approved REVIEW) unlocks tailoring. The gate also flags
likely ghost jobs, evergreen reqs, and staffing-farm reposts as LEGITIMACY: suspect — a flag for your judgment, never an automatic cut.
Evaluation reads the complete locally captured description, including its requirements and subsections. Saved postings remain usable after the live page disappears; gate notes are kept separate from the posting body.
Step 2 — Tailor artifacts (tailor-application)
After a KEEP verdict, say "tailor this" or "write a resume and cover letter":
tailor this / write a resume and cover letter for this role
The tailor-application skill reads your evidence bank (.careerrat/candidate/evidence.yml),
the saved JD body, your writing-style calibration, and any learning-memory files
for the role family. It produces:
- A role-specific résumé (built only from evidence you supplied)
- A cover letter (in your voice, grounded in the same evidence)
- Short-answer responses for any supplemental questions
A placeholder-lint step runs before any artifact is marked build-ready. Any
unresolved token ([Company], [Name], etc.) blocks the build. The agent does
not invent facts.
Artifacts land in .careerrat/workspace/tailored/ and are also exported to
~/Downloads/careerrat/<Company>/ for easy access.
You can export a submission copy as PDF, DOCX, or plain text. DOCX conversion runs while the app remains responsive. If a converter hangs or an export is cancelled, CareerRat stops the conversion and keeps any previous completed file intact.
Exporting the submission copy with careerrat export ... --ats also prints an
ATS parseability score (0-100): how likely an applicant tracking system is to
read your résumé correctly, based on things like recognizable section headings,
reachable contact info, and enough real text to parse. It also scores cover
letters and interview packets, using only the checks that apply to them (no
Experience/Skills heading check on a cover letter). Section-heading recognition
matches English headings only. It's advisory, not a gate, so a low score never
blocks the export.
Step 3 — Apply (apply-job)
To start the application, say "apply" or "submit this":
apply to this
The apply-job skill:
- Confirms the gate has passed (runs or verifies
evaluate-jobas step zero). - Captures public Greenhouse or Ashby application questions before building the packet.
- For other ATS forms, captures rendered questions from the supervised browser and rebuilds the answer sheet without restarting the application. Paste remains the fallback.
- Shows unresolved candidate answers in the job thread's right-side Application answers review. Choose Answer, respond through the normal composer, and CareerRat saves the response against that exact form question before rebuilding the packet.
- Shows the generated résumé, cover letter, answers, unresolved facts, and safe site link.
- Uses the session browser to fill safe, confirmed fields and attach generated documents when that executor is available. Most public forms do not require a login. Otherwise, it gives you a concrete supervised handoff instead of claiming automation ran. If permission is off, the application review explains the boundary and offers Allow form preparation in place before it resumes the matching paused mission.
- Keeps voluntary demographic and self-identification questions blank by default. The local-only Profile > Application defaults editor has two policy choices: leave them blank, or choose the form's decline option when available. Existing exact answers stay hidden and local. The policy never goes through Paul, and CareerRat never infers an answer.
- Halts before final submission so you can review the form and press submit.
- Halts on CAPTCHAs, two-factor authentication, and unsupported auth prompts.
- Records the application through the canonical data layer only after submission is verified or you explicitly report that you applied. The app and Activity Pulse update in the same transaction.
LinkedIn Easy Apply
For LinkedIn postings, apply-job supports opt-in supervised form preparation via
the session browser. In the desktop app, the job's application review offers
Allow form preparation when the permission is off. Terminal users can inspect
the same authenticated_apply_preparation capability with careerrat automation status. CareerRat fills and advances the modal but never presses the final submit
control.
Application limits
.careerrat/candidate/application-limits.yml governs per-company caps and cooldowns. Before
starting an apply flow, the agent checks whether you are within limit for that
company. A cap breach surfaces as ACTION: hold in the gate output.
What "manual" means
If the posting needs authentication the session browser cannot handle, or if the
form is too complex for the current step, apply-job surfaces the exact blocker
rather than failing silently. The native app preserves captured questions and the
packet, reports filled, uploaded, and unresolved fields in Ask, and never infers
demographic answers. It does not record Applied until a confirmation page and
screenshot are captured or the user reports completion.
Each step shows as a live activity line, an icon and a plain-language label like
"Reading files: resume.pdf" or "Searching the web", with a spinner that settles
once the step finishes. The assistant only speaks to ask a question or hand you
a result.