ghost-content-manager
Manage Ghost blog drafts and content. Use when creating new posts, pushing draft changes, or syncing content with Ghost. Supports creating drafts, syncing from Ghost, and pushing modifications back.
When & Why to Use This Skill
The Ghost Content Manager skill streamlines the blogging workflow by automating interactions with the Ghost CMS via its Admin API. It bridges the gap between local content creation and web publishing, allowing users to programmatically manage drafts, sync content, and push updates. This tool is essential for creators looking to optimize their Ghost blog management through automated scripting and local file-based editing.
Use Cases
- Automated Drafting: Quickly scaffold new blog posts with standardized YAML frontmatter and HTML structures using simple CLI commands.
- Content Synchronization: Pull existing drafts from a Ghost site to a local environment for offline editing, backup, or bulk content auditing.
- Seamless Publishing Workflows: Push local modifications and edits back to the Ghost server, ensuring that the live CMS stays in sync with local development files.
- Bulk Content Management: Manage multiple blog posts simultaneously by editing local files and using the push-drafts script to update the CMS in one go.
| name | ghost-content-manager |
|---|---|
| description | Manage Ghost blog drafts and content. Use when creating new posts, pushing draft changes, or syncing content with Ghost. Supports creating drafts, syncing from Ghost, and pushing modifications back. |
| allowed-tools | Bash, Read, Glob, Write, Edit |
Ghost Content Manager
Manages Ghost blog content using Ghost Admin API.
Quick Commands
Create a new draft post:
node scripts/new-post.js my-post-slug "My Post Title"
Pull all drafts from Ghost:
node scripts/pull-drafts.js
Push modified drafts back to Ghost:
node scripts/push-drafts.js
Workflow
- Create: Use
node scripts/new-post.jsto scaffold local draft files - Edit: Edit the HTML files in
content/posts/drafts/orcontent/pages/drafts/ - Sync: Use
node scripts/pull-drafts.jsto refresh drafts from Ghost - Push: Use
node scripts/push-drafts.jsto sync edits back to Ghost
File Format
Drafts are .html files with YAML frontmatter:
---
title: My Post
slug: my-post-slug
id: 68b8cac28d91280001093ebb
status: draft
type: post
updated_at: "2025-01-15T10:30:00.000Z"
---
<p>Your content here...</p>
- New posts: Only need
titleandslug - After push: File is updated with
id,uuid,created_at,updated_at
Prerequisites
.envfile withGHOST_URLandGHOST_ADMIN_API_KEY- Run
npm installto install dependencies (dotenv, js-yaml)