setup-searcheslisted
Install: claude install-skill CodesWhat/careerrat
# setup-searches
> **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.
## STEP 0 — Preflight
Run `careerrat doctor` and inspect the output.
- If candidate profile/targeting config is missing or fails schema, halt. Instruct the user to run `ingest-profile` (`careerrat ingest`) first, then return here. In DB workspaces, read this through the shared DB-first config accessor; YAML is legacy fallback only.
- If candidate targeting exists but `role_buckets` is empty or absent: halt. The baseline generator will produce only a stub with no role-specific searches — a search catalog with no titles is useless. Tell the user to populate `role_buckets` through onboarding/`ingest-profile` before continuing.
- If candidate profile + targeting pass and `role_buckets` is non-empty: proceed to STEP 1.
## STEP 1 — Read targeting and profile
Read candidate targeting config through the shared DB-first accessor and report back the detected values that will drive generation:
- `role_buckets` — names, titles per bucket, priority flags
- `keep_signals`, `cut_signals` — these become `title_filter.positive` / `title_filter.ne