ghost-publish
Skill0 starsChanged 2 days agoMITView on GitHub
Create and manage new posts or pages on a Ghost site through the Admin API with a custom integration key, with full SEO fields (meta title, meta description, canonical URL, Open Graph, head code injection for JSON-LD or robots), drafts by default, an internal #sitetiller tag, and a local ownership ledger that refuses to edit anything the tool did not create. Use when the user runs Ghost or Ghost(Pro) and asks 'publish to Ghost', 'Ghost Admin API', 'create Ghost post by API', 'set canonical in Ghost', or 'unpublish what SiteTiller made'. Uses sitetiller ghost.
- Reads credentials
2 other projects use a version of this.
Adopted by
Most recently taken up by
- kevin-burns/ghost-publishtheir own version, first seen Aug 14, 2026
- kevin-burns/claude-skillstheir own version, first seen Aug 13, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- kevin-burns/claude-skills★ 10same name
- kevin-burns/ghost-publish★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository44 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agent-readySkill
- ai-citationsSkill
- ai-crawlersSkill
- ai-logsSkill
- ai-trackerSkill
- backlinksSkill
- cannibalizationSkill
- canonicalsSkill
- citabilitySkill
- comparison-pagesSkill
- competitorsSkill
- content-briefSkill
- content-decaySkill
- content-qualitySkill
- core-web-vitalsSkill
- ecommerce-seoSkill
- ga4-aiSkill
- gsc-bingSkill
- hreflangSkill
- imagesSkill
- indexingSkill
- internal-linksSkill
- llms-txtSkill
- local-seoSkill
- measure-rollbackSkill
- onpageSkill
- platformsSkill
- pseo-quality-gateSkill
- quick-winsSkill
- redirects-migrationSkill
- schemaSkill
- seo-planSkill
- seo-reportSkill
- setupSkill
- site-architectureSkill
- sitemapsSkill
- static-site-publishSkill
- sxoSkill
- tech-auditSkill
- titles-metaSkill
- topic-clustersSkill
- weekly-checkSkill
- wordpress-publishSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 0 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Put the key in an environment variable on their machine: GHOST_ADMIN_API_KEY.
- Very specific: line 16
Use the admin URL over https (Ghost(Pro): https://<name>.ghost.io).
- Very specific: line 19
Write the page as HTML (page.html), with a head snippet if needed (head.html, for JSON-LD from npx sitetiller schema-gen article ...).
- Very specific: line 25
Add --type pages for a page instead of a post.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Ghost publishing
Goal: add new pages to a Ghost site with every SEO field set, without any way to change the owner's existing posts.
Setup (the user does this)
- Ghost Admin > Settings > Integrations > Add custom integration. Copy the Admin API key (
<id>:<secret>) and the API URL. - Put the key in an environment variable on their machine:
GHOST_ADMIN_API_KEY. Never paste it into chat. - Use the admin URL over https (Ghost(Pro):
https://<name>.ghost.io).
Steps
- Write the page as HTML (
page.html), with a head snippet if needed (head.html, for JSON-LD fromnpx sitetiller schema-gen article ...). - Create a draft:
Addnpx sitetiller ghost create https://example.ghost.io --title "Title" --html-file page.html \ --meta-title "Title tag" --meta-description "150 characters..." --slug my-page --head-file head.html --json--type pagesfor a page instead of a post. Output:id,url,status(draft),owned: true. The post carries the internal tag#sitetillerand is recorded in.sitetiller/owned.json. - Review in Ghost Admin, then publish:
Updates read the post first and send itsnpx sitetiller ghost update https://example.ghost.io --id <id> --status published --jsonupdated_at, which Ghost requires to prevent overwriting newer edits. - Snapshot the live URL for measurement:
npx sitetiller version snapshot <url> --label "v1". - To roll back:
npx sitetiller ghost unpublish https://example.ghost.io --id <id>(back to draft).
Writable fields: title, html, slug, status, custom_excerpt, meta_title, meta_description, canonical_url, og_image, og_title, og_description, feature_image, codeinjection_head. Anything else (authors, tags, visibility) is ignored.
Guardrails
- The tool refuses ids not in the ledger: "Existing pages are never edited." Do not work around it by editing the ledger.
- New content starts as a draft; publishing is a separate, explicit step the user approves.
- Ghost has no noindex field; if a page must not be indexed, put
<meta name="robots" content="noindex">incodeinjection_headand say so. - Members-only or paid visibility is not changed by this tool.
References
references/sources.md: Ghost Admin API docs, checked 2026-11-13.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

