SEO/GEO content engine. Seed, cluster, roadmap, brief, write, and publish — turning keywords into live articles. Delivers a compounding pipeline of organic traffic and AI-citation-friendly content, month over month.
文档
PostKing · Blog
试用Publish blogs that build authority and traffic. Generate, refine, and ship articles PostKing-hosted or pushed to WordPress, Medium, or Substack. Delivers a steady stream of SEO-ready articles without the writer's block.
它能做什么
Create blog publications and generate, iterate on, and publish articles on PostKing — hosted, or pushed to WordPress, Medium, or Substack.
技能文档
PostKing Blog
Handles the blog lifecycle on PostKing: publications (the containers articles live under), AI article generation, review/editing, and publishing — either to the PostKing-hosted blog or out to connected external platforms. 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 create or manage a blog publication; generate, review, edit, or rewrite a blog article; publish an article (hosted or external); check on an in-progress generation; or manage blog authors/categories.
When NOT to Use
- Social posts, content weeks, or repurposing to social →
postking-social. - Landing pages or side pages →
postking-landing-pages. - The SEO/GEO keyword-to-roadmap pipeline (seeds → keywords → clusters → briefs) that eventually produces briefs for articles →
postking-seo. This skill covers direct/manual blog generation and publishing, not that pipeline's brief-to-article automation. - Saved voice profile management or a standalone de-slop pass →
postking-brand-voice. - No active brand yet →
postking-getting-started.
Minimal tool subset
list_publications,create_publication,update_publication,list_blogs— publications.generate_blog_post,get_blog_status,get_job— async generation + polling.get_blog_article,update_blog_article,rewrite_text— review and iterate.publish_blog_article,list_publishing_connections,schedule_blog_article— publishing.list_blog_authors,create_blog_author,list_blog_categories,create_blog_category— metadata.import_blog_articles,delete_blog_article— housekeeping.
Procedure
Set up a publication
list_publications({ brandId? })(orlist_blogs, which also returns astatusBreakdownof existing articles) — find an existing publication.create_publication({ title, description?, layout?, brandId? })if none exists — returns apublicationId.
Generate a blog article
generate_blog_post({ publicationId, topic, voiceProfileId?, targetLength?, primaryKeywords?, secondaryKeywords?, brandId? })— note the param names:primaryKeywords/secondaryKeywords, notkeywords;targetLength(short/medium/long), notlength. Async; returnsarticleId+operationId.- Poll
get_blog_status({ articleId }), orget_job({ pollUrl: operationId, brandId, wait: true }), until status iscompleted(orfailed). get_blog_article({ articleId })— review the draft (full content, SEO fields,previewUrl,editUrl).
Review and iterate
update_blog_article({ articleId, title?, content?, excerpt?, status?, metaTitle?, metaDescription?, authorId?, categoryId? })for direct edits — only the fields you pass are changed.rewrite_text({ text, voice?, platform: "blog" })to polish a specific passage, then paste the result back in viaupdate_blog_article.- Re-run
generate_blog_postwith a refinedtopic/primaryKeywordsfor a fresh pass instead of patching piecemeal changes.
Publish
- PostKing-hosted:
update_blog_article({ articleId, status: "published" })makes it live on the brand's PostKing blog immediately. - Scheduled hosted publish:
schedule_blog_article({ articleId, scheduledAt })— future ISO 8601 datetime; auto-publishes (and auto-pushes to anyautoPublish-flagged external connections) when the time arrives. - External (WordPress / Medium / Substack, connected via the dashboard):
list_publishing_connections({ publicationId })to find connection IDs, thenpublish_blog_article({ articleId, connectionIds: [...] }). get_blog_status({ articleId })— confirm the final status and get the live URL(s).
CLI fast path
| Goal | Command |
|---|---|
| List publications / articles | pking blogs list [--status draft|published] / pking publications list |
| Create a publication | pking publications create --title "..." [--description "..."] |
| Generate a blog | pking blogs generate --publication --topic "..." [--keywords "kw1,kw2"] [--voice ] [--length short|medium|long] --wait |
| Check generation status | pking blogs status |
| View an article | pking blogs view |
| Publish (hosted, or external via connections) | pking blogs publish [--connections ] |
| Delete | pking blogs delete |
For the full command catalog, use the postking skill's references/commands.md, or run pking blogs --help / pking publications --help.
Pitfalls
generate_blog_postparam names:primaryKeywords/secondaryKeywordsandtargetLength, notkeywords/length. Passing the wrong names silently drops them (extra zod fields are ignored, not errored).- Hosted publish vs. external publish are different tools.
publish_blog_articlerequires a non-emptyconnectionIdsarray — it's for pushing to external platforms, not for making the PostKing-hosted copy live. Useupdate_blog_article({ status: "published" })for that. - No
pking blogs auto-assign-ctaCLI command exists. If the user wants a CTA auto-assigned to a piece of content, that capability is the MCP toolseo_auto_assign_cta(owned by thepostking-seoskill's surface) — don't invent a CLI equivalent. - Generation is async and can take a couple of minutes. Poll
get_blog_statusorget_jobrather than assuming failure early;get_jobsupportswait: trueto block instead of polling manually. update_blog_articleis a partial update. Omitted fields are left unchanged — no need to resend the whole article to change one field.
Verification
get_credits({ detail: "short" })— confirms auth and balance.list_publications({})— returns at least one publication once set up (or an empty list if none created yet, which is expected pre-setup).
相关技能
SEO/GEO content engine. Seed, cluster, roadmap, brief, write, and publish — turning keywords into live articles. Delivers a compounding pipeline of organic traffic and AI-citation-friendly content, month over month.
Write technical blog posts as a professional tech blogger, following a strict structure, conversational style, and Markdown formatting. Output is rendered into a standalone HTML file. Use when the user asks to write, draft, or produce a technical blog post, tutorial, tech article, or dev-focused exp
七阶段流水线,把一个技术想法打磨成面向开发者的成稿,每个阶段都有确认点。
Publish to Medium without an API token. Medium closed its API to new integrations in Jan 2025, so this skill uses the one stable path left: it writes your post as Medium-ready HTML, deploys it to your own GitHub Pages, and uses Medium's URL importer to create a draft. Say 'blog about X' and it scaffolds your blog repo on first run, then drafts each post end to end. It always stops at a draft for your review and never auto-publishes. Needs GitHub, Medium, and the gh CLI.
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.