social-media-poster

Post content to LinkedIn and Twitter/X from the command line. Supports posting to individual platforms or all platforms simultaneously.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "social-media-poster" with this command: npx skills add agentiveau/myagentive/agentiveau-myagentive-social-media-poster

Social Media Poster

Post content to LinkedIn and Twitter/X from the command line. Supports posting to individual platforms or all platforms simultaneously.

When to Use This Skill

Use this skill when the user requests:

  • Posting content to LinkedIn

  • Posting content to Twitter/X

  • Sharing updates on social media

  • Creating posts with images or videos

  • Cross-posting to multiple platforms

Supported Platforms

Platform Script Features

LinkedIn 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

Quick Usage

Post to All Platforms

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"

Post with Video

python scripts/post_all.py -t "Check out this video!" -v "./video.mp4"

Post with Multiple Images

python scripts/post_all.py -t "Photo gallery!" -i "./img1.jpg" -i "./img2.jpg" -i "./img3.jpg"

Post to LinkedIn Only

python scripts/linkedin_poster.py -t "Post text" -i "./image.jpg" -u "https://link.com" --title "Link Title"

Post to Twitter/X Only

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).

Creating Posts Workflow

When creating posts for the user:

Craft platform-appropriate content

  • LinkedIn: Professional tone, longer form, more hashtags acceptable

  • Twitter: Same content works for premium accounts (long-form supported)

Handle media attachments

  • Images: Use -i flag (can be used multiple times for multiple images)

  • Videos: Use -v flag (supports MP4, MOV, AVI, WebM)

  • LinkedIn supports up to 9 images per post

  • Twitter supports up to 4 images per tweet

Include relevant elements

  • Hashtags for discoverability

  • Links to referenced content

  • Images/videos for engagement

Post to platforms

  • Use post_all.py for simultaneous posting

  • Use individual scripts when content differs significantly between platforms

Command Reference

post_all.py

--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

linkedin_poster.py

--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

twitter_poster.py

--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)

Video Upload Details

LinkedIn Video Requirements

  • Format: MP4 only

  • Size: 75 KB to 500 MB

  • Length: 3 seconds to 30 minutes

  • Process: Chunked upload with automatic processing

Twitter Video Requirements

  • Format: MP4, MOV, AVI, WebM

  • Size: Up to 512 MB

  • Length: Up to 2 minutes 20 seconds (140 seconds)

  • Process: Chunked upload with async processing

Video Upload Process

The scripts handle video uploads automatically:

  • Initialize upload with file size

  • Upload in chunks (4MB for LinkedIn, 1MB for Twitter)

  • Finalize and wait for processing

  • Create post with processed video

First-Time Setup

For initial setup, refer to references/setup.md for detailed instructions on:

  • Creating LinkedIn Developer App

  • Creating Twitter/X Developer Account

  • Obtaining API credentials

  • Configuring the .env file

Environment Variables

The 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=

Platform Limitations

LinkedIn

  • Access token expires in ~60 days (run get_token.py to refresh)

  • Requires "Share on LinkedIn" product approval

  • Video processing may take 1-5 minutes

Twitter/X

  • Free tier: 1,500 tweets/month limit

  • Basic tier ($100/mo): 3,000 tweets/month

  • Requires OAuth 1.0a with Read+Write permissions

  • Video processing is async (longer videos take more time)

Resources

scripts/

  • 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 platforms

  • get_token.py

  • LinkedIn OAuth token helper

  • requirements.txt

  • Python dependencies

references/

  • setup.md
  • Detailed setup instructions for both platforms

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

twilio-phone

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

deepgram-transcription

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

email-himalaya

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

myagentive

No summary provided by upstream source.

Repository SourceNeeds Review