# openclaw-skill-wordpress

Adopt this skill: https://proskills.md/skills/other/jmd-benji-openclaw-skill-wordpress

Page: https://proskills.md/skills/other/jmd-benji-openclaw-skill-wordpress
This document is the public skill bundle for that page. It contains SKILL.md and every helper file the catalog carries. No login is required.

## File: SKILL.md
size: 4774
upstream: https://github.com/jmd-benji/openclaw-skill-wordpress/blob/HEAD/SKILL.md

````text
# WordPress — Skill OpenClaw

Gestion d'un site WordPress via WP REST API v2. Articles, pages, médias, commentaires, catégories, tags, recherche et utilisateurs.

## Prérequis

- **curl** + **jq** installés
- **WordPress 5.6+** avec REST API activée (par défaut)
- **Application Password** généré (Admin → Profil → Mots de passe d'application)
- Config initialisée dans `config.json` (voir `config.example.json`)

## Configuration

Créer `config.json` (ou ajouter dans TOOLS.md) :

```json
{
  "wordpress": {
    "url": "https://ton-site.com",
    "username": "admin",
    "app_password": "xxxx xxxx xxxx xxxx xxxx xxxx",
    "timeout": 30
  }
}
```

Variable d'environnement optionnelle :
- `WP_CONFIG` — chemin vers config.json
- `WP_LOG` — chemin vers le fichier de log

## Commandes

```bash
SCRIPTS="~/.openclaw/workspace/wordpress-skill/scripts"
```

### Connexion

```bash
# Tester la connexion
bash $SCRIPTS/wp-cli.sh test
```

### 📝 Articles (Posts)

```bash
# Lister les articles publiés
bash $SCRIPTS/wp-cli.sh posts

# Lister les brouillons
bash $SCRIPTS/wp-cli.sh posts draft

# Rechercher
bash $SCRIPTS/wp-cli.sh posts publish 10 "mot clé"

# Lire un article
bash $SCRIPTS/wp-cli.sh post 42

# Créer un brouillon
bash $SCRIPTS/wp-cli.sh create-post "Mon titre" "Contenu de l'article"

# Créer et publier directement
bash $SCRIPTS/wp-cli.sh create-post "Titre" "Contenu" publish

# Avec catégories et tags (IDs)
bash $SCRIPTS/wp-cli.sh create-post "Titre" "Contenu" draft "1,2" "3,4"

# Modifier
bash $SCRIPTS/wp-cli.sh edit-post 42 --title "Nouveau titre" --status publish

# Supprimer
bash $SCRIPTS/wp-cli.sh delete-post 42
```

### 📄 Pages

```bash
bash $SCRIPTS/wp-cli.sh pages
bash $SCRIPTS/wp-cli.sh page 5
bash $SCRIPTS/wp-cli.sh create-page "À propos" "Contenu..."
bash $SCRIPTS/wp-cli.sh delete-page 5
```

### 💬 Commentaires

```bash
# Commentaires en attente de modération
bash $SCRIPTS/wp-cli.sh comments hold

# Tous les commentaires
bash $SCRIPTS/wp-cli.sh comments any

# Approuver / Rejeter
bash $SCRIPTS/wp-cli.sh approve 15
bash $SCRIPTS/wp-cli.sh reject 15

# Répondre
bash $SCRIPTS/wp-cli.sh reply 15 "Merci pour votre commentaire !"

# Supprimer
bash $SCRIPTS/wp-cli.sh delete-comment 15
```

### 🏷️ Catégories & Tags

```bash
bash $SCRIPTS/wp-cli.sh categories
bash $SCRIPTS/wp-cli.sh create-category "Actualités" "actualites"
bash $SCRIPTS/wp-cli.sh tags
bash $SCRIPTS/wp-cli.sh create-tag "Tech"
```

### 🖼️ Médias

```bash
bash $SCRIPTS/wp-cli.sh upload /path/to/image.jpg
bash $SCRIPTS/wp-cli.sh upload /path/to/image.jpg 42  # attacher à l'article 42
```

### 👥 Utilisateurs

```bash
bash $SCRIPTS/wp-cli.sh users
bash $SCRIPTS/wp-cli.sh user 1
```

### 🔍 Recherche

```bash
bash $SCRIPTS/wp-cli.sh search "intelligence artificielle"
bash $SCRIPTS/wp-cli.sh search "guide" page
```

## Guidelines de rédaction

Quand l'agent rédige un article, il **doit** suivre les guidelines dans `references/writing-guidelines.md`. Les points clés :

- **Imperfections volontaires** — opinions tranchées, langage familier, paragraphes courts, doutes sincères
- **Structure non-IA** — anecdote en intro, verdict parfois en premier, pas de conclusion parfaite, mélanger sections
- **Anti-détection** — phrases de longueurs variées, pas de listes partout, pas de pros/cons séparés, pas de résumé final

### 🤖 Humanize

Le skill intègre le module **humanize-text** pour nettoyer les patterns d'écriture IA.

```bash
# Créer un article en le humanisant automatiquement
bash $SCRIPTS/wp-cli.sh create-post "Titre" "Contenu" draft "" "" true
```

Le humanize supprime les em-dashes, les phrases bateuses IA, simplifie le vocabulaire et rend le texte plus naturel.

---

## Gestion des erreurs

| Code | Cause | Action |
|------|-------|--------|
| 401 | Credentials invalides | Vérifier config.json |
| 403 | Permissions insuffisantes | Vérifier rôle utilisateur WP |
| 404 | Ressource inexistante | Vérifier l'ID |
| 500 | Erreur serveur WP | Vérifier les logs WordPress |
| Timeout | Serveur inaccessible | Vérifier URL + réseau |

Tous les appels sont loggés dans `~/.openclaw/workspace/.wordpress.log`.

## Cas d'usage agent

L'agent peut utiliser ce skill pour :

1. **Publier des articles** — "Publie un article sur [sujet]"
2. **Modérer** — "Montre les commentaires en attente" → "Approuve le 15"
3. **Rechercher** — "Cherche mes articles sur [thème]"
4. **Gérer le contenu** — "Passe l'article 42 en brouillon"
5. **Upload** — "Ajoute cette image à l'article 42"

## Références

- [endpoints.md](references/endpoints.md) — Liste complète des endpoints WP REST API v2
- [WP REST API Handbook](https://developer.wordpress.org/rest-api/)
````

## File: README.md
upstream: https://github.com/jmd-benji/openclaw-skill-wordpress/blob/HEAD/README.md

````text
# 📝 WordPress Skill for OpenClaw

Skill OpenClaw pour gérer un site WordPress via REST API v2. Articles, pages, médias, commentaires, catégories, tags, recherche et utilisateurs.

**Aucun plugin WordPress requis.** Utilise l'API REST native + Application Passwords.

## ✨ Fonctionnalités

- **Posts** — CRUD complet (créer, lire, modifier, supprimer, brouillons)
- **Pages** — CRUD complet
- **Commentaires** — Liste, modération (approuver/rejeter), réponse, suppression
- **Catégories & Tags** — Création et organisation
- **Médias** — Upload de fichiers et attachement aux articles
- **Utilisateurs** — Liste et infos de profil
- **Recherche** — Recherche full-text dans le contenu
- **Humanize** — Intégration du skill `humanize-text` pour un rendu plus naturel

## 📋 Prérequis

- `curl` + `jq`
- WordPress 5.6+ avec REST API activée (par défaut)
- Application Password généré (Admin → Profil → Mots de passe d'application)

## ⚙️ Installation

```bash
# Cloner dans votre workspace OpenClaw
git clone https://github.com/Jmd-benji/openclaw-skill-wordpress.git wordpress-skill
```

## 🔧 Configuration

Copier `config.example.json` en `config.json` et remplir :

```json
{
  "wordpress": {
    "url": "https://your-site.com",
    "username": "your-username",
    "app_password": "xxxx xxxx xxxx xxxx xxxx xxxx",
    "timeout": 30
  }
}
```

## 🚀 Utilisation

```bash
SCRIPTS="wordpress-skill/scripts"

# Tester la connexion
bash $SCRIPTS/wp-cli.sh test

# Articles
bash $SCRIPTS/wp-cli.sh posts                    # Lister les publiés
bash $SCRIPTS/wp-cli.sh posts draft              # Lister les brouillons
bash $SCRIPTS/wp-cli.sh post 42                  # Lire un article
bash $SCRIPTS/wp-cli.sh create-post "Titre" "Contenu"  # Créer un brouillon
bash $SCRIPTS/wp-cli.sh edit-post 42 --status publish   # Publier
bash $SCRIPTS/wp-cli.sh delete-post 42           # Supprimer

# Pages
bash $SCRIPTS/wp-cli.sh pages
bash $SCRIPTS/wp-cli.sh create-page "Titre" "Contenu"

# Commentaires
bash $SCRIPTS/wp-cli.sh comments hold            # En attente de modération
bash $SCRIPTS/wp-cli.sh approve 15               # Approuver
bash $SCRIPTS/wp-cli.sh reject 15                # Rejeter
bash $SCRIPTS/wp-cli.sh reply 15 "Merci !"       # Répondre

# Catégories & Tags
bash $SCRIPTS/wp-cli.sh categories
bash $SCRIPTS/wp-cli.sh create-category "Gaming"
bash $SCRIPTS/wp-cli.sh tags
bash $SCRIPTS/wp-cli.sh create-tag "PS5"

# Médias
bash $SCRIPTS/wp-cli.sh upload image.jpg         # Uploader
bash $SCRIPTS/wp-cli.sh upload image.jpg 42      # Attacher à l'article 42

# Recherche
bash $SCRIPTS/wp-cli.sh search "playstation"
```

## 📁 Structure

```
wordpress-skill/
├── SKILL.md                          # Documentation principale
├── scripts/
│   ├── wp-cli.sh                     # CLI wrapper API WordPress
│   └── auth.sh                       # Authentification + gestion erreurs
├── references/
│   ├── endpoints.md                  # Référence WP REST API v2
│   └── writing-guidelines.md         # Guidelines rédaction style humain
├── config.example.json               # Template de configuration
├── .gitignore                        # Exclut config.json et logs
└── README.md                         # Ce fichier
```

## 🛡️ Sécurité

- `config.json` est dans `.gitignore` — **jamais** de credentials dans le repo
- Authentification via Application Passwords (pas de plugin)
- Logs dans `~/.openclaw/workspace/.wordpress.log`

## 📄 Licence

MIT — Libre d'utilisation, modification et distribution.

---

_Développé avec ⚡ par [B.E.N Corp](https://github.com/Jmd-benji)_
````
