damusix/ghost-mcp · Archived

ghost-writing

Use when writing, editing, or publishing Ghost blog posts with the ghost-mcp server. Covers compose_post vs use_ghost_api, the full Koenig block catalog, and blog-writing best practices.

First seen Jul 3, 2026

Installation

$ npx skills add damusix/ghost-mcp --skill ghost-writing

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

License LICENSE
Default branch main
Open issues 8
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,157 B
  • docs SUMMARY.md 207 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 2 installs

SKILL.md

Ghost Writing

Quick Start

compose_post { "title": "We shipped the editor", "status": "draft", "blocks": { "type": "heading", "level": 2, "text": "What changed" }, { "type": "paragraph", "text": "Prose with bold and [links." }, { "type": "callout", "emoji": "🚀", "color": "green", "text": "Live now" } ] }

Critical Rules

  1. Never push raw HTML — compose posts from Koenig blocks via compose_post. The html block is a last resort when no native block fits.
  2. Draft first — create with status: "draft", report the post URL, publish only when asked.
  3. Long posts use blockFile — write blocks JSON to an absolute path, validate with composelexical, pass the path to composepost.
  4. Updates replace the whole body — composepost with id needs the current updatedat (via posts.read) and full blocks; keep the blockFile as source of truth when iterating.
  5. Don't guess block fields — run koenighelp (list) or koenighelp { "block": "callout" } (fields + example) before composing.

Workflow

  1. Outline: one goal per post, working title, section list — see [writing](references/writing.md)
  2. Pick blocks per section: prose vs cards — see [blocks](references/blocks.md)
  3. Compose: compose_post with inline blocks, or blockFile for long posts
  4. Review: re-read for rhythm, set excerpt/tags/feature image
  5. Publish or schedule via useghostapi — see [workflows](references/workflows.md)

References

  • [Blocks](references/blocks.md) — every block type, its purpose, and how to choose between similar ones
  • [Writing](references/writing.md) — structure, rhythm, metadata, and voice practices for good posts
  • [Workflows](references/workflows.md) — tool map and end-to-end recipes: create, edit, publish, newsletter, members-only