---
name: wordpress
description: Draft posts and pages, coordinate wp-admin work, use WP-CLI, inspect themes or plugins, and publish safely.
user-invocable: true
metadata:
  hybridclaw:
    category: publishing
    short_description: "WordPress drafting and publishing."
    tags:
      - wordpress
      - cms
      - publishing
      - web
    install:
      - id: wp
        kind: brew
        formula: wp-cli
        bins: ["wp"]
        label: Install WP-CLI (brew)
    related_skills:
      - write-blog-post
      - stripe
---
# WordPress

Use this skill for WordPress content, admin, and site-maintenance workflows.

## Scope

- draft or update posts and pages
- inspect plugins, themes, users, and site settings
- coordinate wp-admin actions through the browser
- use WP-CLI when shell access to the site exists
- support safe publishing workflows for content teams

## Default Strategy

1. Confirm whether the target is a local, staging, or production site.
2. Prefer read-only inspection before any mutation.
3. Draft content first, then create a WordPress draft unless the user explicitly
   wants immediate publish.
4. Use WP-CLI when it is already available; otherwise use wp-admin or an
   existing REST integration.

## WP-CLI

Basic checks:

```bash
wp --info
wp core version
wp option get home
wp option get siteurl
```

Useful read commands:

```bash
wp post list --post_type=post --fields=ID,post_title,post_status,post_date
wp post get 123 --field=post_title
wp page list --fields=ID,post_title,post_status,post_date
wp plugin list
wp theme list
wp user list --fields=ID,user_login,user_email,roles
```

Draft-first content workflow:

```bash
wp post create --post_type=post --post_status=draft --post_title="Example Title"
wp post update 123 --post_status=draft
```

Use WP-CLI for content only when you know the site root and environment are
correct. Do not guess against an unknown production checkout.

## wp-admin Workflow

Use the browser when:

- the user is already signed in to wp-admin
- content editing is easier visually
- plugin or theme screens must be inspected
- the site uses custom fields or builders that WP-CLI does not represent well

Prepare the exact target before acting:

- site URL
- post or page id
- slug or title
- plugin or theme name
- whether the action is draft, update, publish, install, or delete

## Content Workflow

For blog content, draft outside WordPress first when possible:

1. outline or write the post
2. confirm title, slug, category, and publish state
3. create or update a draft
4. preview before publish

Default to drafts. Publishing should be explicit.

## REST API Guidance

If the site already exposes a safe authenticated REST path:

- read before write
- target one specific post, page, or media item at a time
- keep credentials outside the repo and out of chat

If no REST auth path exists, prefer WP-CLI or wp-admin instead of inventing one
mid-task.

## Working Rules

- Always state whether you are using WP-CLI, wp-admin, or REST.
- Never publish, delete, or update production plugins without explicit
  confirmation.
- Treat staging and production as separate targets; verify the environment
  before running write commands.
- For plugin or theme investigations, collect version and status before changing
  anything.
- If the site uses page builders or custom fields, prefer the admin UI unless
  there is a known automation path.

## Common Use Cases

- create or update a blog post draft
- inspect plugin and theme status
- find a page or post by title or id
- verify site URL, permalink, or user configuration
- coordinate safe content publishing on an existing WordPress site

## Pitfalls

- Do not assume the current shell directory is the correct WordPress install.
- Do not publish drafts by default.
- Do not install or update plugins on production just because an update exists.
- Do not treat custom-field-heavy sites as plain post-content workflows.
