ecto
Ghost.io blog management via Admin API.
Setup & Installation
Install command
clawhub install visionik/ectoIf the CLI is not installed:
Install command
npx clawhub@latest install visionik/ectoOr install with OpenClaw CLI:
Install command
openclaw skills install visionik/ectoor paste the repo link into your assistant's chat
Install command
https://github.com/openclaw/skills/tree/main/skills/visionik/ectoWhat This Skill Does
CLI for Ghost.io's Admin API. Manages posts, pages, tags, images, and webhooks across one or more Ghost sites. Outputs JSON for scripting and supports markdown files and stdin as content sources.
Lets you manage Ghost content entirely from the terminal or CI/CD pipelines, without opening the Ghost admin UI.
When to Use It
- Publishing a markdown file directly as a Ghost blog post
- Scheduling a draft post to go live at a specific date and time
- Batch-publishing all draft posts in a single shell command
- Creating and organizing tags across a Ghost blog
- Registering webhooks to trigger external services on post events
View original SKILL.md file
# ecto - Ghost.io Admin API CLI Manage Ghost.io blogs via the Admin API. Supports multi-site configuration, markdown-to-HTML conversion, and JSON output for scripting. ## Quick Reference ### Authentication ```bash ecto auth add <name> --url <ghost-url> --key <admin-api-key> ecto auth list ecto auth default <name> ecto auth remove <name> ``` Environment overrides: `GHOST_URL`, `GHOST_ADMIN_KEY`, `GHOST_SITE` ### Posts ```bash ecto posts [--status draft|published|scheduled|all] [--limit N] [--json] ecto post <id|slug> [--json] [--body] ecto post create --title "Title" [--markdown-file file.md] [--stdin-format markdown] [--tag tag1,tag2] [--status draft|published] ecto post edit <id|slug> [--title "New Title"] [--markdown-file file.md] [--status draft|published] ecto post delete <id|slug> [--force] ecto post publish <id|slug> ecto post unpublish <id|slug> ecto post schedule <id|slug> --at "2025-01-25T10:00:00Z" ``` ### Pages ```bash ecto pages [--status draft|published|all] [--limit N] [--json] ecto page <id|slug> [--json] [--body] ecto page create --title "Title" [--markdown-file file.md] [--status draft|published] ecto page edit <id|slug> [--title "New Title"] [--markdown-file file.md] ecto page delete <id|slug> [--force] ecto page publish <id|slug> ``` ### Tags ```bash ecto tags [--json] ecto tag <id|slug> [--json] ecto tag create --name "Tag Name" [--description "desc"] ecto tag edit <id|slug> [--name "New Name"] [--description "desc"] ecto tag delete <id|slug> [--force] ``` ### Images ```bash ecto image upload <path> [--json] ``` ### Site Info ```bash ecto site [--json] ecto settings [--json] ecto users [--json] ecto user <id|slug> [--json] ecto newsletters [--json] ecto newsletter <id> [--json] ``` ### Webhooks ```bash ecto webhook create --event <event> --target-url <url> [--name "Hook Name"] ecto webhook delete <id> [--force] ``` Events: `post.published`, `post.unpublished`, `post.added`, `post.deleted`, `page.published`, etc. ## Multi-Site Use `--site <name>` to target a specific configured site: ```bash ecto posts --site blog2 ``` ## Common Workflows Create and publish from markdown: ```bash ecto post create --title "My Post" --markdown-file post.md --tag blog --status published ``` Pipe content from stdin: ```bash echo "# Hello World" | ecto post create --title "Quick Post" --stdin-format markdown ``` Schedule a post: ```bash ecto post schedule future-post --at "2025-02-01T09:00:00Z" ``` Batch publish drafts: ```bash for id in $(ecto posts --status draft --json | jq -r '.posts[].id'); do ecto post publish "$id" done ``` ## Limitations - Ghost API does not support listing images or webhooks - Member/subscription management not available via Admin API - Read-only access to users ## Full Docs Run `ecto --ai-help` for comprehensive documentation.
Example Workflow
Here's how your AI assistant might use this skill in practice.
User asks: Publishing a markdown file directly as a Ghost blog post
- 1Publishing a markdown file directly as a Ghost blog post
- 2Scheduling a draft post to go live at a specific date and time
- 3Batch-publishing all draft posts in a single shell command
- 4Creating and organizing tags across a Ghost blog
- 5Registering webhooks to trigger external services on post events
Ghost.io blog management via Admin API.
Security Audits
These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.
Similar Skills
VIEW ALLendpoints
Endpoints document management API toolkit.
clawprint-verify
Issue ClawPrint reverse-CAPTCHA challenges.
captcha-ai
Issue ClawPrint reverse-CAPTCHA challenges to verify.
consensus-interact
Use the open-source @consensus-tools/consensus-tools engine to run multi-LLM policy-based decision workflows: post.