Generate, schedule, and publish posts across 15 platforms — X, LinkedIn, Instagram, Threads, Facebook, YouTube, TikTok, Pinterest, Bluesky, Mastodon, Discord, Telegram, Tumblr, Google Business, and Slack — in your voice using AI. Manage preferences and track billing.
编程
PostKing · Social
试用Never run out of things to post. Generate, approve, and schedule across LinkedIn, X, Instagram, Threads, and Facebook, plus a recurring weekly cadence (Smart Week). Delivers a full, on-brand posting calendar without the daily grind.
它能做什么
Generate, approve, and schedule social posts on PostKing across LinkedIn, X, Instagram, Threads, and Facebook — plus content weeks and repurposing.
技能文档
PostKing Social
Handles the social-post lifecycle on PostKing: generating AI drafts, approving/scheduling them, running the recurring Smart Week cadence, repurposing existing content into new posts, and attaching visuals. Requires an active brand — use the postking skill's brand-pick flow first if one isn't set.
When to Use
Use this skill when the user wants to draft, approve, schedule, or reschedule a social post; set up or run a weekly/recurring posting cadence; turn a URL, blog article, or piece of text into platform posts; attach or change a post's image/card/quote/carousel; or browse trending posts for hook inspiration.
When NOT to Use
- Blog articles (writing, publishing, WordPress/Medium/Substack) →
postking-blog. - Landing pages or side pages →
postking-landing-pages. - Multi-channel campaign briefs and strategy (Storylines) →
postking-storylines. - Subreddit-specific matching or native Reddit rewrites →
postking-reddit. - Managing saved voice profiles themselves, or a standalone de-slop/AI-detection pass →
postking-brand-voice. - No active brand yet, or first-time social account connection →
postking-getting-started.
Minimal tool subset
list_brands,set_active_brand— brand context.check_social_accounts— confirm connected platforms before posting.generate_post,approve_post,schedule_post,reschedule_post,cancel_post,get_post,list_posts,get_calendar— the core post lifecycle.get_weekly_schedule,set_weekly_schedule,run_weekly_schedule_day— recurring cadence (Smart Week).repurpose_content— turn a URL/text/blog/post into new social drafts.generate_post_visual_options,pick_post_visual,regenerate_post_visual,clear_post_visual,generate_post_carousel— visuals.trends_list— trending-post hooks.
Procedure
Generate, approve, and schedule a post
generate_post({ platform, variations?, theme, voice?, brandId? })— ALWAYS passthemewith the specific topic/angle/tone the user wants; omitting it produces a random brand theme. This call polls until generation completes and already saves the result to a singlepostId(variation 1 is the primary, saved content — all variations live under that onepostId, never call it again to "get the others").- Show the variation(s) to the user; ask which one (if more than one) and what time.
approve_post({ postId, scheduledAt, timezone? })—scheduledAtis a future ISO 8601 datetime. This is the free-tier choke point. There is novariationparam on this MCP tool — via MCP you always approve the post's current saved content (variation 1). Picking a different generated variation to schedule is a CLI-only affordance (pking posts approve --variation N).get_calendar({ days })— confirm it appears in the upcoming schedule.
Plan a content week (Smart Week)
get_weekly_schedule({ brandId? })— view the current cadence, if any.set_weekly_schedule({ enabled?, leadTimeDays?, timezone?, voiceProfileId?, dayConfigs, brandId? })wheredayConfigsis an array of{ dayOfWeek (0=Sun…6=Sat), mediums: [{ medium, postsPerDay }] }. There are nomonday/tuesday/… params and the flag isenabled, notenable— those are CLI-only sugar.run_weekly_schedule_day({ date, brandId? })—dateisYYYY-MM-DD. This is the Smart Week engine; call it per day, or leave the scheduleenabledto run automatically.list_posts({ status: "created" })→get_post({ postId })to review each draft.approve_post({ postId, scheduledAt, timezone? })per draft.get_calendar({ days: 7 })— verify the final week.
Repurpose a URL, blog, or text into multi-platform posts
check_social_accounts({ brandId? })— confirm which platforms are connected.repurpose_content({ brandId, sourceType: "url", sourceUrl, targetType: "social", targetPlatforms: ["linkedin", "x"] })— PostKing crawls the URL internally; do not fetch it yourself.- Text input:
sourceType: "text", sourceContent: "". - From an existing blog:
sourceType: "blog", sourceBlogId:. - From an existing post:
sourceType: "social_post", sourcePostId:. - Optional:
angle,variations,voiceProfileIds(single ID applies to all platforms, or["x:id1","linkedin:id2"]per platform).
- Text input:
get_post({ postId })per generated post — inspect before scheduling.approve_post({ postId, scheduledAt })— free-tier choke point.get_calendar({})— confirm.
Pick a visual for a post
generate_post_visual_options({ postId, platform })— always run this first. Relay the numbered options to the user, especially the recommended one — the returned params ARE the spec, no need to render anything yourself.pick_post_visual({ postId, platform, style?, variant?, assetId?, slot?, kind? })— pass the chosen option's fields verbatim from step 1's response. There is no numericpickparam on the MCP tool (that's CLI-only sugar); you must supply one ofstyle,assetId, orslot, or the tool errors. Passkind: "quote"(or"card"/"photo"/etc.) when the chosen option is a quote/card template style — omittingkinddefaults to"card"and rejects quote styles.- "Show me more" →
regenerate_post_visual({ postId, platform, loadExternal: true })pulls additional stock results, then re-rungenerate_post_visual_options. clear_post_visual({ postId, platform })to remove a pick. For carousels: set cards first (set_post_cards/edit_post_card), thengenerate_post_carousel({ postId }).
Trends as hooks
trends_list({ niche?, platform?, days?, limit?, sort? }) — niches: ai-saas, marketing, web3 (default ai-saas); platform currently only x. The crawler runs every 3 days; default window is 3 days. Feed results into generate_post's theme or repurpose_content's angle for hook inspiration.
CLI fast path
| Goal | Command |
|---|---|
| Pick active brand | pking brand list / pking brand set |
| Generate a post | pking posts generate --platform linkedin --variations 3 --theme "..." |
| Approve & schedule (pick a variation) | pking posts approve --schedule 2026-08-01T14:00:00Z --variation 2 --timezone America/New_York |
| View calendar | pking posts calendar --days 7 |
| Plan a content week | pking weekly-schedule set --monday "linkedin:1,x:1" --timezone America/New_York --enable then pking weekly-schedule run-day --date |
| Repurpose a URL | pking repurpose --source-type url --source-url --target-type social --target-platforms linkedin,x |
| Visual options / pick | pking visuals options --platform → pking visuals pick --platform --pick |
| Trends | pking trends list --niche ai-saas --days 3 --json |
For the full command catalog, use the postking skill's references/commands.md, or run pking --help / pking --help.
Pitfalls
approve_posthas novariationparam via MCP. If the user wants a specific generated variation scheduled (not variation 1), that's a CLI-only affordance (--variation N); via MCP the only way is to work from the CLI, or use the visual editor link (editInVisualEditor, returned bygenerate_post/get_post) to edit the saved content directly.set_weekly_scheduleneedsdayConfigs, not per-day flags. Passingmonday/tuesday/etc. orenable(instead ofenabled) will fail validation.pick_post_visualneeds an explicitstyle/assetId/slot. There is no index-basedpickparam — always callgenerate_post_visual_optionsfirst and copy its fields.- Omitting
themeongenerate_postgives a random topic. Always pass it when the user wants specific content. - Visuals are never auto-attached.
generate_postprepares visual options but does not attach one — nothing changes untilpick_post_visualis called. INSUFFICIENT_CREDITS/FREE_CAP_REACHED— surface the error envelope'scheckoutUrlin one line and stop; don't retry or recap.
Verification
get_credits({ detail: "short" })— confirms auth and balance.check_social_accounts({})— confirms at least one connected platform.list_posts({ status: "created", limit: 1 })— confirms the brand/posts API is reachable.
相关技能
通过单一 API 在 Twitter/X、Facebook、Instagram、LinkedIn、TikTok、YouTube 上发布、调度和管理帖子。
通过 AdaptlyPost API 在 9 个社交平台调度、起草或发布帖子,发布前需用户逐项确认。
Generate a complete week of social media content for all platforms from a single topic or brand. Produces platform-optimized posts, a beautiful shareable HTML content calendar, hashtag suggestions, posting-time recommendations, and JSON export for scheduling tools.
Manage social media through PostNext - schedule, publish, and analyze posts across Twitter/X, Instagram, LinkedIn, Threads, YouTube, TikTok, and Bluesky via...
Generate a 7-day LinkedIn content plan from a theme, audience, and pillars. Produces per-day post pillar, format, hook type, CTA, posting time, daily comment...