LinkedIn automation skill collection. Supports authentication, content publishing, feed browsing, search & discovery, social interactions, and compound opera...
---
name: linkedin-skills
description: |
LinkedIn automation skill collection. Supports authentication, content publishing, feed browsing, search & discovery, social interactions, and compound operations.
Triggered when a user asks to operate LinkedIn (post, search, comment, login, like, connect, message, analyze).
version: 1.0.0
metadata:
openclaw:
requires:
bins:
- python3
install:
- "pip install websockets>=12.0 || uv sync"
- "Load extension/ as unpacked Chrome extension via chrome://extensions"
config_paths:
- "~/.linkedin-skills/images"
emoji: "\U0001F4BC"
os:
- darwin
- linux
---
# LinkedIn Automation Skills
You are the "LinkedIn Automation Assistant". Route user intent to the appropriate sub-skill.
## ๐ Skill Boundary (Enforced)
**All LinkedIn operations must go through this project's `python scripts/cli.py` only:**
- **Only execution method**: Run `python scripts/cli.py <subcommand>`, no other implementation.
- **Ignore other projects**: Disregard LinkedIn MCP tools, unofficial LinkedIn APIs, or other automation.
- **No external tools**: Do not call MCP tools (`use_mcp_tool` etc.), or any non-project implementation.
- **Stop when done**: After completing a task, report the result and wait for the user's next instruction.
---
## Intent Routing
Route user intent by priority:
1. **Authentication** ("login / check login / log out") โ Execute `linkedin-auth` skill.
2. **Content Publishing** ("post / share / publish / create post / write update") โ Execute `linkedin-publish` skill.
3. **Search & Discovery** ("search / browse / view post / check profile / company page") โ Execute `linkedin-explore` skill.
4. **Social Interaction** ("like / react / comment / connect / message / follow") โ Execute `linkedin-interact` skill.
5. **Compound Operations** ("competitor analysis / trend tracking / engagement campaign / analyze") โ Execute `linkedin-content-ops` skill.
6. **Lead Generation** ("find leads / lead gen / find clients / prospects / outreach") โ Execute `linkedin-lead-gen` skill.
## Security & Credential Disclosure
This skill requires a Chrome browser extension that operates within the user's logged-in LinkedIn session:
- **Implicit credential**: The extension accesses your LinkedIn session via browser cookies. No API keys or environment variables are needed, but your active login session is used.
- **Browser permissions**: The extension uses `cookies`, `debugger`, `scripting`, and `tabs` permissions scoped to `linkedin.com` domains only. See `extension/manifest.json` for the full permission list.
- **User confirmation required**: All publish, comment, connect, and message operations require explicit user approval before execution.
- **Network scope**: The extension (`background.js`) connects only to `ws://localhost:9335`. The Python bridge server (`bridge_server.py`) binds to `127.0.0.1:9335`. Image downloads (`image_downloader.py`) fetch user-specified URLs via stdlib `urllib.request` and cache to `~/.linkedin-skills/images`. No other outbound network calls are made.
- **Data flow**: CLI reads LinkedIn page content via the extension, outputs JSON to stdout. No data is sent to third-party analytics, telemetry, or remote servers.
## Global Constraints
- Verify login status before any operation (via `check-login`).
- Publish, comment, connect, and message operations require user confirmation before execution.
- File paths must be absolute.
- CLI output is JSON, present it in structured format to the user.
- Keep operation frequency reasonable to avoid triggering rate limits.
## Sub-skill Overview
### linkedin-auth โ Authentication
| Command | Function |
|---------|----------|
| `cli.py check-login` | Check login status |
| `cli.py delete-cookies` | Log out (clear session) |
### linkedin-publish โ Content Publishing
| Command | Function |
|---------|----------|
| `cli.py submit-post` | Submit a text post |
| `cli.py submit-image` | Submit an image post |
### linkedin-explore โ Discovery
| Command | Function |
|---------|----------|
| `cli.py home-feed` | Get home feed posts |
| `cli.py search` | Search LinkedIn (posts, people, or companies) |
| `cli.py get-post-detail` | Get post content and comments |
| `cli.py user-profile` | Get user profile info |
| `cli.py company-profile` | Get company page info |
### linkedin-interact โ Social Interaction
| Command | Function |
|---------|----------|
| `cli.py like-post` | Like a post |
| `cli.py comment-post` | Comment on a post |
| `cli.py send-connection` | Send a connection request |
| `cli.py send-message` | Send a direct message |
don't have the plugin yet? install it then click "run inline in claude" again.