Skip to content

feat(linkedin): read profile projects#1727

Closed
gauravsaxena1997 wants to merge 1 commit into
jackwener:mainfrom
gauravsaxena1997:codex/linkedin-profile-projects
Closed

feat(linkedin): read profile projects#1727
gauravsaxena1997 wants to merge 1 commit into
jackwener:mainfrom
gauravsaxena1997:codex/linkedin-profile-projects

Conversation

@gauravsaxena1997
Copy link
Copy Markdown
Contributor

@gauravsaxena1997 gauravsaxena1997 commented May 22, 2026

What and why

LinkedIn profile Projects can contain portfolio and case-study entries, but OpenCLI does not currently expose that section through a read-only command. Career and profile-maintenance workflows need a way to inspect visible Projects before deciding whether to update them manually or draft replacements.

This PR adds a focused read adapter for visible LinkedIn profile projects.

What this PR does

Adds a Strategy.COOKIE LinkedIn browser adapter:

opencli linkedin profile-projects -f json
opencli linkedin profile-projects --profile-url https://www.linkedin.com/in/example/ -f json

Implementation details:

  • Resolves /in/me/ to the signed-in member's concrete profile URL before opening /details/projects/
  • Extracts visible project title, date range, associated entity, description, skills, media labels, URLs, profile URL, and raw text
  • Decodes LinkedIn /safety/go/ redirect URLs so project links return the underlying external URL when visible
  • Handles LinkedIn's current Projects detail page where all projects may be rendered inside one section instead of separate li/article rows
  • Uses typed errors for malformed payloads and EmptyResultError when no visible Projects section is present
  • Adds unit coverage and updates LinkedIn adapter docs plus user-facing command indexes

Live verification

Verified against a logged-in LinkedIn profile session:

opencli linkedin profile-projects --profile-url https://www.linkedin.com/in/example/ -f json

Returned two visible Projects rows with titles, date ranges, associated organizations, descriptions, decoded external project URLs, profile URL, and raw text.

Checklist

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

@gauravsaxena1997 gauravsaxena1997 marked this pull request as draft May 22, 2026 21:03
@gauravsaxena1997 gauravsaxena1997 force-pushed the codex/linkedin-profile-projects branch from 2765046 to ddbc0c0 Compare May 22, 2026 21:07
@gauravsaxena1997 gauravsaxena1997 force-pushed the codex/linkedin-profile-projects branch from ddbc0c0 to ec77c5f Compare May 22, 2026 21:10
@gauravsaxena1997 gauravsaxena1997 marked this pull request as ready for review May 22, 2026 21:13
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