Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Stupidoodle/swissdevjobs-cli --skill skillgit clone --depth 1 https://github.com/Stupidoodle/swissdevjobs-cliWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/stupidoodle/swissdevjobs-cli/skill)<a href="https://agentmods.dev/skills/stupidoodle/swissdevjobs-cli/skill"><img src="https://agentmods.dev/badge/skills/stupidoodle/swissdevjobs-cli/skill.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00112 | $0.02645 |
| Opus 5 | $0.00056 | $0.01323 |
| Sonnet 5 | $0.00022 | $0.00529 |
| Haiku 4.5 | $0.00011 | $0.00265 |
Grade A, and why
swissdevjobs scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 216 lines — stays where its author put it; the contents beside it link to each section on GitHub.
swissdevjobs skill
Drives the swissdevjobs-cli tool to search, inspect, and apply across
three platforms: the all-IT devitjobs family (swissdevjobs.ch,
germantechjobs.de, devitjobs.uk/.com/.nl/.fr — salary always published),
JobCloud (jobs.ch, jobup.ch — every Swiss industry, ~50k postings, no salary
data), and MyCareersFuture (Singapore's government job portal — IT only,
~9k postings, salary published in SGD).
jobs.ch/jobup.ch are search-driven: without a query they only return
their newest postings, so always pass the user's actual search terms
(sdj list "<terms>"), and add --category it to keep those two boards in
tech. Board selectors take a board id (--board jobsch) or a country code
(--board ch = all three Swiss boards). Their postings have no
native apply — direct-apply answers no_native_apply with the real ATS
URL; follow browser mode.
MyCareersFuture is search-driven too (--board sg or
--board mycareersfuture), for the same reason: ~9k IT postings, 100 rows
per page. It does publish salary (annualized from the monthly SGD figure)
and skills, so --min-salary, --tech, and --remote work there;
--visa, --level, and --workload don't exist on its wire and exclude it
visibly. It has no native apply either — applying happens on the posting
page through the portal's own flow, so direct-apply refuses with that
page's URL and you continue in browser mode.
Prefer the MCP server when it is connected. swissdevjobs-cli also ships
an MCP server exposing search_jobs, list_boards, get_job,
apply_to_job, list_applications, mark_applied and top_technologies.
If those tools are available, use them — they return structured data directly
and apply_to_job carries its own confirmation gate. Fall back to the CLI
below when they are not. Board facts (scope, currency, salary availability,
categories, apply capability) come from list_boards / sdj boards — ask
the tool, don't guess.
The easiest way to get them is the plugin, which bundles its own skill:
/plugin marketplace add Stupidoodle/swissdevjobs-cli
/plugin install swissdevjobs@swissdevjobs
What ships with it
8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 216 lines · 112 tokens per session scan A ed21a22265ff
swissdevjobs is a skill published in the GitHub repository Stupidoodle/swissdevjobs-cli (97 stars, last pushed 9d ago), licensed MIT. It adds 112 tokens to every session and 2,645 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ai-dev-jobs-mcp
Search 8,400+ AI and ML jobs across 489 companies, inspect listings and employers, match roles, and view salary and market stats via AI Dev Jobs MCP.
tensorpool-gpu-cloud
Safely inspect and operate TensorPool GPU clusters and jobs using the current tp CLI, with explicit approval before any billable or destructive action.
ai-dev-jobs-mcp-v2
AI Dev Jobs MCP workflow skill. Use this skill when the user needs Search 8,400+ AI and ML jobs across 489 companies, inspect listings and employers, match roles, and view salary and market stats via AI Dev Jobs MCP and the operator should preserve the upstream workflow, copied support files, and provenance before…
job-navigation-skill
Research current job markets and hiring requirements, analyze recent job descriptions, compare them with a user's resume, projects, skills, and constraints, and turn the gaps into prioritized career actions. Use for students, job seekers, and career changers who need industry or role trends, cross-platform JD…
kowork-collect
Collect recent public job postings from KOWORK (kowork.kr), an English jobs-for-foreigners board in Korea. Use when the user wants to gather, scan, or monitor KOWORK listings — foreigner-eligible roles with visa-sponsorship tags. Read-only — no login, save, or apply. Prints a normalized JSON array of postings.
lotte-recruit-collect
Collect current public job postings from Lotte Recruit (recruit.lotte.co.kr). Use when the user wants to gather, scan, or monitor Lotte-group open announcements, optionally filtered by keyword. Read-only — no login, save, or apply. Prints a normalized JSON array of postings.