Install
$ agentstack add skill-publora-skills-x-post ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
X/Twitter Post
Create and schedule posts to X (Twitter) using the Publora MCP server. Supports text posts, images (up to 4), videos, and automatic thread splitting for long-form content.
Prerequisites
Plans: Pro ($2.99/account/month), Premium ($9.99/account/month)
Important: X/Twitter is NOT available on the free Starter plan due to Twitter API costs.
Getting Started
- Create account at publora.com/register
- Choose Pro or Premium plan (X/Twitter requires paid plan)
- Connect X/Twitter via OAuth in Publora Dashboard
- Get API key at publora.com/settings/api
- Configure MCP in Claude Desktop (
~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"publora": {
"type": "http",
"url": "https://mcp.publora.com",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
REST API Fallback
If MCP is unavailable, use the REST API directly:
Base URL: https://api.publora.com/api/v1
Authentication: x-publora-key header
# Get connected platforms
curl -X GET "https://api.publora.com/api/v1/platform-connections" \
-H "x-publora-key: sk_your_api_key"
# Create a post
curl -X POST "https://api.publora.com/api/v1/create-post" \
-H "x-publora-key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"platforms": ["twitter-123456789"],
"content": "Your tweet content",
"scheduledTime": "2026-03-25T10:00:00Z"
}'
Platform ID Format: twitter-{id} (e.g., twitter-123456789)
📖 Docs: docs.publora.com
Plan Limits
| Plan | Posts/month | Price | |------|-------------|-------| | Starter | Not available | Free | | Pro | 100/account | $2.99/account/month | | Premium | 500/account | $9.99/account/month |
Platform Limits
| Feature | API Limit | Notes | |---------|-----------|-------| | Characters | 280 | Emojis count as 2 characters | | Images | Up to 4 | Auto-converted to PNG (max 1000px width) | | Video duration | 2 minutes | API limit (native app allows 2:20) | | Video size | 512 MB | MP4, MOV formats | | Threading | Automatic | Content over 280 chars split with (1/N) markers |
Character Counting
X has specific character counting rules that Publora handles automatically:
- Standard characters = 1
- Emojis = 2 characters
- URLs counted by literal length
- Thread markers reserve 10 characters per tweet
Auto-Threading
When content exceeds 280 characters, Publora automatically creates a connected thread:
- Content split at paragraph breaks, then sentence boundaries, then word boundaries
- Each part numbered with
(1/N),(2/N)format - Tweets connected via X's
reply_to_idparameter
Manual Thread Breaks
Use --- on its own line to force a thread break:
This is my first tweet in the thread.
---
This is my second tweet in the thread.
---
And this is my third tweet!
Available Tools
create_post
Create a new X/Twitter post or thread.
Parameters:
platforms: Array with your X connection ID (e.g.,["twitter-12345678"])content: Post text (auto-threads if over 280 chars)scheduledTime: ISO 8601 datetime (required - for immediate posting, use current time + 1 minute)
getuploadurl
Get presigned URL for media uploads.
Parameters:
postGroupId: Post ID to attach media tofileName: File name (e.g., "image.png", "video.mp4")contentType:image/png,image/jpeg,video/mp4type:"image"or"video"
listposts / updatepost / delete_post
Manage scheduled and draft posts.
Examples
Simple Tweet
Post this to X:
"Just shipped our new API documentation. Check it out!"
Tweet with Images
Post this to Twitter with screenshots of the new dashboard:
"Before and after our redesign. What do you think?"
Note: Up to 4 images allowed. All images auto-converted to PNG.
Long-Form Thread
Create a Twitter thread:
"Thread: 5 lessons from building our startup
---
1. Ship early, iterate fast. We launched with a buggy MVP and improved based on real feedback.
---
2. Talk to users daily. Our best features came from customer conversations.
---
3. Focus beats features. We killed 3 products to focus on the one that worked."
Scheduled Tweet
Schedule this for tomorrow at 9 AM:
"Monday motivation: Start before you're ready."
Important Restrictions
- Pro plan required: X/Twitter is excluded from the free Starter plan due to Twitter API costs.
- 2-minute video limit: The X API limits videos to 2 minutes, even though the native app allows longer videos.
- Image auto-conversion: All images are converted to PNG (max 1000px width) before upload. Animated GIFs lose animation.
- No image+video mix: A tweet can have images OR video, not both.
- Media on first tweet only: In threads, images/video attach to the first tweet only.
Best Practices
Content
- Hook in first line: Most engagement happens on the first tweet
- Optimal thread length: 3-7 tweets for best engagement
- Emoji awareness: Remember emojis count as 2 characters
Timing
- Best times: 8-10 AM, 12-1 PM, 5-6 PM in target timezone
- Frequency: 3-5 tweets per day for growth
- Threads: Post in morning for maximum visibility
Engagement
- Reply to comments within the first hour
- Quote tweet your own threads for visibility
- Use relevant hashtags (1-2 per tweet)
Troubleshooting
| Error | Cause | Solution | |-------|-------|----------| | "X/Twitter requires Pro plan" | Using Starter plan | Upgrade to Pro at publora.com/settings | | "Content too long" | Over 280 chars and threading failed | Add manual --- breaks | | "Video too long" | Over 2 minutes | Trim video to under 2 minutes | | "Too many images" | More than 4 images | Reduce to 4 or fewer | | "Rate limit exceeded" | X API limit reached | Wait and retry |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: publora
- Source: publora/skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.