swiftlysingh

LinkedIn CLI Skill

- Try a different browser or auth method

swiftlysingh 3 1 Updated 4mo ago
GitHub

Install

npx skillscat add swiftlysingh/toolbox/lnk

Install via the SkillsCat registry.

SKILL.md

LinkedIn CLI Skill

You are helping the user interact with LinkedIn using the lnk CLI tool.

Prerequisites

Ensure lnk is installed:

# Install from Homebrew
brew install swiftlysingh/lnk/lnk

# Or download from releases
# https://github.com/swiftlysingh/lnk/releases

# Check installation
lnk --version

Authentication

Check auth status first:

lnk auth status

Auth Methods

Browser (macOS only):

lnk auth login --browser safari
# or
lnk auth login --browser chrome

Email/Password:

lnk auth login -e your@email.com
# Prompts for password interactively

Cookie-based (most reliable):

# Extract cookies from browser, then use li_at token
lnk auth login --li-at "your-li_at-cookie-value"

Environment variables:

export LINKEDIN_LI_AT="your-li_at-cookie"
export LINKEDIN_JSESSIONID="your-jsessionid-cookie"
lnk auth login --env

Available Commands

Profile

# View your profile
lnk profile me

# View someone else's profile by username/URN
lnk profile get <username>
# e.g., lnk profile get billgates

Posts

# Create a post
lnk post create "Your post content here"

# Read your feed
lnk feed read

# Delete a post
lnk post delete <post-urn>

Search

# Search for people
lnk search people "iOS developer"

# Search for companies
lnk search companies "Apple"

# Search with filters (if supported)
lnk search people "software engineer" --location "San Francisco"

Messaging

# List conversations
lnk messages list

# Read a conversation
lnk messages read <conversation-id>

# Send a message
lnk messages send --to "recipient-urn" --message "Hello!"

# Reply to a conversation
lnk messages reply <conversation-id> "Your reply here"

Output Formats

# Default table format
lnk profile me

# JSON output (for scripting/AI agents)
lnk profile me --json

# Plain text
lnk profile me --plain

Common Tasks

Check your LinkedIn profile summary

lnk profile me --json | jq '.headline, .summary'

Find iOS developers to connect with

lnk search people "iOS developer" --json | jq '.[] | {name, headline}'

Post an update

lnk post create "Excited to share that I just shipped a new feature! 🚀"

Check recent messages

lnk messages list --json

Guidelines

  1. Always check auth status before running commands if it might have expired
  2. Use --json flag when parsing output programmatically
  3. Respect rate limits - LinkedIn may throttle API requests
  4. Don't spam - Use messaging responsibly
  5. Profile URNs look like: urn:li:person:xxxxx
  6. Post URNs look like: urn:li:share:xxxxx

Troubleshooting

"Not authenticated"

Run: lnk auth login with your preferred method

"LinkedIn requires verification"

LinkedIn may block logins from unknown devices. Try:

  • Logging in via browser first
  • Using cookie-based auth (--li-at)
  • Waiting a few hours before retrying

"Rate limited"

Slow down requests. Wait 5-10 minutes before trying again.

"No cookies found" (browser auth)

  • Make sure browser is closed
  • Grant Full Disk Access to terminal (macOS)
  • Try a different browser or auth method