wordpress-setup▌
jezweb/claude-skills · updated Apr 8, 2026
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.
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.
Workflow
Step 1: Check WP-CLI
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
Step 2: Connect to the Site
Option A: WP-CLI over SSH (preferred)
wp --ssh=user@hostname/path/to/wordpress option get siteurl
Common patterns:
- Rocket.net:
wp --ssh=user@hostname/www/sitename/public option get siteurl - cPanel:
wp --ssh=user@hostname/public_html option get siteurl - Custom: Ask user for SSH user, host, and WordPress path
Test with a simple command first:
wp --ssh=user@host/path core version
Option B: REST API with Application Password
If SSH isn't available:
- Navigate to
https://example.com/wp-admin/profile.php(or use browser automation) - Scroll to "Application Passwords" section
- Enter a name (e.g. "Claude Code") and click "Add New Application Password"
- Copy the generated password (spaces are part of it but optional in auth)
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'
Step 3: Store Credentials
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.).
Step 4: Verify Full Access
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
Step 5: Save Site Config
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"
}
Critical Patterns
SSH Connection Issues
| 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 |
WP-CLI Aliases
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
REST API Gotchas
- Application passwords require HTTPS (won't work on HTTP)
- Some security plugins block REST API — check for 401/403 responses
- Caching plugins may serve stale REST responses — use
?_=${timestamp}cache buster - Custom post types need
show_in_rest: trueto appear in API
Reference Files
references/wp-cli-essentials.md— SSH alias patterns, common flags, and troubleshooting
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.8★★★★★25 reviews- ★★★★★Lucas Torres· Dec 24, 2024
wordpress-setup reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Shikha Mishra· Dec 4, 2024
We added wordpress-setup from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Soo White· Nov 15, 2024
Registry listing for wordpress-setup matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Ishan Singh· Oct 6, 2024
wordpress-setup fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Oshnikdeep· Sep 21, 2024
Useful defaults in wordpress-setup — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Mia Bansal· Sep 1, 2024
wordpress-setup reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Mia Perez· Aug 20, 2024
I recommend wordpress-setup for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Ganesh Mohane· Aug 12, 2024
wordpress-setup is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Ama Wang· Jul 11, 2024
wordpress-setup fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Sakshi Patil· Jul 3, 2024
Keeps context tight: wordpress-setup is the kind of skill you can hand to a new teammate without a long onboarding doc.
showing 1-10 of 25