From job-searcher
Collects public job postings from RocketPunch by keyword. Detects AWS WAF challenge and reports if browser needed. Useful for scanning roles, stacks, or companies.
How this skill is triggered — by the user, by Claude, or both
Slash command
/job-searcher:rocketpunch-collectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Best-effort collector for RocketPunch's `/jobs` listing, normalized to
Best-effort collector for RocketPunch's /jobs listing, normalized to
docs/SCHEMA.md. Self-contained: this skill's collect.py carries its own
fetch + parse and depends only on curl_cffi, beautifulsoup4, lxml.
/jobs listing only. Never log in, save a
job, message, or apply. Do not submit any form.collect.py
reports the reason and returns no postings — it never invents rows.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/rocketpunch-collect/collect.py --query "개발자" --limit 20
--query, -q — search keyword (default 개발자).--limit, -n — max postings (default 20).--pretty — indent the JSON.RocketPunch serves /jobs behind an AWS WAF JavaScript challenge (HTTP
202 with awsWafCookieDomainList, challenge.js, and AwsWafIntegration),
so a plain read-only GET receives the challenge interstitial, not the job list.
Solving it requires executing the challenge script in a real browser, which is
out of scope for a fetch-only, read-only collector.
collect.py detects the challenge and exits 1 with a JSON error carrying
"needs_browser": true on stderr — it does not fabricate postings. To actually
collect RocketPunch, drive the listing in a browser (e.g. claude-in-chrome /
Playwright) so the WAF cookie is issued, then hand the rendered HTML to the
generic /jobs/<id> card parser already in collect.py.
SRC-JOB-ROCKETPUNCH — https://www.rocketpunch.com/jobs
(needs_browser, verified 2026-07-07)./jobs/<id> pattern; external_id is that numeric id./jobs/<id> card, no single-company
hardcoding). If RocketPunch ever drops the WAF gate for server-rendered HTML,
the same collect.py will return postings without changes.2plugins reuse this skill
First indexed Jul 7, 2026
npx claudepluginhub mdkong/job-searcher --plugin job-searcherCollects public job postings from RocketPunch by keyword. Detects AWS WAF challenge and reports if browser needed. Useful for scanning roles, stacks, or companies.
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates 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.