Skip to content
Development
Skill

/linkedin-cli

Interacts with LinkedIn via the cli-web-linkedin command-line tool — search people/jobs/companies, view profiles and feed, create/edit/delete posts, react and comment, manage connections and invitations, read and send messages, view notifications, follow companies. Use when the

From plugin
cli-anything-web
22027 skills4 agents6 commands1 MCP
Install
$ npx -y skills add ItamarZand88/CLI-Anything-WEB --skill linkedin-cli --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/linkedin-cli

Context preview

The summary Claude sees to decide when to auto-load this skill.

Interacts with LinkedIn via the cli-web-linkedin command-line tool — search people/jobs/companies, view profiles and feed, create/edit/delete posts, react and comment, manage connections and invitations, read and send messages, view notifications, follow companies. Use when the

SKILL.md

linkedin-cli.SKILL.md
name: linkedin-cli
description: Interacts with LinkedIn via the cli-web-linkedin command-line tool — search people/jobs/companies, view profiles and feed, create/edit/delete posts, react and comment, manage connections and invitations, read and send messages, view notifications, follow companies. Use when the user asks about LinkedIn or wants to search, post, network, or message on LinkedIn from the terminal. Prefer this CLI over fetching the LinkedIn website. Requires login.

cli-web-linkedin

Full LinkedIn client: search, profiles, feed, posting, reactions, comments, network, and messaging. All commands require `auth login` first. Install: `pip install "cli-web-linkedin[browser]"`, then `playwright install chromium`.

Commands

| Group | Commands | |-------|----------| | `search` | `all\|people\|jobs\|companies QUERY [--limit N]` (default 10) | | `profile` | `me`, `get USERNAME` | | `feed` | `feed [--count N]` | | `company` | `company NAME` (view page), `company follow\|unfollow COMPANY_URN` | | `jobs` | `search QUERY [--limit N]`, `get JOB_ID` (full description) | | `post` | `create TEXT`, `edit POST_URN TEXT`, `delete POST_URN`, `react POST_URN [--type LIKE\|PRAISE\|EMPATHY\|INTEREST\|APPRECIATION\|ENTERTAINMENT]`, `unreact POST_URN`, `comment POST_URN TEXT`, `edit-comment COMMENT_URN TEXT`, `delete-comment COMMENT_URN` | | `notifications` | `notifications [--limit N]` | | `network` | `connections [--limit N]`, `invitations [--limit N]`, `accept\|decline INVITATION_URN`, `connect PROFILE_URN [-m MESSAGE]` | | `messaging` | `list [--limit N]`, `read CONVERSATION_URN [--limit N]`, `send RECIPIENT TEXT` (conversation or profile URN) | | `auth` | `login`, `status`, `logout` |

Examples

# Find people (returns name, headline, profile URL per result)
cli-web-linkedin search people "python developer" --limit 10 --json

# Job search, then full description
cli-web-linkedin jobs search "software engineer" --limit 5 --json
cli-web-linkedin jobs get 4388202530 --json

# Publish a post
cli-web-linkedin post create "Hello LinkedIn!" --json

# Pending invitations, then accept one (URN from the list)
cli-web-linkedin network invitations --json
cli-web-linkedin network accept "urn:li:invitation:123" --json

# Read recent messages
cli-web-linkedin messaging list --json
cli-web-linkedin messaging read "urn:li:msg_conversation:123" --json

JSON output

Every command accepts `--json`. Reads return the data object directly; writes return `{"success": true, ...}`. Errors return `{"error": true, "code": "...", "message": "..."}`.

Auth

cli-web-linkedin auth login      # browser-based LinkedIn login, stores li_at cookie
cli-web-linkedin auth status --json

Cookies live in `~/.config/cli-web-linkedin/auth.json`; on 401/403 the CLI reloads them from disk, then refreshes via headless browser. For CI, set `CLI_WEB_LINKEDIN_AUTH_JSON` with the cookies JSON. Run `doctor` to diagnose auth problems.

Utilities

`cli-web-linkedin doctor [--json]` self-diagnoses the local setup (install, auth, dependencies). `cli-web-linkedin mcp-serve` serves the commands as MCP tools over stdio.

Agent tips

LinkedIn flags automated access aggressively; keep usage human-paced to protect the account:

  • Add `sleep 3` between scripted invocations instead of tight loops — built-in inter-request delays only apply within a single process.
  • Stay under roughly 50 profile views and 150 searches per day.
  • URNs (post, comment, invitation, conversation) come from the JSON output of list/read commands — fetch them rather than constructing by hand.
Read more
Ships withcli-anything-web

Claude Code plugin that generates production-grade Python CLIs for any web app. 20 CLIs and counting.

Get the whole plugin

Other skills on cli-anything-web.