
Wordpress Setup
Install this when you manage client or self-hosted WordPress sites over SSH and want repeatable WP-CLI alias, diagnostic, and hosting-specific command patterns.
Overview
Wordpress-setup is an agent skill most often used in Operate (also Build when wiring integrations) that standardizes WP-CLI SSH aliases, flags, and diagnostic commands for remote WordPress administration.
Install
npx skills add https://github.com/jezweb/claude-skills --skill wordpress-setupWhat is this skill?
- WP-CLI over SSH: inline `--ssh=user@host/path` and project-level `wp-cli.yml` ssh aliases (`wp @mysite`)
- Global client aliases in `~/.wp-cli/config.yml` for multi-site agency workflows
- Common output filters: `--fields`, `--format=json|csv`, post type/status filters, `--skip-plugins` for faster debug runs
- Diagnostic recipes: core version, siteurl/home options, db size/tables, active plugins, user roles, cron event list
- Rocket.net SSH path pattern called out for typical managed hosting layouts
Adoption & trust: 961 installs on skills.sh; 841 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You maintain WordPress on SSH-only hosting but agent-suggested commands omit aliases, wrong paths, or verbose defaults that slow incident response.
Who is it for?
Indie consultants and solo builders juggling multiple WordPress installs on Rocket.net or similar SSH-managed hosts.
Skip if: Teams building headless WordPress with no WP-CLI access, or greenfield React-only frontends with no wp-admin footprint.
When should I use this skill?
Managing or debugging remote WordPress installs via WP-CLI, especially multi-site alias workflows and hosting-specific SSH paths.
What do I get? / Deliverables
After the skill runs, you get copy-paste WP-CLI sequences with correct ssh aliases, JSON/CSV friendly flags, and a repeatable site health checklist.
- Correct WP-CLI command sequences with ssh/alias configuration
- Structured diagnostic output (JSON/CSV) suitable for scripts or tickets
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Operate because the skill documents ongoing site administration, diagnostics, and remote WP-CLI execution—not theme/plugin authoring from scratch. Infra subphase matches SSH aliases, remote paths, database size checks, cron inspection, and host-specific patterns like Rocket.net.
Where it fits
You verify `siteurl`/`home` mismatch and active plugin versions after a DNS cutover using `wp @site option get` and `plugin list`.
You document `@client` global aliases so a new hire can run the same SSH WP-CLI onboarding on every repo.
You list cron events to debug missed scheduled posts before a content campaign goes live.
How it compares
Operational WP-CLI cookbook, not a theme development or Gutenberg block coding skill.
Common Questions / FAQ
Who is wordpress-setup for?
Solo builders and small agencies who SSH into WordPress installs and want agents to produce WP-CLI that matches alias config and hosting paths.
When should I use wordpress-setup?
In Operate during outages or migrations when checking siteurl, plugins, cron, and DB size; in Build when documenting client onboarding runbooks; in Grow when verifying scheduled content cron before a launch push.
Is wordpress-setup safe to install?
Check the Security Audits panel on this page; the skill implies SSH and shell access to production WordPress—treat credentials and `--allow-root` usage carefully on live sites.
SKILL.md
READMESKILL.md - Wordpress Setup
# WP-CLI Essentials ## SSH Connection Patterns ### Inline SSH ```bash wp --ssh=user@host/path/to/wordpress <command> ``` ### Alias in wp-cli.yml (project-level) ```yaml ssh: mysite: cmd: ssh -o StrictHostKeyChecking=no %pseudotty% user@hostname %cmd% url: /path/to/wordpress ``` Usage: `wp @mysite <command>` ### Global Aliases (~/.wp-cli/config.yml) ```yaml @client1: ssh: user@client1.com/www/public @client2: ssh: user@client2.rocketcdn.me/www/client2/public ``` ## Common Flags | Flag | Purpose | |------|---------| | `--fields=ID,post_title` | Limit output columns | | `--format=json` | JSON output (pipe to jq) | | `--format=csv` | CSV output | | `--posts_per_page=N` | Limit results | | `--post_type=page` | Filter by post type | | `--post_status=publish` | Filter by status | | `--allow-root` | Run as root (hosting that requires it) | | `--skip-plugins` | Skip plugin loading (faster, useful for debugging) | | `--skip-themes` | Skip theme loading | | `--quiet` | Suppress informational messages | ## Useful Diagnostic Commands ```bash # Site health wp @site core version wp @site option get siteurl wp @site option get home # Database wp @site db size wp @site db tables # Plugins wp @site plugin list --status=active --fields=name,version wp @site plugin status elementor # Users wp @site user list --fields=ID,user_login,user_email,roles # Cron (useful for scheduled posts) wp @site cron event list ``` ## Rocket.net SSH Pattern Rocket.net sites typically use: ```bash wp --ssh=sshuser@hostname.rocketcdn.me/www/sitename/public <command> ``` Or with their MCP server for direct API access without SSH. ## Troubleshooting | Issue | Solution | |-------|----------| | `wp: command not found` on remote | Use full path: `/usr/local/bin/wp` or install via SSH | | SSH key not accepted | Check `~/.ssh/config` for correct IdentityFile | | `Error establishing a database connection` | DB credentials may differ — check `wp-config.php` | | Timeout on large exports | Use `--skip-plugins --skip-themes` to reduce memory | | `PHP Fatal error: Allowed memory size` | Add `--exec="ini_set('memory_limit','512M');"` | --- name: wordpress-setup description: "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." compatibility: claude-code-only --- # 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 ```bash wp --version ``` If not installed, guide the user: ```bash # 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): ```bash wp package install wp-cli/ssh-command ``` ### Step 2: Connect to the Site **Option A: WP-CLI over SSH (preferred)** ```bash 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: ```bash wp --ssh=user@host/path core version ``` **Option B: REST API with Application Password** If SSH isn't available: 1. Navigate to `https://example.com/wp-admin/profile.php` (or use browser automation) 2. Scroll to "Application Passwords" section 3. Enter a name (e.g. "Claude Code") and click "Add New Application Password" 4. Copy the generated password (spaces are part of it but optional in auth) Test the connection: ```bash curl -s https://example.com/wp-json/wp/v2/posts?per