ajianaz/codomate/ghost-admin-api
Claude Code and agent skill by ajianaz/codomate
- community
Checking that the SKILL.md file is still in the repository.
Interact with Ghost CMS Admin API — publish posts, manage pages/tags/members, upload images, send newsletters.
Install
npx vskill@latest install ajianaz/codomate/ghost-admin-apiSKILL.md
Ghost Admin API Skill
Manage Ghost CMS via Admin API — publish posts, manage content, upload images, send newsletters. Works with any self-hosted Ghost 5.x/6.x instance.
When to Use
- Publish/update/delete blog posts
- Create or manage pages, tags, members
- Upload images to Ghost media library
- Send or schedule newsletters
- Read site stats and analytics
Setup
Prerequisites
- Ghost Admin API Key (format:
{24hex}:{64hex}) - Get it: Ghost Admin → Settings → Integrations → Add Custom Integration → Copy Admin API Key
- PyJWT:
pip install PyJWT
Environment
Module
The GhostAdmin class is documented here but NOT installed as a pip package. Copy it from references/code_examples.md inline into your script.
Verify
Quick Reference
| Operation | Method | Path | |
|---|---|---|---|
| Create post | POST | /posts/?source=html | |
| List posts | GET | /posts/ | |
| Update post | PUT | /posts/{id}/?source=html | |
| Delete post | DELETE | /posts/{id}/ | |
| Upload image | POST | /images/upload/ | |
| List tags | GET | /tags/ | |
| Create tag | POST | /tags/ | |
| List members | GET | /members/ | |
| Site info | GET | /site/ | |
| Send newsletter | PUT | /posts/{id}/?newsletter={slug}&email_segment=all |
Full endpoint reference →references/api_endpoints.md
Authentication
Ghost Admin API uses JWT tokens generated from the Admin API Key:
Required headers for every request:
Key Rules
- `User-Agent` header required — Cloudflare blocks without it (1010 error)
- `Accept-Version` — must match your Ghost version
- Nested format —
{"posts": [...]},{"tags": [...]}, etc. - `updated_at` required for PUT — always GET first to prevent conflicts
- `?source=html` is CRITICAL — without it,
htmlfield is silently ignored → empty post - Newsletter = 2-step — create draft, then PUT with query params
- `?formats=html,lexical` — default GET returns empty html field
- Max 100 results per request (
?limit=allcaps at 100) - JWT expires in 5 min — regenerate per request
- DELETE returns 204 — empty body, do NOT
json.loads() - ⚠️ ALWAYS VERIFY after publish — GET post back, verify
htmlis non-empty - `newsletter` field in POST body is silently ignored — use PUT query params instead
Content Formats
| Format | How to Send | Notes | |
|---|---|---|---|
| HTML (recommended) | ?source=html + "html": "..." | Auto-converts to Lexical | |
| Lexical (native) | "lexical": "..." | Full fidelity — see references/content-formats.md |
Styled HTML (<div>,style,class) requires<!--kg-card-begin: html-->wrapper.
Lexical Builder
For programmatic post building, use references/lexical_builder.py — copy functions inline into your script:
References
| File | Description | |
|---|---|---|
references/api_endpoints.md | Complete API endpoint reference (all resources, params, bodies) | |
references/code_examples.md | GhostAdmin Python class + usage examples | |
references/workflows.md | Common workflows: publish, schedule, newsletter, bulk audit | |
references/pitfalls.md | Common errors, gotchas, and fixes | |
references/content-formats.md | Lexical format details and HTML conversion | |
references/lexical_builder.py | Python helper functions to build Lexical JSON |
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/ghost-admin-api/SKILL.md
Popularity
- 7-day trend score
- 0
Refreshed 8 Oct 2026, a month ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ajianaz/codomate/ghost-admin-api)