PosteAhora is a tool to schedule and publish social media posts to Instagram, TikTok, YouTube, X (Twitter), Facebook, LinkedIn, Threads, Bluesky and Discord — from your own code, terminal, CI, or an AI agent, via a CLI, an MCP server, or a REST API.
Social media scheduling & publishing CLI — plan, schedule and publish posts across Instagram, TikTok, YouTube, X (Twitter), Facebook, LinkedIn, Threads, Blue...
Alexander Osso
@sashadiz
What This Skill Does
CLI, MCP server, and REST API to schedule and publish social media posts across Instagram, TikTok, YouTube, X, Facebook, LinkedIn, Threads, Bluesky, and Discord. Supports media uploads, drafts, scheduling, and analytics retrieval.
Replaces manually posting to each social platform or using separate scheduling tools for each network by providing a single command-line interface to manage all major channels.
When to Use It
- Schedule a promotional post to publish simultaneously on Instagram, Twitter, and LinkedIn at a specific time
- Upload a video file and attach it to a TikTok or YouTube post from a CI/CD pipeline
- Create a draft post for client review before publishing to Facebook and Threads
- Pull analytics data for all connected social accounts to measure post performance
- Publish a breaking news update immediately to X, Facebook, and Discord from a terminal script
- Automate a weekly content calendar by scripting recurring posts across multiple platforms
Install
$ openclaw skills install @sashadiz/posteahoraPosteAhora
Schedule and publish social media posts across every major network from the command line, powered by PosteAhora. Use this skill to create, schedule, publish and manage social content, organize a content-idea backlog, upload media, and read analytics on the user's behalf.
Install PosteAhora CLI if it doesn't exist
Check whether the CLI is available:
posteahora --version
If it isn't installed:
npm install -g @posteahora/cli
# or
pnpm install -g @posteahora/cli
The installed command is posteahora. It can also run via npx @posteahora/cli.
Official resources
- Website: https://posteahora.com
- Docs: https://posteahora.com/docs
- API reference: https://posteahora.com/docs/api
- CLI on npm: https://www.npmjs.com/package/@posteahora/cli
- CLI on GitHub: https://github.com/posteahora/cli
- MCP server: https://github.com/posteahora/mcp
| Property | Value |
|---|---|
| name | posteahora |
| description | Social media scheduling CLI for publishing across Instagram, TikTok, YouTube, X, Facebook, LinkedIn, Threads, Bluesky and Discord |
| command | posteahora |
| allowed-tools | Bash(posteahora:*) |
⚠️ Authentication Required
You MUST authenticate before running any other command. Every command fails without a valid key.
Check status first:
posteahora auth
If not authenticated, the user creates an API key in the app under
Settings → API & integrations (it looks like pah_live_…), then:
posteahora auth --key pah_live_xxxxxxxx
The key is validated and stored in ~/.posteahora/config.json. It can also be
supplied via the POSTEAHORA_API_KEY environment variable (useful in CI). Never
print, log, or echo the key.
Core workflow
Follow this order for any publishing task:
- Authenticate —
posteahora auth - Discover accounts —
posteahora accountsto get the account ID for each platform. You cannot post without an explicit account ID. - Upload media (optional) —
posteahora upload <file>→ returns a public URL to pass to--media. - Create / schedule / publish —
posteahora post … - Verify —
posteahora posts(or--json) to confirm status. - Analyze (optional) —
posteahora analytics.
Command reference
Authentication
posteahora auth --key pah_live_xxxx # save & validate a key
posteahora auth # show current status
posteahora logout # remove the saved key
Accounts
posteahora accounts # human-readable table
posteahora accounts --json # machine-readable
Each row includes platform, username, the account id, and connection status.
Use the id in --to platform:accountId.
Create a post
# Publish now to one or more channels
posteahora post "Launch day 🚀" --to twitter:a1b2 --to linkedin:c3d4
# Schedule for a future time (ISO 8601)
posteahora post "Morning tip" --to instagram:e5f6 --at 2026-07-20T09:00:00Z
# Draft only (nothing goes live)
posteahora post "Draft idea" --to twitter:a1b2 --draft
# With uploaded media
posteahora upload ./reel.mp4
posteahora post "New reel" --to instagram:e5f6 --media https://cdn.posteahora.com/… --at 2026-07-20T09:00:00Z
post options
--to platform:accountId— target channel (repeatable or comma-separated) (required)--media <url>— attach media (repeatable; fromupload)--at <ISO 8601>— schedule for a future time (else publish now)--draft— create a draft instead of publishing--title,--hashtags a,b,--media-type image|video,--post-type post|reel|story--json— machine-readable output
Manage & analyze
posteahora posts --status scheduled # list posts by status
posteahora ideas add "5 hooks" --tags launch # add a backlog idea
posteahora ideas list
posteahora analytics --period 30d # performance across platforms
posteahora upload ./photo.jpg # upload media → public URL
Handling account IDs
The user will describe channels by name ("post to my Instagram and X"). Map each
name to a real account ID by running posteahora accounts and matching the
platform/username. Never guess an ID, and never fall back to "the first
account" — if a requested platform has no connected account, tell the user and
skip it.
Guardrails
- Publishing is outward-facing and hard to undo. Before running
posteahora postWITHOUT--draft, confirm the caption, channels, and time with the user. When unsure, create a--draftand ask. - Scheduled times must be in the future and ISO 8601.
- Never invent media URLs, analytics numbers, or claims in captions.
- Respect each platform's limits (e.g. X character count) — offer a per-platform caption instead of silently truncating.
- If a command fails, report the exact error message and stop; do not retry blindly.
- Never print or store the API key.
Errors
- "No API key…" — run
posteahora auth --key pah_live_…(or setPOSTEAHORA_API_KEY). --at must be in the future— the scheduled time is in the past; pick a future ISO 8601 timestamp.Invalid --to …— the value isn'tplatform:accountId; runposteahora accountsand use a real ID.- HTTP 401 / 403 — key invalid or lacking scope; re-auth with a full-access key.
- HTTP 429 — rate limited; wait and retry.
See also
- QUICK_START.md — the fastest path to a published post.
- FEATURES.md — full capability list.
- PLATFORMS.md — per-platform support.
- PUBLISHING.md — how publishing & scheduling work.
- SUPPORTED_FILE_TYPES.md — accepted media formats.
- examples/ — ready-to-run command examples.
Top skills in this category
Agent Browser
@matrixyHeadless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection
Using Superpowers
@zlc000190Use when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions
Edge TTS
@i3130002Text-to-speech conversion using node-edge-tts npm package for generating audio from text. Supports multiple voices, languages, speed adjustment, pitch control, and subtitle generation. Use when: (1) User requests audio/voice output with the "tts" trigger or keyword. (2) Content needs to be spoken rather than read (multitasking, accessibility, driving, cooking). (3) User wants a specific voice, speed, pitch, or format for TTS output.
novel-generator 是一个中文爽文小说生成技能。用户只需提供一句话方向(如"写个都市重生爽文"),AI 代理即可自动完善提示词、规划大纲、逐章创作并输出为独立 Markdown 文件。 核心特性: 智能提示词生成:从一句话方向自动补全世界观、人设、冲突、爽点设计 分章节创作:每章 2000-3000 字,层层递进,章章有爽点 记忆系统:通过 .learnings/ 记录角色、地点、情节、世界观,确保故事前后一致 情节图解:关键战斗、人物关系、势力分布自动生成 Mermaid 图 失败记录:穿帮、矛盾、崩塌等问题自动记录,持续优化 多题材支持:都市、修仙、玄幻、重生、系统流、末世、科幻、游戏 兼容 Claude Code、Cursor、OpenAI Codex、GitHub Copilot 等所有支持 Agent Skills 的工具。
@ityhg根据用户提供的内容方向自动生成提示词并创作爽文小说。适用场景:(1) 用户提供小说方向/题材/关键词,(2) 需要生成章节连贯的长篇爽文,(3) 需要维护角色、地点、情节的连续性,(4) 需要为关键情节生成图解,(5) 需要记录生成失败场景以优化后续创作。支持都市、修仙、玄幻、重生、系统流等多种题材。Use wh...
Openclaw Agent Optimize
@phenomenonerUse when: you want a structured audit -> options -> recommended plan to improve an OpenClaw workspace (cost, model routing, context discipline, delegation, r...