
Wordpress Content
Publish, update, and bulk-manage WordPress posts, pages, media, taxonomies, and menus without opening the admin UI.
Overview
WordPress Content is an agent skill for the Grow phase that creates and manages WordPress posts, pages, media, categories, tags, and menus via WP-CLI or the REST API.
Install
npx skills add https://github.com/jezweb/claude-skills --skill wordpress-contentWhat is this skill?
- Creates and updates posts and pages via WP-CLI or WordPress REST API
- Supports media import, categories, tags, and navigation menu changes
- Covers scheduled publishing with post_date and draft-to-publish workflows
- Documents bulk loops and REST batch patterns for many posts at once
- Falls back to Application Password REST when SSH/WP-CLI is unavailable
- Operation table maps 8 task types to WP-CLI or REST methods
Adoption & trust: 1k installs on skills.sh; 841 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need to publish or update WordPress content at scale but only want to click through wp-admin for exceptional cases.
Who is it for?
Solo builders with WP-CLI SSH or REST credentials who publish blogs or marketing pages on WordPress regularly.
Skip if: Teams without wordpress-setup credentials, one-off static sites not on WordPress, or greenfield theme/plugin development with no content ops.
When should I use this skill?
Whenever the user wants to publish a blog post on WordPress, update a page, upload media, manage categories or tags, update navigation menus, schedule posts, or do bulk content operations on a WordPress site.
What do I get? / Deliverables
Live or staged WordPress content changes land on the site through CLI or API commands with clear patterns for bulk and scheduled work.
- Created or updated posts and pages on the WordPress site
- Imported media and updated categories, tags, or menus
Recommended Skills
Journey fit
Ongoing content operations—drafts, scheduling, taxonomies, and menus—map to the Grow phase where solo builders ship blog and site updates. The skill is centered on creating and maintaining editorial content on WordPress, which is the content subphase of Grow.
How it compares
Use this for executable CMS operations instead of asking the model to paste HTML into the block editor manually.
Common Questions / FAQ
Who is wordpress-content for?
Solo and indie builders who maintain a WordPress site and want their coding agent to run WP-CLI or REST publishing tasks safely.
When should I use wordpress-content?
Use it in Grow when scheduling posts, uploading media, retagging content, or updating menus; also when you need bulk creates during a launch content push.
Is wordpress-content safe to install?
It can change live site content and uses credentials—review the Security Audits panel on this page and scope API or SSH access before running bulk updates.
Workflow Chain
Requires first: wordpress setup
SKILL.md
READMESKILL.md - Wordpress Content
# WordPress Content Create, update, and manage WordPress content — posts, pages, media, categories, tags, and menus. Produces live content on the site via WP-CLI or the REST API. ## Prerequisites - Working WP-CLI SSH connection or REST API credentials (use **wordpress-setup** skill) - Site config from `wordpress.config.json` or `wp-cli.yml` ## Workflow ### Step 1: Determine the Operation | Task | Best Method | |------|-------------| | Create/edit single post or page | WP-CLI `wp post create/update` | | Bulk create posts | WP-CLI loop or REST API batch | | Upload images/media | WP-CLI `wp media import` | | Manage categories/tags | WP-CLI `wp term` | | Update navigation menus | WP-CLI `wp menu` | | Scheduled posts | WP-CLI with `--post_date` | | Complex HTML content | Write to temp file, pass to WP-CLI | | No SSH access available | REST API with Application Password | ### Step 2: Create Content #### Blog Posts ```bash # Simple post wp @site post create \ --post_type=post \ --post_title="My New Blog Post" \ --post_content="<p>Post content here.</p>" \ --post_status=draft \ --post_category=3,5 # Post from HTML file (better for long content) wp @site post create ./post-content.html \ --post_type=post \ --post_title="My New Blog Post" \ --post_status=draft \ --post_excerpt="A brief summary of the post." \ --post_category=3,5 \ --tags_input="tag1,tag2" ``` **Post statuses**: `draft`, `publish`, `pending`, `future` (use with `--post_date`) #### Pages ```bash wp @site post create \ --post_type=page \ --post_title="About Us" \ --post_content="<h2>Our Story</h2><p>Content here...</p>" \ --post_status=publish \ --post_parent=0 \ --menu_order=10 ``` #### Scheduled Posts ```bash wp @site post create \ --post_type=post \ --post_title="Scheduled Post" \ --post_content="<p>This goes live tomorrow.</p>" \ --post_status=future \ --post_date="2026-02-23 09:00:00" ``` ### Step 3: Upload Media ```bash # Upload from URL wp @site media import "https://example.com/image.jpg" \ --title="Product Photo" \ --alt="Product front view" \ --caption="Our latest product" # Upload from local file (requires SCP first for remote sites) scp ./image.jpg user@host:/tmp/image.jpg wp @site media import /tmp/image.jpg --title="Local Upload" # Import and set as featured image in one step wp @site media import "https://example.com/hero.jpg" \ --title="Hero" --featured_image --post_id={id} # List media wp @site post list --post_type=attachment --fields=ID,post_title,guid # Regenerate thumbnails wp @site media regenerate --yes ``` **Set featured image on a post**: ```bash # Get the attachment ID from the import output, then: wp @site post meta update {post_id} _thumbnail_id {attachment_id} ``` ### Step 4: Manage Taxonomy #### Categories ```bash # List categories wp @site term list category --fields=term_id,name,slug,count # Create category wp @site term create category "News" --slug=news --description="Company news and updates" # Create child category wp @site term create category "Product News" --slug=product-news --parent=5 # Update category wp @site term update category {term_id} --name="Updated Name" # Assign category to post wp @site post term add {post_id} category news ``` #### Tags ```bash # List tags wp @site term list post_tag --fields=term_id,name,slug,count # Create tag wp @site term create post_tag "new-tag" # Add tags during post creation wp @site post create --post_title="..." --tags_input="seo,marketing,tips" # Add tags to existing post wp @site post term add {post_id} post_tag seo