← ClaudeAtlas

read-job-offerlisted

Read the full text of a LinkedIn job posting from its job id or URL, without a login and without opening a browser. Runs a two-step cascade — the cached BrightData dataset first, the LinkedIn guest endpoint on failure — and returns one structured block: JD text, freshness, applicant count, seniority, employment type, job function, industries. This is a shared primitive: callers are `morning-briefing` (Step 1g scoring), and any skill or sub-agent handed a LinkedIn offer URL. Use when a skill needs the JD behind a `linkedin.com/jobs/view/<id>` link, or when the user pastes such a link and asks what the offer says.
BluegReeno/renaud-marketplace · ★ 0 · AI & Automation · score 63
Install: claude install-skill BluegReeno/renaud-marketplace
# Read Job Offer — Skill Instructions ## What this skill does One job in, one JD out. Given a LinkedIn `job_id` (or any URL carrying one), return the full job description plus the four LinkedIn classification fields, or an explicit `unavailable` verdict. It exists so that **every** caller reads an offer the same way. The two-step cascade below was established against a posting **32 minutes old** (`4461607259`, 2026-09-03): one call, full JD, no login, no browser, no keychain prompt. Do not reimplement it inline in a calling skill — extend it here. ## Input A single value, in any of these shapes: - a bare numeric id — `4461607259` - a canonical URL — `https://www.linkedin.com/jobs/view/4461607259` - a search/collection URL carrying `currentJobId=<id>` **Step 0 — normalise.** Extract the id with `jobs/view/(\d+)`, else `currentJobId=(\d+)`, else accept the input if it is entirely digits. If no id can be extracted, return `status: unavailable` with `reason: no job id in input` — never guess an id, never fall back to a text search. ## Step 1 — Cached dataset (first attempt) ``` mcp__brightdata__web_data_linkedin_job_listings( url="https://www.linkedin.com/jobs/view/<job_id>" ) ``` On success, read `job_summary` for the JD text and the response's own fields for the metadata. This path returns clean structured JSON, but it is a **lookup in a cached dataset**: a posting that is not yet indexed fails here, and freshly published offers are exactly the ones that are not in