Synthèse automatique
Permet aux agents d'interagir avec Ghost CMS via l'outil CLI ghst, facilitant la gestion de contenu et les tâches administratives via l'API Admin complète.
Points forts
- Accès complet à l'API Admin de Ghost (articles, pages, membres, tags, newsletters, thèmes, statistiques, ActivityPub).
- Intégration simple en ligne de commande, facile à utiliser par un agent.
- Prise en charge de multiples opérations de gestion de contenu sans interface graphique.
- Support de l'installation via npm ou npx pour flexibilité.
Limites
- Nécessite une configuration manuelle des variables d'environnement et un jeton d'accès.
- Risques de sécurité liés à l'exposition du jeton ; une gestion prudente est requise.
- Limité à Ghost CMS ; ne fonctionne pas avec d'autres plateformes.
Utilisez cette compétence pour automatiser la gestion de contenu Ghost, comme la création, mise à jour ou suppression d'articles, ou pour administrer votre blog via un agent.
Évitez-la si vous préférez utiliser directement l'API REST de Ghost ou si vous n'avez pas besoin d'un outil CLI automatisé.
Analyse de sécurité
PrudenceThe skill wraps the official ghst CLI for Ghost Admin API, which is a legitimate and well-maintained tool. However, it grants the agent comprehensive write access to a live blog, including the ability to delete content and modify settings. While the skill itself is not inherently malicious, misuse or misinterpretation could cause significant harm. The documentation includes sensible security advice (least-privileged account, token rotation), but the inherent power warrants caution.
- •Agent is granted full Ghost Admin API access, enabling potential destructive actions (e.g., post/page deletion, member removal, theme modification).
- •Skill encourages the use of '--yes' to bypass interactive prompts for destructive operations, increasing risk of accidental damage.
- •Supply-chain risk from npm installation (though mitigated by recommending official registry and version pinning).
Exemples
Create a new blog post on my Ghost blog with title 'Hello World', status 'draft', and content '# Hello\n\nThis is my first post.'List all published posts on my Ghost blog, showing title, URL, and publication date.Get the statistics for my Ghost blog, including total members, posts, and pages.name: ghst description: Work with Ghost blogs using the ghst CLI tool. Supports full Ghost Admin API access including posts, pages, members, tags, newsletters, themes, stats, social web (ActivityPub), and more. homepage: https://github.com/TryGhost/ghst metadata: openclaw: emoji: "👻" homepage: "https://github.com/TryGhost/ghst" requires: bins: ["ghst"] env: ["GHOST_URL", "GHOST_STAFF_ACCESS_TOKEN"] primaryEnv: "GHOST_URL" install: - id: "ghst-npm" kind: "node" package: "@tryghost/ghst" bins: ["ghst"] label: "Install ghst (npm)" - id: "ghst-npx" kind: "node" command: "npx @tryghost/ghst" label: "Run via npx"
ghst CLI Skill
This skill wraps the ghst CLI tool, which allows the agent to interact directly with any Ghost instance via the Ghost Admin API.
Prerequisites & Installation
For this skill to function, the ghst binary must be available in the system's $PATH.
Local Installation
Install the CLI globally from the official npm registry using npm:
npm install -g @tryghost/ghst
Alternatively, you can run it via npx without a permanent installation (though this is slower for repeated agent tasks):
npx @tryghost/ghst --help
Security: Always install
@tryghost/ghstfrom the official npm registry (https://www.npmjs.com/package/@tryghost/ghst). Consider pinning to a specific, reviewed version rather than relying on whatever version resolves at runtime (e.g.,npm install -g @tryghost/ghst@1.2.3). Keep the package updated intentionally and review release notes before upgrading.
Docker / Containerized Environments
If you are running OpenClaw in Docker, ensure the ghst binary is included in your container image by adding the installation command to your Dockerfile:
RUN npm install -g @tryghost/ghst
Configuration & Authentication
To interact with a Ghost instance, the agent requires a Ghost API URL and a Ghost Staff Access Token. There are two main ways to achieve this within the ghst skill:
- Explicit flags:
--urland--staff-token - Environment variables:
GHOST_URLandGHOST_STAFF_ACCESS_TOKEN
Staff Account & Token Security
To minimize risk, create a dedicated Ghost staff account specifically for agent access and grant it only the least privileges required (e.g., Author or Editor rather than Owner). Store the GHOST_STAFF_ACCESS_TOKEN securely—never commit it to version control or expose it in chat logs. If the token is ever leaked, rotate it immediately via the Ghost Admin panel, and disable or remove the token when the agent no longer needs access.
Instructions for Bot Owners
- Navigate to your Ghost Admin panel.
- Go to Settings -> Staff (or Users) -> Edit your User Profile.
- At the bottom, generate or copy a Staff Access Token.
Option 1 — ~/.openclaw/.env (recommended for personal use)
Add the variables directly to your ~/.openclaw/.env file:
GHOST_URL="https://your-blog-url.ghost.io"
GHOST_STAFF_ACCESS_TOKEN="your-staff-access-token-id:secret"
Option 2: openclaw.json skill entry (per-skill injection)
In ~/.openclaw/openclaw.json, add an env block under your skill's entry:
{
"skills": {
"entries": {
"ghst": {
"enabled": true,
"env": {
"GHOST_URL": "https://your-blog-url.ghost.io",
"GHOST_STAFF_ACCESS_TOKEN": "your-staff-access-token-id:secret"
}
}
}
}
}
Once configured, restart your agent or wait for the config to be picked up.
Advanced Environment Variables
For complex setups, the following environment variables are supported:
| Variable | Description |
| :--- | :--- |
| GHOST_URL | Canonical URL of the Ghost instance. |
| GHOST_STAFF_ACCESS_TOKEN | {id}:{secret} for Admin API access. |
| GHOST_CONTENT_API_KEY | Hex key for Content API access (via ghst api --content-api). |
| GHOST_API_VERSION | Target API version (e.g., v5.0). Defaults to latest. |
| GHOST_SITE | Default site alias/profile to use. |
| GHST_CONFIG_DIR | Custom path for CLI configuration. |
| GHST_OUTPUT | Set to json to force JSON output globally. |
| NO_COLOR | Disable ANSI color sequences. |
Agent Guidelines & Usage
When operating the ghst skill, the agent must adhere to the following rules to ensure robust and safe usage.
1. Robust Scripting
- Always use
--jsonor--jq: Ensure your commands produce machine-readable JSON output rather than human-readable text.ghst post list --json ghst post list --json --jq '.posts[].title' - Use
--non-interactive: Since you are running in an automated environment, never issue commands that prompt for user input unexpectedly. Use--yesin combination with--non-interactivefor any required destructive operations that you have received user approval for.ghst comment delete <comment-id> --yes --non-interactive - Non-Interactive Auth: If you need to authenticate a new site programmatically:
ghst auth login --non-interactive --url "https://blog.com" --staff-token "..."
2. Editing Posts and Pages
For detailed instructions on the "Read-Edit-Write" workflow to edit post or page lexical content (including minor rewording and URL changes), see the editing.md reference.
3. Searching and Filtering Posts and Pages
When you need to find specific posts or pages (e.g., by title, status, or tag), refer to the advanced filtering and NQL query examples documented in post.md and page.md.
Command Reference
Detailed documentation for each resource can be found in the references/ directory:
| Resource | Description |
| :--- | :--- |
| ghst post | Publish, schedule, and manage posts. |
| ghst page | Manage pages and static content. |
| ghst tag | Create and manage site tags. |
| ghst member | Manage members, imports, exports, and bulk operations. |
| ghst socialweb | ActivityPub feeds, profile management, and social interactions. |
| ghst comment | Moderate, hide, show, and delete comments. |
| ghst newsletter | Create and manage newsletters and bulk settings. |
| ghst tier | Manage membership tiers. |
| ghst offer | Create and manage subscription offers. |
| ghst stats | Site analytics, growth reporting, and post traffic. |
| ghst setting | Retrieve and update site-level settings. |
| ghst image | Upload media assets to Ghost. |
| ghst theme | Upload, activate, and validate site themes. |
| ghst label | Label management for members and content. |
| ghst user | Manage staff users and retrieve profile info. |
| ghst site | General site information. |
| ghst webhook | Configure and listen for Ghost webhooks. |
| ghst migrate | Import tools for WordPress, Medium, Substack, and CSV. |
| ghst auth | CLI authentication, site switching, and token management. |
| ghst config | CLI tool configuration and defaults. |
| ghst api | Direct raw API explorer for Admin and Content APIs. |
Example Workflows:
- Bulk Post Tagging:
ghst post bulk --filter "status:draft" --update --add-tag "Release" - Member Cleanup:
ghst member bulk --filter "status:free" --action delete --yes --non-interactive - Analytics Export:
ghst stats posts --range 30d --csv --output ./report.csv - Social Interaction:
ghst socialweb note --content "Hello from the CLI"
4. Safe Operation & Protections
-
Approvals & Notices: You must obtain explicit user confirmation before performing any of the following actions:
- Publishing, scheduling, or unpublishing posts/pages
- Deleting posts, pages, members, comments, labels, themes, or any resource
- Bulk updates or bulk deletes (
ghst ... bulk ...) - Changing site settings (
ghst setting set) - Creating, updating, or deleting webhooks (
ghst webhook) - Importing or exporting data (
ghst migrate,ghst member export) - Raw API calls (
ghst api)
Note: The CLI emits
GHST_AGENT_NOTICE:lines onstderrwhen a manual confirmation is interrupted. If you see this, you must stop and ask the user for explicit approval. -
Prefer Listing / Fetching First: Before performing any destructive or mutating action, prefer to list or fetch the target resource to verify its identity. Always use exact IDs or exact slugs rather than fuzzy matching or assumptions.
-
Destructive Commands: Only use
--yes --non-interactivefor the following once the user has explicitly approved:ghst member bulk --action deleteghst label bulk --action deleteghst socialweb deleteghst auth logoutghst auth link(when replacing active link)
-
File Safety: CLI tools like
member exportandmigrate exportwill refuse to overwrite existing files. Check for file existence before exporting if necessary. -
Security Check: Never print or output sensitive tokens (e.g., values coming from
ghst auth tokenorconfig --show-secrets) into the chat unprompted. Treat them as privileged credentials.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/ghst-mrwakc7e/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/ghst-mrwakc7e' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/ghst-mrwakc7e/download' --output '.skill-downloads/ghst-mrwakc7e/SKILL.md.part' && mv '.skill-downloads/ghst-mrwakc7e/SKILL.md.part' '.skill-downloads/ghst-mrwakc7e/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/ghst-mrwakc7e/SKILL.md' && test -s '.skill-downloads/ghst-mrwakc7e/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/ghst' && cp -R '.skill-downloads/ghst-mrwakc7e' '.claude/skills/ghst'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/ghst-mrwakc7e'openskills read 'ghst-mrwakc7e'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/ghst-mrwakc7e/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Fragments d'écriture
Contenu
Extrayez des fragments d'écriture bruts via un entretien intensif, sans imposer de structure. Capturez idées, citations et mots porteurs pour une utilisation ultérieure.
Rédaction UI et audit
Contenu
Rédigez ou auditez les textes d'interface (boutons, erreurs, états vides, infobulles) dans le monorepo, en suivant la source de vérité du design system.
Extraction MIDI/score
Contenu
Extrait le MIDI ou la partition d'une production musicale existante via l'outil MCP CogMusic et confirme la disponibilité du fichier.