himself65/linkedin-reader
> Read LinkedIn for financial research using opencli (read-only). Use this skill whenever the user wants to read their LinkedIn feed, search for jobs in the finance/trading industry, view professional posts about markets or earnings, or gather professional sentiment from LinkedIn. "what's on LinkedIn about AAPL", "finance jobs on LinkedIn", "LinkedIn market sentiment", "who's posting about earnings on LinkedIn", "LinkedIn feed", "professional network buzz", "what are analysts saying on LinkedIn", any mention of LinkedIn in context of reading financial news, market research, job searches, or professional commentary. This skill is READ-ONLY — it does NOT support posting, liking, commenting, connecting, or any write operations.
npx skills add https://github.com/himself65/finance-skills --skill linkedin-reader
Reads LinkedIn for financial research using opencli, a universal CLI tool that bridges web services to the terminal via browser session reuse.
This skill is read-only. It is designed for financial research: reading professional commentary on markets, monitoring analyst posts, searching finance/trading jobs, and tracking professional sentiment. It does NOT support posting, liking, commenting, connecting, messaging, or any write operations.
Important: opencli reuses your existing Chrome login session — no API keys or cookie extraction needed. Just be logged into linkedin.com in Chrome and have the Browser Bridge extension installed.
Current environment status:
!`(command -v opencli && opencli doctor 2>&1 | head -5 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"`
If the status above shows READY, skip to Step 2. If NOT_INSTALLED, install first:
# Install opencli globally
npm install -g @jackwener/opencli
If SETUP_NEEDED, guide the user through setup:
opencli requires Node.js >= 21 and a Chrome browser with the Browser Bridge extension:
opencli-extension-v{version}.zip from the GitHub Releases pagechrome://extensions in Chrome, and enable Developer modeopencli doctor
This auto-starts the daemon, verifies the extension is connected, and checks session health.
| Symptom | Fix |
|---------|-----|
| Extension not connected | Install Browser Bridge extension in Chrome and ensure it's enabled |
| Daemon not running | Run opencli doctor — it auto-starts the daemon |
| No session for linkedin.com | Login to linkedin.com in Chrome, then retry |
| AuthRequiredError | LinkedIn session expired — refresh linkedin.com in Chrome and log in again |
Match the user's request to one of the read commands below, then use the corresponding command from references/commands.md.
| User Request | Command | Key Flags |
|---|---|---|
| Setup check | opencli doctor | — |
| Home feed / posts | opencli linkedin timeline | --limit N (default 20, max 100) |
| Search for jobs | opencli linkedin search "QUERY" | --location, --limit N (default 10, max 100), --details |
| Finance job search | opencli linkedin search "QUERY" | --experience-level, --job-type, --remote, --company, --date-posted, --start |
# Read LinkedIn feed posts
opencli linkedin timeline --limit 20 -f json
# Search for finance/trading jobs
opencli linkedin search "quantitative analyst" --limit 10 -f json
opencli linkedin search "portfolio manager" --location "New York" --limit 15 -f json
# Detailed job listings with descriptions
opencli linkedin search "financial analyst" --details --limit 10 -f json
opencli doctor before any other command if unsure about connectivity-f json or -f yaml for structured output when processing data programmatically-f csv when the user wants spreadsheet-compatible output--limit N to control result count — start with 10-20 unless the user asks for more--location, --experience-level, --job-type, --remote, --date-posted to narrow results-f)| Format | Flag | Best for |
|---|---|---|
| Table | -f table (default) | Human-readable terminal output |
| JSON | -f json | Programmatic processing, LLM context |
| YAML | -f yaml | Structured output, readable |
| Markdown | -f md | Documentation, reports |
| CSV | -f csv | Spreadsheet export |
Timeline posts include: rank, author, author_url, headline, text, posted_at, reactions, comments, url.
Job search results include: rank, title, company, location, listed, salary, url. With --details: also description, apply_url.
After fetching data, present it clearly for financial research:
If something isn't working, run:
opencli doctor
This checks daemon status, extension connectivity, and browser session health.
| Error | Cause | Fix |
|-------|-------|-----|
| Extension not connected | Browser Bridge not installed/enabled | Install extension and enable it in Chrome |
| No session | Not logged into linkedin.com | Login to linkedin.com in Chrome |
| AuthRequiredError | LinkedIn login wall detected | Refresh linkedin.com and log in again |
| EmptyResultError | No results found for query | Broaden search terms or check feed has content |
| Rate limited | Too many requests | Wait a few minutes, then retry |
references/commands.md — Complete read command reference with all flags, research workflows, and usage examplesRead the reference file when you need exact command syntax, research workflow patterns, or output details.
Take himself65/linkedin-reader from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npm.
Without those the skill loads but fails at the first command.