npx skills add ...
npx skills add jezweb/claude-skills --skill wordpress-setup
Connect to a WordPress site via WP-CLI over SSH or the REST API. Check CLI, test SSH, set up auth, verify access, save config. Use whenever the user wants to connect to a WordPress site, set up WP-CLI access, create an Application Password, or troubleshoot WordPress connection / auth issues.
npx skills add jezweb/claude-skills --skill wordpress-setup
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.
If not installed, guide the user:
Also ensure the SSH extension is available (needed for remote sites):
Option A: WP-CLI over SSH (preferred)
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:
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:
For WP-CLI SSH — create a wp-cli.yml in the project root:
Then use: wp @sitename option get siteurl
For REST API — store in .dev.vars:
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:
Create wordpress.config.json for other skills to reference:
| 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:
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