LinkedIn Skills
Drop-in LinkedIn sales, prospecting and data-extraction skills for AI coding agents, installed with a single command.
- Source repo
- Linked-API/linkedin-skills
- Stars
- ★ 108
- Last updated
- 1d ago
- License
- MIT
- Primary language
- JavaScript
- FA score
- 40/100 · Major gaps
At a glance
- How it runs
- Works with
- Platform-specificCodex · Claude Code
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- A sales team wants Claude Code to pull LinkedIn profiles and search target companies locally, calling the linkedin skill directly.
- Not a fit if
- Teams unwilling to route LinkedIn accounts through the third-party Linked API cloud
- Users wanting a fully free setup with no account tokens at all
- Teams needing social selling on platforms other than LinkedIn
- Source review
- 40/100 · Major gaps
What does this agent do, and when should you use it?
linkedin-skills is a small collection of LinkedIn skills maintained by Linked-API for AI agents such as Claude Code, Codex, Cursor and Windsurf, executed through LinkedIn CLI (@linkedapi/linkedin-cli) and the Linked API cloud service. It currently ships two skills: a general-purpose linkedin skill (fetch profiles, search people and companies, send messages, manage connections, create posts) and linkedin-growth, a two-phase lead pipeline that imports and qualifies leads against an ICP and then sends connection invites on a schedule across one or more accounts. Installation runs through the npx @linkedapi/skills CLI, which detects installed agents, asks what to install and where, and prepares the prerequisites. The installer separates install success from readiness: exit codes only reflect whether files and dependencies were placed, while configuration gaps such as unconnected LinkedIn tokens are reported as ready: false plus a pending list in the JSON output. Prerequisites are Node.js ≥ 20, a globally installed @linkedapi/linkedin-cli, and Linked API tokens from app.linkedapi.io followed by linkedin setup.
The installer npx @linkedapi/skills runs detect --json to inspect the environment, then add <skill> --yes writes skill folders into an agent's skills directory (e.g. .claude/skills/<skill>/ for a project or ~/.claude/skills/<skill>/ globally) and installs dependencies. The linkedin skill wraps routine LinkedIn CLI operations: retrieving profiles, searching people and companies, sending messages, managing connection requests and creating posts. The linkedin-growth skill runs a two-phase pipeline: first importing leads into a database and qualifying them against ICP criteria, then sending connection invites on a schedule across multiple registered linkedin-cli accounts; a manually copied folder additionally needs npm install --omit=dev and node scripts/doctor.mjs. Every add call returns structured JSON with success, data.ready, data.pending and data.installed fields so callers can see which skills are installed but not yet configured (for example zero accounts in the DB). Other subcommands are list, update, remove and doctor, all supporting --json.
- A sales team wants Claude Code to pull LinkedIn profiles and search target companies locally, calling the linkedin skill directly.
- A growth operator needs to qualify an imported lead list against an ICP and send invites in batches across several LinkedIn accounts, orchestrated through linkedin-growth.
- A CI pipeline or automation script needs to install LinkedIn skills into Codex non-interactively via add --agent --scope --yes --json and then inspect readiness.
- A developer debugging why LinkedIn skills fail on a machine can run doctor and detect --json to locate missing tokens, CLI or account registrations.
- An individual social seller wants one-command posting, messaging and connection management from their own agent instead of writing API calls by hand.
How do you install or deploy this agent?
Make sure Node.js ≥ 20 is available, then run the installer from a terminal.
npx @linkedapi/skillsAlternatively, hand the install runbook to your AI agent:
Read https://linkedapi.io/skills/install.md and follow it.For a single skill, use its own runbook such as https://linkedapi.io/skills/linkedin/install.md or https://linkedapi.io/skills/linkedin-growth/install.md. Non-interactive example:
npx @linkedapi/skills add linkedin linkedin-growth \
--agent claude-code --agent codex --scope project --yes --jsonPrerequisites can also be prepared manually:
npm install -g @linkedapi/linkedin-cli
linkedin setupLinked API tokens are issued at app.linkedapi.io. If you instead copy a skill folder into .claude/skills/<skill>/ by hand, linkedin-growth also requires, inside that folder:
npm install --omit=dev
node scripts/doctor.mjsHow do you use this agent?
Start by inspecting the environment and listing available skills:
npx @linkedapi/skills detect --json
npx @linkedapi/skills listInstall one skill without prompts:
npx @linkedapi/skills add linkedin --yesAfter installing, parse the JSON rather than relying on the exit code alone — exit 0 means the install succeeded, but ready: false still requires completing the pending items (for example registering linkedin-cli accounts in the DB). Then invoke the skill from Claude Code, Codex or another supported agent, which drives LinkedIn operations through @linkedapi/linkedin-cli and Linked API. Maintenance commands:
npx @linkedapi/skills update
npx @linkedapi/skills remove
npx @linkedapi/skills doctorWhat are this agent's strengths and limitations?
- The npx @linkedapi/skills installer detects installed agents and sets up Node.js, the CLI and tokens, cutting manual steps.
- Exit codes are separated from readiness; the ready and pending fields in the add JSON let agents and CI distinguish setup gaps from real install failures.
- linkedin-growth provides a two-phase, multi-account scheduled invite pipeline rather than a single-operation wrapper.
- Every subcommand supports --json, which suits non-interactive and automated environments.
- MIT licensed, with a documented fallback of copying skill folders into an agent's skills directory.
- Core operations depend on the Linked API cloud service and tokens issued at app.linkedapi.io — a single third-party vendor dependency.
- Requires Node.js ≥ 20 plus a globally installed @linkedapi/linkedin-cli, so the runtime chain is fairly long.
- The README lists only two skills and coverage is limited to LinkedIn.
- Manually installed linkedin-growth folders need extra npm install --omit=dev and scripts/doctor.mjs steps.
- Cursor and Windsurf are mentioned but no concrete install examples are given for them; the documented commands target Claude Code and Codex.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| LinkedIn Skills This agent | 40 · Major gaps | Agent plugin / skillFreemium | ★ 108 | 1d ago | JavaScript | Codex · Claude Code |
| Material Learning Studio | 92 · Excellent | Agent plugin / skillFree | ★ 1.3k | 19d ago | Python | Codex · Claude Code |
| SandBase Skills Library | 50 · Major gaps | Agent plugin / skillFree + model costs | ★ 207 | 1mo ago | Python | Codex · Claude Code |
| DeepChat | 66 · Some gaps | Desktop appFree + model costs | ★ 6.4k | 1d ago | TypeScript | OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence includes only README, LICENSE, package.json and two CI workflows; no src/ or skill code is present, so permission scope, confirmation prompts, data flows and sensitive-data handling cannot be verified. README mentions LinkedIn tokens and `linkedin setup` but not token storage, scope or least privilege; the installer 'sets up prerequisites for you', an implicit external side effect with no rollback guidance. Only one dependency (@clack/prompts) with no lockfile or audit evidence, so dependency security scores 1. Source attribution links upstream linkedin-cli and Linked API, but publisher identity is unverified, so only partial credit. All items deducted for missing implementation evidence.
README clearly and consistently distinguishes exit codes from readiness (exit 0 + ready:false + pending), and CI runs syntax checks plus a `detect --json` smoke test, supporting self-consistency at 2. Dependency availability relies on a global npm install of linkedin-cli and an external token service with no version pinning or offline notes, scoring 1. Failure messages are described only at README level; no actual error-handling code is shown, scoring 1.
README targets Claude Code, Codex, Cursor and Windsurf with both interactive and non-interactive (CI) paths, giving good audience/scenario coverage at 2; environment fit is supported by `detect --json` and `doctor`, scoring 2. Capability boundaries are only a one-line table description with no mention of rate limits, account bans or compliance limits, scoring 1; trigger precision has no skill-trigger conditions, scoring 1.
Information architecture is clear (install, skills table, prerequisites, manual fallback, license) and install notes are detailed, scoring 2; MIT license is complete, scoring 2. Naming stability lacks a versioned skill-naming convention, scoring 1; examples are install commands only with no usage examples or FAQ, scoring 1; known limitations are entirely absent (no rate-limit, compliance or account-risk notes), scoring 0; version 1.0.19 exists but there is no CHANGELOG, scoring 1; maintenance responsibility is unclear (no CONTRIBUTING, SECURITY or maintainer notes) and the publisher is unverified, scoring 1.
Output usability shows a JSON output shape but no real skill output samples, scoring 1; marginal value is real for LinkedIn automation but depends on a proprietary Linked API service, limiting substitutability, scoring 1; cost-benefit is unclear given paid API tokens and a global CLI dependency with no performance or quota notes, scoring 1.
README claims trace to upstream repos and the official site, but key claims (installer behavior, skill capabilities) lack code or test backing, scoring 1; cross-source corroboration is limited to a CI smoke test and README self-description with no independent source, scoring 1; fact/inference separation is weak since README statements are descriptive without marking what was verified, scoring 1.
- The repository omits src/ and skill-directory code, so permissions, confirmations, data flows and sensitive-data handling cannot be statically verified; actual behavior needs isolated review.
- The installer sets up prerequisites and may write tokens, with no documented token storage, scope or rollback.
- LinkedIn automation touches account actions; README does not address rate limits, account bans or platform compliance risk.
- Publisher identity is unverified and maintenance responsibility plus security disclosure channels are unclear.
- Depends on a globally installed linkedin-cli and an external paid API with no version pinning or offline availability notes.