posteverywhere
Skill2 starsChanged 3 months agoMITView on GitHub
Schedule and publish social media posts to Instagram, TikTok, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Telegram, Discord and WordPress blogs. Use when the user asks to post, schedule, draft, or analyze social media content, or to list their connected social accounts.
- Reads credentials
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Run commands with npx @posteverywhere/cli <command> (or posteverywhere <command> if installed).
- Very specific: line 49
Add --wp-status draft to save it as a WordPress draft instead of publishing.
- Distinctive: line 56
Check it rather than guessing — the limits differ by two orders of magnitude (Bluesky 300 characters, Instagram 2,200, Facebook 63,206) and …
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PostEverywhere
Manage a user's social media through the PostEverywhere CLI. Every command prints JSON.
If PostEverywhere MCP tools are available in this session, prefer them over the CLI —
they need no local install and no key handling. The workflow and the rules below are the
same either way; list_accounts maps to accounts, create_post to post, and so on.
Fall back to the CLI when the tools are absent, or when the user wants it run in a terminal
or in CI.
Setup (once)
Authenticate one of two ways:
- Interactive:
posteverywhere loginopens the browser; the user approves a short code and a scoped key is saved locally. Thenposteverywhere connect <platform>to add accounts (instagram, tiktok, youtube, linkedin, facebook, x, threads, pinterest = browser OAuth; bluesky/telegram/discord/wordpress = the CLI prompts for credentials). - Non-interactive (CI / headless agents):
export POSTEVERYWHERE_API_KEY=pe_live_...(from posteverywhere.ai → Settings → Developers).
To give a coding agent the PostEverywhere MCP tools instead, run posteverywhere connect (no platform). It adds the hosted server https://mcp.posteverywhere.ai to Claude Code, Cursor, Codex, Gemini CLI, Windsurf, Cline and Zed, and the user signs in inside each agent. --dry-run shows the changes first; --remove undoes them.
Run commands with npx @posteverywhere/cli <command> (or posteverywhere <command> if installed).
Always start here
posteverywhere whoami— confirms the key works and shows the plan/quota.posteverywhere accounts— lists connected accounts. You need the numeric accountids to post. If empty, runposteverywhere connect <platform>(or tell the user to connect in the dashboard).
Core workflow
Publish now to accounts 123 and 456:
posteverywhere post -c "Launch day! 🚀" -a 123,456Schedule (ISO-8601 UTC; include -s):
posteverywhere post -c "Weekly tips thread" -a 123 -s 2026-07-01T09:00:00ZWith an image or video — import it first, then attach the returned media_id:
posteverywhere upload https://example.com/photo.jpg # image → media_id, ready immediately
posteverywhere upload https://example.com/reel.mp4 # MP4 video (≤4GB) → media_id with status "uploading"
# videos import async: check until ready before posting
posteverywhere post -c "New drop" -a 123 -m <media_id>WordPress blog post (the body file takes # headings, bold, lists, links, Image: caption or raw HTML; the first image is the featured image):
posteverywhere post -a 789 --title "Our spring update" --body-file post.md --tags news,product --categories News -m <media_id>Add --wp-status draft to save it as a WordPress draft instead of publishing. A blog post needs a title (--title or a leading # Heading).
Before you compose for an unfamiliar platform
posteverywhere platform-rules returns the character limit, image/video constraints and
supported features (threads, carousels, reels, alt text) for every platform. Add a platform
name for one: posteverywhere platform-rules tiktok.
Check it rather than guessing — the limits differ by two orders of magnitude (Bluesky 300 characters, Instagram 2,200, Facebook 63,206) and TikTok rejects images outside its pixel ceiling server-side. These values are server-authoritative, so a newly supported platform appears here with no update to this skill.
Checking results
posteverywhere posts --status published --limit 10— recent postsposteverywhere results <postId>— per-platform success/failure for one postposteverywhere retry <postId>— retry any failed platformsposteverywhere account:health <id>— why an account can't post (e.g. needs reconnect)
Other
posteverywhere caption -t "summer sale" --platform instagram --tone playful— AI captionsposteverywhere analytics --period month— performance summaryposteverywhere campaigns— list campaigns
Rules
- Always
accountsbeforepost— never guess account ids. - Check
platform-rulesbefore composing for a platform you haven't posted to — cheaper than a rejected publish. - Always confirm content + target accounts with the user before publishing. Keep a human in the loop.
- Times are UTC ISO-8601. Omit
-sto publish immediately. - On error the CLI prints
{"error": "..."}to stderr and exits non-zero — read it and relay the cause (often: account needs reconnect, out of quota, or media not ready).
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

