From job-apply
Set or update your job search preferences (titles, salary, remote, filters). Used by /job-apply:job-search and other skills.
How this skill is triggered — by the user, by Claude, or both
Slash command
/job-apply:job-preferencesThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
A Claude Code skill for managing persistent job search preferences. Set your target titles, salary floor, remote preference, and exclusion filters once — `/job-apply:job-search` and other skills reuse them automatically.
A Claude Code skill for managing persistent job search preferences. Set your target titles, salary floor, remote preference, and exclusion filters once — /job-apply:job-search and other skills reuse them automatically.
Follow /job-apply:answer-memory: run python3 "${CLAUDE_PLUGIN_ROOT}/scripts/job-apply-store.py" init, then load saved preferences with preferences-get. Never read or write persistent Job Apply files directly.
Use the JSON object returned by preferences-get.
If preferences exist, display them:
Your current job search preferences:
- Target titles: Staff AI Engineer, Principal ML Engineer
- Min base salary: $250K
- Remote preference: Remote only
- Exclude patterns: junior, associate, intern, entry level
- Default time range: last week
Would you like to update any of these?
Then wait for the user. If they say no, stop. If they want to update, ask only about the fields they want to change using AskUserQuestion.
If no preferences exist, run the full Q&A below.
Use AskUserQuestion to collect all fields. Ask up to 4 questions at a time (the tool's limit).
Question batch 1:
Target titles (multi-select + custom)
Min base salary
Remote preference
Exclude patterns (multi-select)
Question batch 2:
Write the collected values to a private temporary JSON object, then call preferences-set --input <preferences.json> through the bundled helper and remove the temporary file. The helper merges supplied keys while preserving the rest of the preferences and profile. Never patch profile.json directly.
Schema:
{
"preferences": {
"targetTitles": ["Staff AI Engineer", "Principal ML Engineer"],
"minBaseSalary": "$250K",
"remotePreference": "remote only",
"excludePatterns": ["junior", "associate", "intern", "entry level"],
"defaultTimeRange": "last week"
}
}
Display the saved preferences and confirm:
Preferences saved to your local Job Apply store at
~/.job-apply/profile.json.These will be used automatically by
/job-apply:job-search. Run/job-apply:job-preferencesagain any time to update them.
When the user runs /job-apply:job-preferences and preferences already exist, show current values and let them update selectively. Only overwrite the fields they change — keep the rest intact.
/job-apply:answer-memory; never directly edit files under ~/.job-apply/preferences-set without --replace for selective updatesCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
npx claudepluginhub hussainronaque/job-apply-plugin --plugin job-apply