diff --git a/CHANGELOG.md b/CHANGELOG.md index 0359da9..79d8ba6 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,22 @@ prefer updating to a tagged release over pulling raw `master` (see files a release touched; `python3 tools/check_upstream_updates.py` lists them with per-file diff commands. +## [Unreleased] + +### Added + +- **Weekly scrape as a Cloudflare Workflow** (`apps/worker`) - a `weekly-scrape` Workflow + scheduled `0 13 * * MON` runs the `/scrape` → `/rank` → `/sync-twenty` pipeline + headlessly: freehire (API), the `jobs.db` snapshot imported into D1, LinkedIn and + Wellfound through Browser Rendering (the CLIs' own parsers, copied), intra-run and + Twenty-URL-map dedup, a conservative title gate, one Claude scoring call per posting + through the `jobyssey` AI Gateway (forced tool call matching the `/rank` entry shape, + prompt-cached rubric + profile bundled at deploy), then Companies → Opportunities at + `RANKED` → Fit Analysis notes → a weekly report note and the `Weekly job scrape` + task in Twenty. Manual trigger: `POST /run` with a bearer token. The interactive + `/scrape` Step 2 now also dedups against Twenty's Opportunity URL map so the two never + re-present each other's finds. + ## [1.6.0] - 2026-08-19 ### Added diff --git a/README.md b/README.md index efa79ab..d84e024 100755 --- a/README.md +++ b/README.md @@ -128,6 +128,8 @@ claude This searches multiple job portals for positions matching your profile, deduplicates results, and presents them sorted by fit. Pick a match to run `/apply` on it directly — or, when a scrape returns more jobs than you want to eyeball, run `/rank` to batch-score them all against the fit framework and get a ranked shortlist first. +It also runs by itself: a Cloudflare Workflow in [`apps/worker`](apps/worker/) fires every Monday 09:00 EDT, searches the same portals (freehire, the local `jobs.db` snapshot imported into D1, LinkedIn and Wellfound via Browser Rendering), scores each new posting with Claude through an AI Gateway against your bundled profile and rubric, and publishes ranked Opportunities, Fit Analysis notes and a weekly report into Twenty CRM - the pipeline `/scrape` + `/rank` + `/sync-twenty` run by hand, without a keyboard. Operating notes are in the skill's **Weekly Automation** section. + ### 5. Apply to a job ```bash