apply-joblisted
Install: claude install-skill CodesWhat/careerrat
# apply-job
Use this skill when the user asks to apply, submit, fill an application, or gives
a JD URL with clear application intent.
> **Runs under AGENTS.md.** These contracts bind without being restated here: Privacy Invariant (`current_base` never outbound), Honesty Firewall, Placeholder/Bracket Ban, Gate Write-back, Domain-Neutral Rule, Browser Automation Contract, Activity Pulse logging, Tracker verify+snapshot, and Sent-Clears-Draft. Inline reminders at point-of-use are intentional; standalone restatements point back to the relevant AGENTS.md section.
## Inputs
| File | Purpose |
| --- | --- |
| `application-limits` config (`candidate/application-limits.yml` only in legacy/export mode) | Per-company caps and cooldowns (step-zero gate) |
| `candidate/form-defaults.yml` | `auto_submit`, `expected_base` (primary salary form value), applicant contact facts |
| `candidate/targeting.yml` | `excluded_companies`, `cut_signals`, `fit_bands`, `role_buckets[].priority` (OE bucket policy) |
| `candidate/profile.yml` | `compensation.expected_base` (fallback when `form-defaults.yml#expected_base` absent), `compensation.oe_min_base`, `compensation.oe_max_base`, `candidate.toolchain`, contact facts |
| `candidate/honesty.yml` | `tools.confirmed`, `claims.do_not_fabricate`, education policy |
| `candidate/writing-style.md` + `workspace/writing-samples/` | Voice calibration for tailor step |
| `workspace/tracker.json` | Application row to update after submission |
---
## STEP 0 —