| name | job-scanner |
| description | Fetch and filter job board listings. Returns structured JSON. |
| user-invocable | false |
Usage
./run.ts [--boards remoteok,weworkremotely,hackernews] [--remote-only] [--new-only] [--limit 20] [--help]
Options
--boards — comma-separated board names (default: all configured)
--remote-only — only remote-friendly positions
--new-only — only jobs not seen in previous runs (dedup; use in crons)
--limit <n> — cap result count
Boards
| Board | Data source | Status |
|---|
remoteok | JSON API | live |
weworkremotely | RSS feed | live |
hackernews | Algolia HN API (Who's Hiring thread) | live |
wellfound | — | skipped (requires browser) |
linkedin | — | skipped (requires auth) |
arcdev | — | skipped (requires browser) |
turing | — | skipped (requires browser) |
ycwork | — | skipped (requires browser) |
Output
JSON array to stdout:
[{ "title": "...", "company": "...", "url": "...", "location": "...", "posted": "...", "board": "..." }]
Examples
- Scan live boards, new only:
./run.ts --new-only
- RemoteOK only, remote:
./run.ts --boards remoteok --remote-only
- Top 5 results:
./run.ts --limit 5
State
~/.local/state/openclaw-cron/job-scanner/state.json — tracks seen URLs for dedup. Capped at 2000 entries.