Post content to LinkedIn and Twitter/X simultaneously. This skill should be used when the user wants to create social media posts, share content on LinkedIn or Twitter/X, or post to multiple platforms at once. Supports text posts, multiple image attachments, video uploads, and link sharing.
Post content to LinkedIn and Twitter/X from the command line. Supports posting to individual platforms or all platforms simultaneously.
Use this skill when the user requests:
| Platform | Script | Features |
|---|---|---|
linkedin_poster.py | Text, images (up to 9), videos, links with previews | |
| Twitter/X | twitter_poster.py | Text, images (up to 4), videos, threads |
| All | post_all.py | Post to all platforms in parallel |
cd ~/.claude/skills/social-media-poster
source venv/bin/activate
python scripts/post_all.py -t "Your post content" -i "./image.jpg" -u "https://example.com"
python scripts/post_all.py -t "Check out this video!" -v "./video.mp4"
python scripts/post_all.py -t "Photo gallery!" -i "./img1.jpg" -i "./img2.jpg" -i "./img3.jpg"
python scripts/linkedin_poster.py -t "Post text" -i "./image.jpg" -u "https://link.com" --title "Link Title"
python scripts/twitter_poster.py -t "Tweet text" -i "./image.jpg"
Note: Long-form posts are supported by default (for premium accounts). Use --truncate flag for non-premium accounts (280 char limit).
When creating posts for the user:
Craft platform-appropriate content
Handle media attachments
-i flag (can be used multiple times for multiple images)-v flag (supports MP4, MOV, AVI, WebM)Include relevant elements
Post to platforms
post_all.py for simultaneous posting--text, -t Post content (required)
--image, -i Path to image file (can use multiple times)
--video, -v Path to video file
--url, -u URL to include
--title Title for link/image/video
--platforms, -p Specific platforms: linkedin twitter
--sequential Post one at a time instead of parallel
--text, -t Post content (required)
--image, -i Path to image file (can use multiple times)
--video, -v Path to video file
--url, -u URL for link preview
--title Title for link/image/video
--description Description for link/image/video
--text, -t Tweet content (required)
--image, -i Path to image (can use multiple times, max 4)
--video, -v Path to video file
--truncate Truncate to 280 chars (for non-premium accounts)
The scripts handle video uploads automatically:
For initial setup, refer to references/setup.md for detailed instructions on:
.env fileThe scripts require these environment variables in a .env file:
# LinkedIn
LINKEDIN_CLIENT_ID=
LINKEDIN_CLIENT_SECRET=
LINKEDIN_ACCESS_TOKEN=
# Twitter/X
TWITTER_API_KEY=
TWITTER_API_SECRET=
TWITTER_ACCESS_TOKEN=
TWITTER_ACCESS_TOKEN_SECRET=
TWITTER_BEARER_TOKEN=
get_token.py to refresh)linkedin_poster.py - Post to LinkedIn (text, images, videos, links)twitter_poster.py - Post to Twitter/X (text, images, videos)post_all.py - Post to all platformsget_token.py - LinkedIn OAuth token helperrequirements.txt - Python dependenciessetup.md - Detailed setup instructions for both platforms