Wellfound platform skill (jessy)
DOM extraction goes through the Claude Chrome extension (claude --chrome).
Ask the page in natural terms ("visible job rows", "job detail header",
"About the job") rather than relying on fixed selectors.
When this loads
Triggered when the active tab URL contains wellfound.com/jobs,
wellfound.com/role, wellfound.com/location, or wellfound.com/remote
and jessy is scanning, scoring, or extracting jobs.
URL patterns
| Pattern |
Page kind |
wellfound.com/jobs |
Search / jobs |
wellfound.com/role/<slug> |
Role listing |
wellfound.com/role/r/<slug> |
Remote role |
wellfound.com/location/<slug> |
Location list |
wellfound.com/jobs/<id>-... |
Detail page |
Canonical job URL is the detail URL:
https://wellfound.com/jobs/<id>-<slug>. Strip query params and fragments.
Page semantics — lists
- Lists are grouped by company. One company card can contain multiple jobs.
- Company block usually has company name, one-line summary, employee band,
hiring badges, and funding/stage badges.
- Each job row has: title, employment type, salary/equity when visible,
location / remote policy, experience, posted time, save/apply controls.
- Job links often open a full detail page instead of a side rail.
- Lists usually lazy-load more rows. Keep scrolling/loading until no new
visible job rows appear, the scan hits an attempted row, or the run cap is
reached.
Page semantics — detail
- Header: title, company, salary/equity, location/remote policy,
experience, employment type, reposted/posted time.
- Sidebar/details: remote policy, company location, visa sponsorship,
preferred timezones, relocation, hiring contact.
- Body:
About the job, often with markdown-style headings.
- Company section: summary, employee band, industry/stage/funding tags,
perks, founders/team links.
Requirement headings (extract -> req_hard)
Match headings / lead-in phrases, case-insensitive:
- "Requirements"
- "Qualifications"
- "What we're looking for"
- "What you bring"
- "You have"
- "We're looking for"
- "Experience"
- "Skills"
Use nearby bullets/lines until the next heading.
Nice-to-have headings (extract -> req_nice)
- "Nice to have"
- "Bonus"
- "Preferred"
- "Plus"
- "Bonus points"
- "Extra credit"
Split mixed required/preferred lists when visible.
Boundary / skip rules
- Title prefilter: drop cards whose title matches any global
skip_title_keywords entry.
- Attempt boundary: if a canonical URL exists in Jessy's attempted state,
stop lower/older jobs for that list/feed.
- Ignore Wellfound
Save, Apply, and any viewed-like UI state.
Auth + access
Public pages expose enough for many jobs. If the page requires login or blocks
detail text, return auth_wall and stop that card. Do not attempt to log in.
1---2name: wellfound3description: Wellfound URL patterns and page semantics for jessy job scanning. Use whenever interacting with wellfound.com job, role, location, or company pages to read startup job listings and details.4---56# Wellfound platform skill (jessy)78DOM extraction goes through the Claude Chrome extension (`claude --chrome`).9Ask the page in natural terms ("visible job rows", "job detail header",10"About the job") rather than relying on fixed selectors.1112## When this loads1314Triggered when the active tab URL contains `wellfound.com/jobs`,15`wellfound.com/role`, `wellfound.com/location`, or `wellfound.com/remote`16and jessy is scanning, scoring, or extracting jobs.1718## URL patterns1920| Pattern | Page kind |21|---------------------------------|----------------|22| `wellfound.com/jobs` | Search / jobs |23| `wellfound.com/role/<slug>` | Role listing |24| `wellfound.com/role/r/<slug>` | Remote role |25| `wellfound.com/location/<slug>` | Location list |26| `wellfound.com/jobs/<id>-...` | Detail page |2728Canonical job URL is the detail URL:29`https://wellfound.com/jobs/<id>-<slug>`. Strip query params and fragments.3031## Page semantics — lists3233- Lists are grouped by company. One company card can contain multiple jobs.34- Company block usually has company name, one-line summary, employee band,35 hiring badges, and funding/stage badges.36- Each job row has: title, employment type, salary/equity when visible,37 location / remote policy, experience, posted time, save/apply controls.38- Job links often open a full detail page instead of a side rail.39- Lists usually lazy-load more rows. Keep scrolling/loading until no new40 visible job rows appear, the scan hits an attempted row, or the run cap is41 reached.4243## Page semantics — detail4445- Header: title, company, salary/equity, location/remote policy,46 experience, employment type, reposted/posted time.47- Sidebar/details: remote policy, company location, visa sponsorship,48 preferred timezones, relocation, hiring contact.49- Body: `About the job`, often with markdown-style headings.50- Company section: summary, employee band, industry/stage/funding tags,51 perks, founders/team links.5253## Requirement headings (extract -> `req_hard`)5455Match headings / lead-in phrases, case-insensitive:5657- "Requirements"58- "Qualifications"59- "What we're looking for"60- "What you bring"61- "You have"62- "We're looking for"63- "Experience"64- "Skills"6566Use nearby bullets/lines until the next heading.6768## Nice-to-have headings (extract -> `req_nice`)6970- "Nice to have"71- "Bonus"72- "Preferred"73- "Plus"74- "Bonus points"75- "Extra credit"7677Split mixed required/preferred lists when visible.7879## Boundary / skip rules8081- Title prefilter: drop cards whose title matches any global82 `skip_title_keywords` entry.83- Attempt boundary: if a canonical URL exists in Jessy's attempted state,84 stop lower/older jobs for that list/feed.85- Ignore Wellfound `Save`, `Apply`, and any viewed-like UI state.8687## Auth + access8889Public pages expose enough for many jobs. If the page requires login or blocks90detail text, return `auth_wall` and stop that card. Do not attempt to log in.