npx claudepluginhub jezweb/claude-skills --plugin wordpressThis skill uses the workspace's default tool permissions.
Connect to a WordPress site and verify working access via WP-CLI or REST API. Produces a verified connection config ready for content management and Elementor editing.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Connect to a WordPress site and verify working access via WP-CLI or REST API. Produces a verified connection config ready for content management and Elementor editing.
wp --version
If not installed, guide the user:
# macOS/Linux
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
Also ensure the SSH extension is available (needed for remote sites):
wp package install wp-cli/ssh-command
Option A: WP-CLI over SSH (preferred)
wp --ssh=user@hostname/path/to/wordpress option get siteurl
Common patterns:
wp --ssh=user@hostname/www/sitename/public option get siteurlwp --ssh=user@hostname/public_html option get siteurlTest with a simple command first:
wp --ssh=user@host/path core version
Option B: REST API with Application Password
If SSH isn't available:
https://example.com/wp-admin/profile.php (or use browser automation)Test the connection:
curl -s https://example.com/wp-json/wp/v2/posts?per_page=1 \
-u "username:xxxx xxxx xxxx xxxx xxxx xxxx" | jq '.[0].title'
For WP-CLI SSH — create a wp-cli.yml in the project root:
ssh:
sitename:
cmd: ssh -o StrictHostKeyChecking=no %pseudotty% user@hostname %cmd%
url: /path/to/wordpress
Then use: wp @sitename option get siteurl
For REST API — store in .dev.vars:
WP_SITE_URL=https://example.com
WP_USERNAME=admin
WP_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
Ensure .dev.vars is in .gitignore. For cross-project use, store in your preferred secrets manager (environment variable, 1Password CLI, etc.).
Run a comprehensive check:
# Site info
wp @sitename option get siteurl
wp @sitename option get blogname
# Content access
wp @sitename post list --post_type=page --posts_per_page=5 --fields=ID,post_title,post_status
# Plugin status (check for Elementor)
wp @sitename plugin status elementor
# Theme info
wp @sitename theme status
Create wordpress.config.json for other skills to reference:
{
"site": "example.com",
"siteUrl": "https://example.com",
"accessMethod": "ssh",
"sshAlias": "sitename",
"wpPath": "/path/to/wordpress",
"hasElementor": true,
"elementorVersion": "3.x.x"
}
| Symptom | Fix |
|---|---|
Permission denied (publickey) | Check SSH key: ssh -v user@host |
wp: command not found via SSH | WP-CLI not in remote PATH — use full path: /usr/local/bin/wp |
Error: This does not appear to be a WordPress installation | Wrong path — check wp-path argument |
| Timeout on large operations | Add --ssh=user@host/path --allow-root or increase SSH timeout |
Define aliases in ~/.wp-cli/config.yml for frequently-accessed sites:
@client1:
ssh: user@client1.example.com/www/public
@client2:
ssh: user@client2.rocketcdn.me/www/client2/public
Then: wp @client1 post list
?_=${timestamp} cache bustershow_in_rest: true to appear in APIreferences/wp-cli-essentials.md — SSH alias patterns, common flags, and troubleshooting