Search for Jobs
Find job opportunities matching your criteria with fit analysis
Check Domain Preferences (domain: job_search) for saved search criteria. If found:
"Last time you were looking for [role] in [location], [remote pref]. Same criteria?"
If not found or user wants different, clarify their search criteria. At minimum,
understand what role they want and any location/remote constraints. Ask about
seniority level, industry preferences, and company type if not stated.
Analyze results and present the top opportunities with:
- Role & Company — Title and company with one-line description
- Fit Assessment — How well it matches their criteria (strong/moderate/exploratory)
- Key Requirements — 3-4 most important qualifications
- Location/Remote — Work arrangement
- Link — Where to apply or learn more
Group by fit quality: strong matches first, then interesting alternatives. Explain categorization reasoning. Aim for 10-15 curated results, not exhaustive dumps.
For strong matches, offer to save them to Saved Jobs with company, role, link, date found, and status 'interested'. Ask before saving.
Offer next steps: deeper research on specific companies (Research Company for Interview), tailor resume for a role (
Tailor Resume for Job), or refine search criteria for another round.
After the search, if criteria weren't already saved, offer:
"Want me to remember these search criteria for next time?"
If yes, save to Domain Preferences (domain: job_search):
target_roles: [list]
locations: [list]
remote_preference: [remote/hybrid/onsite/flexible]
industries: [list]
seniority: [level]
To run this task you must have the following required information:
> Search criteria including at least one of: role/title, industry, location, company type. Optional: seniority level, remote preference, company size.
If you don't have all of this information, exit here and respond asking for any extra information you require, and instructions to run this task again with ALL required information.
---
You MUST use a todo list to complete these steps in order. Never move on to one step if you haven't completed the previous step. If you have multiple CONSECUTIVE read steps in a row, read them all at once (in parallel). Otherwise, do not read a file until you reach that step.
Add all steps to your todo list now and begin executing.
## Steps
1. [Read Job Search Strategy Guide]: Read the documentation in: `skills/sauna/[skill_id]/references/career.search.strategy.md`
2. [Read Saved Jobs]: Read the file at `documents/work/career/jobs.md` into context (Check existing saved jobs to avoid duplicates)
3. [Read Domain Preferences]: Discover relevant information in the user's filesystem at `documents/preferences/[domain].md`. (Check for saved job search preferences (domain: job_search))
4. Check `documents/preferences/[domain].md` (domain: job_search) for saved search criteria. If found:
"Last time you were looking for [role] in [location], [remote pref]. Same criteria?"
If not found or user wants different, clarify their search criteria. At minimum,
understand what role they want and any location/remote constraints. Ask about
seniority level, industry preferences, and company type if not stated.
5. [Gather Arguments: Exa Search] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `query`: role title plus 'jobs' or 'careers' plus key criteria
- `numResults` (default: "5"): 10
- `type` (default: "auto"): auto
6. [Run Code: Exa Search]: Call `run_script` with:
```json
{
"file": {
"path": https://sk.ills.app/code/research.exa.search/preview,
"args": [
"query",
"numResults",
"type"
]
},
"packages": null
}
```
7. [Gather Arguments: Exa Search] The next step has the following requirements for arguments, do not proceed until you have all the required information:
- `query`: alternative search angle based on criteria
- `numResults` (default: "5"): 8
- `type` (default: "auto"): auto
8. [Run Code: Exa Search]: Call `run_script` with:
```json
{
"file": {
"path": https://sk.ills.app/code/research.exa.search/preview,
"args": [
"query",
"numResults",
"type"
]
},
"packages": null
}
```
9. Analyze results and present the top opportunities with:
1. **Role & Company** — Title and company with one-line description
2. **Fit Assessment** — How well it matches their criteria (strong/moderate/exploratory)
3. **Key Requirements** — 3-4 most important qualifications
4. **Location/Remote** — Work arrangement
5. **Link** — Where to apply or learn more
Group by fit quality: strong matches first, then interesting alternatives. Explain categorization reasoning. Aim for 10-15 curated results, not exhaustive dumps.
10. For strong matches, offer to save them to `documents/work/career/jobs.md` with company, role, link, date found, and status 'interested'. Ask before saving.
11. Offer next steps: deeper research on specific companies (`skills/sauna/[skill_id]/references/recipes/career.company.prep.md`), tailor resume for a role (`skills/sauna/[skill_id]/references/recipes/career.resume.tailor.md`), or refine search criteria for another round.
12. After the search, if criteria weren't already saved, offer:
"Want me to remember these search criteria for next time?"
If yes, save to `documents/preferences/[domain].md` (domain: job_search):
target_roles: [list]
locations: [list]
remote_preference: [remote/hybrid/onsite/flexible]
industries: [list]
seniority: [level]