Skill 详情
linkedin-skill
Can publish posts but does not focus on writing them.
使用前先检查
自动化审核只检查相关性,不代表安全审查或推荐。使用前请阅读来源中的说明。
SKILL.md
这段内容是审核时保存的快照。外部来源才是完整且最新的版本。
---
name: linkedin-skill
description: Post, comment, and react on LinkedIn profiles and company pages. Use when the user asks to post on LinkedIn, check their LinkedIn posts, add comments, react to posts, or manage their LinkedIn presence. Supports multiple accounts.
allowed-tools: Bash, Read
---
# LinkedIn Skill - Post, Comment, and React
Create posts, add comments, and react to content on LinkedIn personal profiles and company pages.
## CRITICAL: Posting Confirmation Required
**Before posting, commenting, or reacting on LinkedIn, you MUST get explicit user confirmation.**
When the user asks to post/comment/react:
1. First, show them the complete action details:
- Account being used
- Content text (full text)
- Target (post URN for comments/reactions)
- Visibility (for posts)
2. Ask: "Do you want me to post/comment/react on LinkedIn?"
3. ONLY run the command AFTER the user explicitly confirms (e.g., "yes", "post it", "go ahead")
4. NEVER post without this confirmation, even if the user asked you to post initially
This applies even when:
- The user says "post this to LinkedIn"
- You are in "dangerously skip permissions" mode
- The user seems to be in a hurry
Always confirm first. No exceptions.
## First-Time Setup (One-Time)
On first run, the script will guide you through setup. You need to create a LinkedIn OAuth app:
1. Go to [LinkedIn Developers](https://www.linkedin.com/developers/apps)
2. Click 'Create app'
3. Fill in app details:
- App name: LinkedIn Skill (or anything)
- LinkedIn Page: Select or create one (required)
- App logo: Any image
4. On the Auth tab:
- Add redirect URL: `http://localhost` (any port is fine)
- Note the Client ID and Primary Client Secret
5. On the Products tab:
- Request access to **Share on LinkedIn** (for posting)
- Request access to **Sign In with LinkedIn using OpenID Connect** (for auth)
6. Create `credentials.json` in the skill directory:
```json
{
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET"
}
```
Save to: `~/.claude/skills/linkedin-skill/credentials.json`
Then run any command - browser opens, you approve, done.
**Note:** For posting as an organization, you need Marketing Platform approval for the `w_organization_social` scope.
## Commands
### Account Management
```bash
# List authenticated accounts
python3 ~/.claude/skills/linkedin-skill/linkedin_skill.py accounts
# Authenticate new account (opens browser)
python3 ~/.claude/skills/linkedin-skill/linkedin_skill.py login [--account LABEL]
# Remove account
python3 ~/.claude/skills/linkedin-skill/linkedin_skill.py logout [--account EMAIL]
```
### Profile
```bash
# Get your profile info
python3 ~/.claude/skills/linkedin-skill/linkedin_skill.py me [--account LABEL]
# List organizations where you're admin
python3 ~/.claude/skills/linkedin-skill/linkedin_skill.py organizations [--account LABEL]
```
### Posts (Requires Confirmation)
```bash
# Create a post (PUBLIC or CONNECTIONS visibility)
python3 ~/.claude/skills/linkedin-skill/linkedin_skill.py post --text "Your post content" [--visibility PUBLIC|CONNECTIONS] [--author ORG_URN] [--account LABEL]
# List your posts
python3 ~/.claude/skills/linkedin-skill/linkedin_skill.py list-posts [--author URN] [--count N] [--account LABEL]
# Get a specific post
python3 ~/.claude/skills/linkedin-skill/linkedin_skill.py get-post POST_URN [--account LABEL]
# Edit a post's text
python3 ~/.claude/skills/linkedin-skill/linkedin_skill.py edit-post POST_URN --text "New content" [--account LABEL]
# Delete a post
python3 ~/.claude/skills/linkedin-skill/linkedin_skill.py delete-post POST_URN [--account LABEL]
```
**Post visibility options:**
- `PUBLIC` - Visible to anyone (default)
- `CONNECTIONS` - Visible to connections only
**Posting as organization:**
Use `--author ORG_URN` where ORG_URN is from the `organizations` command (requires Marketing Platform approval).
### Comments (Requires Confirmation)
```bash在 GitHub 阅读完整来源 (打开外部页面)