swissdevjobs-cli plugin
A Claude Code plugin and CLI: IT job search with salary on nine boards in eight countries, applications and a log of sent ones.
- 106 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The `direct-apply` command sends an application with your name, email and CV to the board site.
- Name, email and CV path live in `.env` and the application history in a local SQLite database.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add plugins/swissdevjobs-cliDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The `direct-apply` command sends an application with your name, email and CV to the board site.
- Name, email and CV path live in `.env` and the application history in a local SQLite database.
This is third-party code. Review the repository files before installing.
What it does
swissdevjobs-cli is a Claude Code plugin with a built-in MCP server and the `sdj` CLI for searching jobs on nine boards: swissdevjobs.ch, germantechjobs.de, four regional DevITjobs boards, jobs.ch, jobup.ch and MyCareersFuture. Jobs filter by technology, salary, remote and location, and every command has JSON output, so an agent can use it directly. The tool recovers the true posting date from the MongoDB ObjectId, remembers in a local SQLite where you already applied and hides those jobs on every board. The `direct-apply` command submits an application through the site form and, when a board takes no direct applications, returns the company ATS address.
Who it is for. Developers looking for work in Switzerland, Germany, the UK, the Netherlands, France, the US, Canada or Singapore who want to filter jobs by pay.
Good fit when
- A list of remote Kubernetes jobs with pay above a given sum is needed.
- A search runs across all boards of a country or region in one query.
- Jobs repeat across boards and already submitted applications must be hidden.
- An agent submits an application to a swissdevjobs posting through the site form with your CV.
- You want to see the most requested technologies on the boards.
Not a fit when
- You have not read the swissdevjobs.ch terms and automating on top of the site requires reading them.
- Jobs are sought on Russian-language boards.
- Applications are about to go out in bulk to unread postings: the author asks not to do that.
Example request
Find senior Python jobs in Zurich paying above 140k CHF and hide the ones I already applied to.Limitations
The plugin needs `uv` and the CLI needs Python 3.9 or newer. Salary is not on every board: jobs.ch and jobup.ch hide it. Applications through them go to the company ATS link. Partner postings often lack a pay range and the tool refuses a direct application to them. `direct-apply` needs your name, email and CV path in `.env` or in the install prompts. The author asks to keep the request rate human and not to strip the cache.
How to disable. Remove the plugin through the `/plugin` menu and the CLI with uv. Delete the configuration `~/.config/swissdevjobs-cli/` and the cache `~/.cache/swissdevjobs-cli/` with the applications database by hand.
FAQ
How do I install the plugin in Claude Code?
Run `/plugin marketplace add Stupidoodle/swissdevjobs-cli` and `/plugin install swissdevjobs@swissdevjobs`. Claude Code asks for your name, email and CV path and starts the MCP server through `uvx`, so `uv` is required.
How do I install only the CLI?
`uv tool install git+https://github.com/Stupidoodle/swissdevjobs-cli` installs the `sdj` and `swissdevjobs` commands. The package is not on PyPI.
How do I filter jobs by salary and technology?
For example, `sdj list --tech Kubernetes --remote --min-salary 90000 --sort salary`. The salary filter works on boards that publish pay.
Where does the true posting date come from?
Sites refresh `activeFrom` when they bump a posting. The tool decodes the creation time from the MongoDB ObjectId, so an old job does not look new.
Where do I apply for a jobs.ch posting?
On the company site. jobs.ch, jobup.ch and MyCareersFuture have no built-in application, so `direct-apply` refuses and returns the address to apply at.
Discussion
No questions or reviews yet.
Related
PluginsA job search plugin for Claude Code: finds openings, tailors resumes, writes cover letters and fills out application forms
MCP server and CLI for job hunting: scans 130+ careers pages nightly, scores roles against your resume and drafts applications
Job search inside your coding agent: scores each listing against your CV from 1 to 5, tailors a PDF resume, drafts letters and tracks applications
Plugin for Codex and Claude Code that fills job applications in a visible browser from your resume and stops before submit
JustHireMe is a local-first job-search desktop app that gives an agent a skill and a stdio MCP server to work with job data safely.
A Claude Code kit: a skill scores a job posting, a builder makes CVs and letters, and a daily scanner looks for new ads.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| swissdevjobs-cli (this card) | no | 106 | ||
| JobSpy MCP | no | not required | 4,721 | searches LinkedIn, Indeed, Glassdoor and ZipRecruiter; swissdevjobs-cli works with pay-transparent boards and keeps an application log |
| Himalayas Remote Jobs: remote job search over MCP | yes | OAuth | 21 | a remote MCP server for the single Himalayas board; swissdevjobs-cli merges nine boards and submits applications |
README in short
Search runs across nine boards in one query and every command has a `--json` mode. A repeat application comes back as data and raises no error. The author asks you to read site terms before automating.