Skip to content
Back to skills

Ecto Moltbot Skills

ASecurity

Ghost.io Admin API CLI for managing blog posts, pages, tags, and content.

  • 666 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added February 8, 2026
documentationbashapidocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill ecto-moltbot-skills --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ecto Moltbot Skills?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ecto Moltbot Skills
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-ecto-moltbot-skills/badge)](https://www.skillsdirectory.com/skills/majiayu000-ecto-moltbot-skills)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ecto
description: Ghost.io Admin API CLI for managing blog posts, pages, tags, and content.
---

# 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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…