Skip to content
Automation
Skill

/devrunner-collect

Collect recent public developer job postings from DevRunner (devrunner.dev) by keyword. Use when the user wants to gather, scan, or monitor DevRunner listings for a role, stack, or company. Read-only — no login, save, or apply. Prints a normalized JSON array of postings.

From plugin
job-searcher
1422 skills
Install
$ npx -y skills add itssosunny/job-searcher --skill devrunner-collect --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/devrunner-collect

Context preview

The summary Claude sees to decide when to auto-load this skill.

Collect recent public developer job postings from DevRunner (devrunner.dev) by keyword. Use when the user wants to gather, scan, or monitor DevRunner listings for a role, stack, or company. Read-only — no login, save, or apply. Prints a normalized JSON array of postings.

SKILL.md

devrunner-collect.SKILL.md
name: devrunner-collect
description: Collect recent public developer job postings from DevRunner (devrunner.dev) by keyword. Use when the user wants to gather, scan, or monitor DevRunner listings for a role, stack, or company. Read-only — no login, save, or apply. Prints a normalized JSON array of postings.

DevRunner Collect

Collect recent public postings from DevRunner's `/jobs` listing and return normalized JSON (`docs/SCHEMA.md`). Self-contained: this skill's `collect.py` carries its own fetch + parse and depends only on `curl_cffi`, `beautifulsoup4`, `lxml`.

Boundaries

  • **Read-only.** GET of the public `/jobs` listing only. Never log in, save a

job, message, or apply. Do not submit any form.

  • **No fabrication.** Fields the source does not expose are `null`; titles,

companies, dates, and tags are copied verbatim from the page's own data.

  • A collected posting reflects the page at run time; it is not proof the role is

still open.

Run

If `collect.py` fails with `ModuleNotFoundError`, install the deps yourself (`pip install curl_cffi beautifulsoup4 lxml`) and retry — do not ask the user to install anything.

pip install curl_cffi beautifulsoup4 lxml   # or: pip install -r requirements.txt

python3 skills/devrunner-collect/collect.py --query "backend" --limit 20
  • `--query, -q` — filter the listing by title/company/summary/tech substring

(client-side; see Notes).

  • `--limit, -n` — max postings (default 20).
  • `--pretty` — indent the JSON.

Output: a JSON array on stdout; a one-line count on stderr. DevRunner exposes title, company, location, employment type, position category, tech categories, a one-line summary, created date (→ `posted_at`), end date (→ `deadline`), and compensation when present (→ `salary`).

Notes

  • Source: `SRC-JOB-DEVRUNNER` — https://devrunner.dev/ (collectible_open,

verified 2026-07-07).

  • The `/jobs` page is a JS (Next.js) app, but its server response embeds the

full initial job list (~200 postings) as data in the RSC flight stream (`self.__next_f` → `initialJobs.jobs[]`). `collect.py` parses that embedded JSON directly, so no browser is required. `external_id` is the numeric `jobId`; canonical posting URL: `/jobs/<jobId>`.

  • Because the whole initial list is embedded, `--query` filters it client-side.

DevRunner's server-side filters/pagination are JS-driven; collecting results beyond the embedded initial list would need a browser.

  • If DevRunner changes its RSC shape and 0 postings return, re-derive the

`initialJobs`/`"jobs":[` extraction against a live fetch (do not hardcode a specific company).

Read more
Ships withjob-searcher

구직할 때, 여러 플랫폼을 찾아다니지 마세요. 자동으로 수집하세요. Don't hop between job boards — let your agent collect them. 구직 중인가요? 잡코리아 갔다가, 사람인 갔다가, 원티드 갔다가, 점핏까지 — 매일 도는 일은 AI 에이전트에게 시켜버리세요. 22개 채용 플랫폼의 공개 공고를 하나의 정규화 JSON으로 모아줍니다.

Get the whole plugin
Stats
14
Stars
1
Forks
Maintained
Maintenance
Python
Language
MIT
License
2mo ago
Last commit
2mo ago
Created

Repo: itssosunny/job-searcher

Other skills on job-searcher.