Skip to content

feat(linkedin): read job preferences and details#1723

Closed
gauravsaxena1997 wants to merge 1 commit into
jackwener:mainfrom
gauravsaxena1997:codex/linkedin-job-readers
Closed

feat(linkedin): read job preferences and details#1723
gauravsaxena1997 wants to merge 1 commit into
jackwener:mainfrom
gauravsaxena1997:codex/linkedin-job-readers

Conversation

@gauravsaxena1997
Copy link
Copy Markdown
Contributor

What and why

LinkedIn Jobs exposes useful job-search state in the authenticated browser UI, but OpenCLI does not currently have read commands for job preferences or individual job detail pages. That makes it hard for agents to verify what roles, locations, alerts, and job descriptions are actually visible before drafting next actions.

This PR adds read-only commands for those job-search surfaces.

What this PR does

Adds two Strategy.COOKIE LinkedIn browser adapters:

opencli linkedin jobs-preferences -f json
opencli linkedin job-detail https://www.linkedin.com/jobs/view/4412279099 -f json

Implementation details:

  • Adds shared LinkedIn helpers for auth-wall checks, safe URL validation, text normalization, and evaluate-result unwrapping
  • jobs-preferences reads visible Open To Work/job preference state, job titles, locations, alert settings, and raw preference text from the Jobs page
  • job-detail normalizes /jobs/view/<id> URLs to the logged-in job search detail surface and extracts title, company, location, workplace type, job type, applicants, listed age, apply URL, company URL, and full rendered description
  • job-detail combines LinkedIn inline metadata with rendered DOM description extraction so the command does not return an empty description when metadata is incomplete
  • Both commands are read-only and require an authenticated LinkedIn browser session

Live verification

Verified against a logged-in LinkedIn session:

  • jobs-preferences returned active Open To Work/job preference and alert information visible on the Jobs page
  • job-detail returned a full description for a remote RED Global AI/full-stack role where the previous extraction path returned an empty description

Checklist

  • npm run build
  • npx vitest run --project adapter clis/linkedin/job-detail.test.js clis/linkedin/jobs-preferences.test.js
  • npm run typecheck
  • node scripts/check-typed-error-lint.mjs
  • node scripts/check-silent-column-drop.mjs

@gauravsaxena1997 gauravsaxena1997 changed the title feat(linkedin): add job preference readers feat(linkedin): read job preferences and details May 22, 2026
@gauravsaxena1997 gauravsaxena1997 force-pushed the codex/linkedin-job-readers branch from d5ed9cc to db98a94 Compare May 22, 2026 20:41
jackwener added a commit that referenced this pull request May 23, 2026
Consolidates PRs #1722, #1723, #1724, #1725, #1726, and #1727 after B-group lead+aux review.\n\nReviewed-by: codex-mini1\nReviewed-by: First-principles-1
@jackwener
Copy link
Copy Markdown
Owner

Closed as superseded by consolidated PR #1731, merged as b6965a5.

@jackwener
Copy link
Copy Markdown
Owner

Superseded by consolidated PR #1731 (merged as b6965a5).

@jackwener jackwener closed this May 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants