LinkedIn Skill (Read-Only)
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.
Step 1: Ensure opencli Is Installed and Ready
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:
Setup
opencli requires Node.js >= 20 and a Chrome browser with the Browser Bridge extension:
- Install the Browser Bridge extension:
- Download the latest
opencli-extension-v{version}.zip from the GitHub Releases page
- Unzip it, open
chrome://extensions in Chrome, and enable Developer mode
- Click Load unpacked and select the unzipped folder
- Login to linkedin.com in Chrome — opencli reuses your existing browser session
- Verify connectivity:
opencli doctor
This auto-starts the daemon, verifies the extension is connected, and checks session health.
Common setup issues
| 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 |
Step 2: Identify What the User Needs
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 |
Step 3: Execute the Command
General pattern
# 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
Key rules
- Check setup first — run
opencli doctor before any other command if unsure about connectivity
- Use
-f json or -f yaml for structured output when processing data programmatically
- Use
-f csv when the user wants spreadsheet-compatible output
- Use
--limit N to control result count — start with 10-20 unless the user asks for more
- For job search, use filters —
--location, --experience-level, --job-type, --remote, --date-posted to narrow results
- NEVER execute write operations — this skill is read-only; do not post, like, comment, connect, message, or apply to jobs
Output format flag (-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 |
Output columns
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.
Step 4: Present the Results
After fetching data, present it clearly for financial research:
- Summarize key content — highlight the most relevant posts or jobs for the user's research
- Include attribution — show author name, headline, post text, and engagement (reactions, comments)
- Provide URLs when the user might want to read the full post or job listing
- For feed posts, highlight market commentary, analyst takes, earnings reactions, and professional sentiment
- For job search results, present title, company, location, salary (when available), and posting date
- Flag sentiment — note bullish/bearish professional sentiment, consensus vs contrarian views
- Treat sessions as private — never expose browser session details
Step 5: Diagnostics
If something isn't working, run:
opencli doctor
This checks daemon status, extension connectivity, and browser session health.
Error Reference
| 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 |
Reference Files
references/commands.md — Complete read command reference with all flags, research workflows, and usage examples
Read the reference file when you need exact command syntax, research workflow patterns, or output details.
1---2name: linkedin-reader3description: 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. Triggers include: "check my LinkedIn feed", "search LinkedIn for", "LinkedIn posts about", "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.4---5
6# LinkedIn Skill (Read-Only)
7
8Reads LinkedIn for financial research using [opencli](https://github.com/jackwener/opencli), a universal CLI tool that bridges web services to the terminal via browser session reuse.
9
10**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.
11
12**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.
13
14---
15
16## Step 1: Ensure opencli Is Installed and Ready
17
18**Current environment status:**
19
20```
21!`(command -v opencli && opencli doctor 2>&1 | head -5 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"`
22```
23
24If the status above shows `READY`, skip to Step 2. If `NOT_INSTALLED`, install first:
25
26```bash
27# Install opencli globally
28npm install -g @jackwener/opencli
29```
30
31If `SETUP_NEEDED`, guide the user through setup:
32
33### Setup
34
35opencli requires Node.js >= 20 and a Chrome browser with the Browser Bridge extension:
36
371. **Install the Browser Bridge extension:**
38 - Download the latest `opencli-extension-v{version}.zip` from the [GitHub Releases page](https://github.com/jackwener/opencli/releases)
39 - Unzip it, open `chrome://extensions` in Chrome, and enable **Developer mode**
40 - Click **Load unpacked** and select the unzipped folder
412. **Login to linkedin.com** in Chrome — opencli reuses your existing browser session
423. **Verify connectivity:**
43
44```bash
45opencli doctor
46```
47
48This auto-starts the daemon, verifies the extension is connected, and checks session health.
49
50### Common setup issues
51
52| Symptom | Fix |
53|---------|-----|
54| `Extension not connected` | Install Browser Bridge extension in Chrome and ensure it's enabled |
55| `Daemon not running` | Run `opencli doctor` — it auto-starts the daemon |
56| `No session for linkedin.com` | Login to linkedin.com in Chrome, then retry |
57| `AuthRequiredError` | LinkedIn session expired — refresh linkedin.com in Chrome and log in again |
58
59---
60
61## Step 2: Identify What the User Needs
62
63Match the user's request to one of the read commands below, then use the corresponding command from `references/commands.md`.
64
65| User Request | Command | Key Flags |
66|---|---|---|
67| Setup check | `opencli doctor` | — |
68| Home feed / posts | `opencli linkedin timeline` | `--limit N` (default 20, max 100) |
69| Search for jobs | `opencli linkedin search "QUERY"` | `--location`, `--limit N` (default 10, max 100), `--details` |
70| Finance job search | `opencli linkedin search "QUERY"` | `--experience-level`, `--job-type`, `--remote`, `--company`, `--date-posted`, `--start` |
71
72---
73
74## Step 3: Execute the Command
75
76### General pattern
77
78```bash
79# Read LinkedIn feed posts
80opencli linkedin timeline --limit 20 -f json
81
82# Search for finance/trading jobs
83opencli linkedin search "quantitative analyst" --limit 10 -f json
84opencli linkedin search "portfolio manager" --location "New York" --limit 15 -f json
85
86# Detailed job listings with descriptions
87opencli linkedin search "financial analyst" --details --limit 10 -f json
88```
89
90### Key rules
91
921. **Check setup first** — run `opencli doctor` before any other command if unsure about connectivity
932. **Use `-f json` or `-f yaml`** for structured output when processing data programmatically
943. **Use `-f csv`** when the user wants spreadsheet-compatible output
954. **Use `--limit N`** to control result count — start with 10-20 unless the user asks for more
965. **For job search, use filters** — `--location`, `--experience-level`, `--job-type`, `--remote`, `--date-posted` to narrow results
976. **NEVER execute write operations** — this skill is read-only; do not post, like, comment, connect, message, or apply to jobs
98
99### Output format flag (`-f`)
100
101| Format | Flag | Best for |
102|---|---|---|
103| Table | `-f table` (default) | Human-readable terminal output |
104| JSON | `-f json` | Programmatic processing, LLM context |
105| YAML | `-f yaml` | Structured output, readable |
106| Markdown | `-f md` | Documentation, reports |
107| CSV | `-f csv` | Spreadsheet export |
108
109### Output columns
110
111**Timeline** posts include: `rank`, `author`, `author_url`, `headline`, `text`, `posted_at`, `reactions`, `comments`, `url`.
112
113**Job search** results include: `rank`, `title`, `company`, `location`, `listed`, `salary`, `url`. With `--details`: also `description`, `apply_url`.
114
115---
116
117## Step 4: Present the Results
118
119After fetching data, present it clearly for financial research:
120
1211. **Summarize key content** — highlight the most relevant posts or jobs for the user's research
1222. **Include attribution** — show author name, headline, post text, and engagement (reactions, comments)
1233. **Provide URLs** when the user might want to read the full post or job listing
1244. **For feed posts**, highlight market commentary, analyst takes, earnings reactions, and professional sentiment
1255. **For job search results**, present title, company, location, salary (when available), and posting date
1266. **Flag sentiment** — note bullish/bearish professional sentiment, consensus vs contrarian views
1277. **Treat sessions as private** — never expose browser session details
128
129---
130
131## Step 5: Diagnostics
132
133If something isn't working, run:
134
135```bash
136opencli doctor
137```
138
139This checks daemon status, extension connectivity, and browser session health.
140
141---
142
143## Error Reference
144
145| Error | Cause | Fix |
146|-------|-------|-----|
147| `Extension not connected` | Browser Bridge not installed/enabled | Install extension and enable it in Chrome |
148| `No session` | Not logged into linkedin.com | Login to linkedin.com in Chrome |
149| `AuthRequiredError` | LinkedIn login wall detected | Refresh linkedin.com and log in again |
150| `EmptyResultError` | No results found for query | Broaden search terms or check feed has content |
151| Rate limited | Too many requests | Wait a few minutes, then retry |
152
153---
154
155## Reference Files
156
157- `references/commands.md` — Complete read command reference with all flags, research workflows, and usage examples
158
159Read the reference file when you need exact command syntax, research workflow patterns, or output details.