| name | setup |
| description | One-time setup for the jobfinder plugin — configure Adzuna API credentials and verify each Australian job source is reachable. Run this first. |
| disable-model-invocation | true |
jobfinder: setup
Guide the user through first-time configuration. All scripts run via
uv run "${CLAUDE_PLUGIN_ROOT}/scripts/<name>.py" (uv resolves dependencies
automatically; no venv needed).
Steps
-
Explain what's needed. Tell the user they need a free Adzuna API account:
- Go to https://developer.adzuna.com/ and sign up (free).
- Create an application to get an App ID and App Key.
- Workforce Australia needs no key (it's a best-effort secondary source).
-
Store the credentials. Run:
uv run "${CLAUDE_PLUGIN_ROOT}/scripts/configure.py" --set-adzuna
This prompts for the App ID and App Key on stdin and writes them to
~/.jobfinder/config.json (chmod 600). The user types the keys directly into
the script.
IMPORTANT — do not handle the key values yourself. Never ask the user to
paste their App Key into the chat, never echo it back, and never write it into
any file yourself. Only the configure.py script touches the raw values.
If the terminal can't do an interactive prompt, the user can instead set the
ADZUNA_APP_ID and ADZUNA_APP_KEY environment variables — these override
the config file and are read directly by every script.
-
(Optional) Set defaults. Offer to run
configure.py --set-defaults to store a default location, minimum salary, and
recency window that searches will use unless overridden.
-
Verify. Run:
uv run "${CLAUDE_PLUGIN_ROOT}/scripts/configure.py" --check
Report the per-source result to the user:
- Adzuna PASS → credentials work.
- Adzuna FAIL → walk back through step 2 (usually a wrong/rotated key).
- WFA PASS/WARN → WARN is fine; Workforce Australia is best-effort and
searches still work on Adzuna alone.
-
Next steps. Tell the user to run /jobfinder:profile <resume.pdf> <cv.docx>
to ground you with their background, then /jobfinder:search <query>.