wp-wpcli-and-ops

作者: wordpress

通过WP-CLI进行WordPress运维与自动化,支持安全搜索替换、数据库管理及多站点功能。涵盖域名迁移的搜索替换、数据库导出/导入、插件/主题/用户管理、定时任务检查及缓存清理。内置防护机制:环境确认、预运行验证及破坏性操作前的备份流程。支持多站点操作,可针对特定站点(--url)或全网络(--network)执行。支持...

npx skills add https://github.com/wordpress/agent-skills --skill wp-wpcli-and-ops

WP-CLI and Ops

When to use

Use this skill when the task involves WordPress operational work via WP-CLI, including:

  • wp search-replace (URL changes, domain migrations, protocol switch)
  • DB export/import, resets, and inspections (wp db *)
  • plugin/theme install/activate/update, language packs
  • cron event listing/running
  • cache/rewrite flushing
  • multisite operations (wp site *, --url, --network)
  • building repeatable scripts (wp-cli.yml, shell scripts, CI jobs)

Inputs required

  • Where WP-CLI will run (local dev, staging, production) and whether it’s safe to run.
  • How to target the correct site root:
    • --path=<wordpress-root> and (multisite) --url=<site-url>
  • Whether this is multisite and whether commands should run network-wide.
  • Any constraints (no downtime, no DB writes, maintenance window).

Procedure

0) Guardrails: confirm environment and blast radius

WP-CLI commands can be destructive. Before running anything that writes:

  1. Confirm environment (dev/staging/prod).
  2. Confirm targeting (path/url) so you don’t hit the wrong site.
  3. Make a backup when performing risky operations.

Read:

  • references/safety.md

1) Inspect WP-CLI and site targeting (deterministic)

Run the inspector:

  • node skills/wp-wpcli-and-ops/scripts/wpcli_inspect.mjs --path=<path> [--url=<url>]

If WP-CLI isn’t available, fall back to installing it via the project’s documented tooling (Composer, container, or system package), or ask for the expected execution environment.

2) Choose the right workflow

A) Safe URL/domain migration (search-replace)

Follow a safe sequence:

  1. wp db export (backup)
  2. wp search-replace --dry-run (review impact)
  3. Run the real replace with appropriate flags
  4. Flush caches/rewrite if needed

Read:

  • references/search-replace.md

B) Plugin/theme operations

Use wp plugin * / wp theme * and confirm you’re acting on the intended site (and network) first.

Read:

  • references/packages-and-updates.md

C) Cron and queues

Inspect cron state and run individual events for debugging rather than “run everything blindly”.

Read:

  • references/cron-and-cache.md

D) Multisite operations

Multisite changes can affect many sites. Always decide whether you’re operating:

  • on a single site (--url=), or
  • network-wide (--network / iterating sites)

Read:

  • references/multisite.md

3) Automation patterns (scripts + wp-cli.yml)

For repeatable ops, prefer:

  • wp-cli.yml for defaults (path/url, PHP memory limits)
  • shell scripts that log commands and stop on error
  • CI jobs that run read-only checks by default

Read:

  • references/automation.md

Verification

  • Re-run wpcli_inspect after changes that could affect targeting or config.
  • Confirm intended side effects:
    • correct URLs updated
    • plugins/themes in expected state
    • cron/caches flushed where needed
  • If there’s a health check endpoint or smoke test suite, run it after ops changes.

Failure modes / debugging

  • “Error: This does not seem to be a WordPress installation.”
    • wrong --path, wrong container, or missing wp-config.php
  • Multisite commands affecting the wrong site
    • missing --url or wrong URL
  • Search-replace causes unexpected serialization issues
    • wrong flags or changing serialized data unsafely

See:

  • references/debugging.md

Escalation

  • If you cannot confirm environment safety, do not run write operations.
  • If the repo uses containerized tooling (Docker/wp-env) but you can’t access it, ask for the intended command runner or CI job.

来自 wordpress 的更多技能

blueprint
wordpress
在创建、编辑或审查WordPress Playground蓝图JSON文件时使用。当提及蓝图、Playground配置或请求时触发…
official
wordpress-router
wordpress
对WordPress代码库进行分类,并根据插件、主题、区块及核心检出结果路由至正确的工作流程。运行自动化项目分类以识别仓库类型(插件、主题、区块主题、Gutenberg区块、WP核心)及可用工具。输出分类结果及基于用户意图和项目类型的决策树路由至领域特定技能。需要仓库根目录访问权限及bash/Node文件系统操作;部分工作流程需WP-CLI。目标环境为WordPress 6.9+及PHP 7.2.24+;...
official
wp-abilities-api
wordpress
WordPress Abilities API 注册、REST 暴露及客户端消费,适用于 WordPress 6.9+。使用 wp_register_ability() 和 wp_register_ability_category() 在 PHP 中注册能力和类别,包含稳定 ID、标签和元数据。通过设置 meta.show_in_rest: true,将能力暴露给客户端,使用 /wp-json/wp-abilities/v1/ REST 端点。在 JavaScript 中使用 @wordpress/abilities 包消费能力,实现客户端访问和权限检查。需要 WordPress 6.9+...
official
wp-abilities-audit
wordpress
审计WordPress插件的REST接口面,并生成一份标准化的审计文档,提出Abilities API注册建议。生成一份包含YAML……的markdown文档。
official
wp-abilities-verify
wordpress
验证WordPress插件的Abilities API注册:枚举能力,检查回调行为是否与每个注解的声明相符(对抗性…
official
wp-block-development
wordpress
WordPress区块开发(针对Gutenberg):元数据、注册、渲染及构建工作流。涵盖区块创建、block.json配置、静态与动态渲染,以及使用register_block_type_from_metadata()进行服务端PHP注册。强制使用apiVersion: 3以确保与WordPress 6.9+兼容,包括iframe编辑器支持和样式隔离。处理属性序列化、弃用/迁移以避免"无效区块"错误,以及内部区块组合。包括...
official
wp-block-themes
wordpress
WordPress区块主题开发:theme.json、模板、样式块及站点编辑器故障排查。涵盖theme.json编辑(预设、设置、逐块样式)、模板与模板部件、样式块及WordPress 6.9+版本中的样式变体。包含用于检测主题根目录和区块主题结构的分类脚本,以及创建新主题或转换经典主题的引导流程。提供样式层级问题、用户自定义覆盖及站点编辑器调试的工作流程。
official
wp-interactivity-api
wordpress
在构建或调试WordPress Interactivity API功能时使用(data-wp-*指令、@wordpress/interactivity存储/状态/动作、块viewScriptModule…)
official