[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M70DDG4PMCJVM2MAH4BQ4F6C":3,"skill-same:01M70DDG4PMCJVM2MAH4BQ4F6C":107},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":14,"repositoryHtmlUrl":52,"repositoryHomepageUrl":53,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M70DDG4PMCJVM2MAH4BQ4F6C","wp-wpcli-and-ops",null,"Use when working with WP-CLI (wp) for WordPress operations: safe search-replace, db export\u002Fimport, plugin\u002Ftheme\u002Fuser\u002Fcontent management, cron, cache flushing, multisite, and scripting\u002Fautomation with wp-cli.yml.","Spaghetti-Dojo\u002Ftosuto","Spaghetti-Dojo","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F171473277?v=4","01M70D7HTSB1T6F7P71CN4CA4K","Spaghetti Dojo","01M70D7HVFH1GMH0R0ZFAZRXM6",0,"GPL-2.0","https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-wpcli-and-ops\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"wp wpcli and ops","ops","export","safe","operations","scripting","cli","plugin","with","cache","automation","when","use","wp-cli","search","wordpress","db","for","theme","import","2026-11-10 10:12:30",false,"---\nname: wp-wpcli-and-ops\ndescription: \"Use when working with WP-CLI (wp) for WordPress operations: safe search-replace, db export\u002Fimport, plugin\u002Ftheme\u002Fuser\u002Fcontent management, cron, cache flushing, multisite, and scripting\u002Fautomation with wp-cli.yml.\"\n---\n\n# WP-CLI and Ops\n\n## When to use\n\nUse this skill when the task involves WordPress operational work via WP-CLI, including:\n\n- `wp search-replace` (URL changes, domain migrations, protocol switch)\n- DB export\u002Fimport, resets, and inspections (`wp db *`)\n- plugin\u002Ftheme install\u002Factivate\u002Fupdate, language packs\n- cron event listing\u002Frunning\n- cache\u002Frewrite flushing\n- multisite operations (`wp site *`, `--url`, `--network`)\n- building repeatable scripts (`wp-cli.yml`, shell scripts, CI jobs)\n\n## Inputs required\n\n- Where WP-CLI will run (local dev, staging, production) and whether it’s safe to run.\n- How to target the correct site root:\n  - `--path=\u003Cwordpress-root>` and (multisite) `--url=\u003Csite-url>`\n- Whether this is multisite and whether commands should run network-wide.\n- Any constraints (no downtime, no DB writes, maintenance window).\n\n## Procedure\n\n### 0) Guardrails: confirm environment and blast radius\n\nWP-CLI commands can be destructive. Before running anything that writes:\n\n1. Confirm environment (dev\u002Fstaging\u002Fprod).\n2. Confirm targeting (path\u002Furl) so you don’t hit the wrong site.\n3. Make a backup when performing risky operations.\n\nRead:\n- `references\u002Fsafety.md`\n\n### 1) Inspect WP-CLI and site targeting (deterministic)\n\nRun the inspector:\n\n- `node skills\u002Fwp-wpcli-and-ops\u002Fscripts\u002Fwpcli_inspect.mjs --path=\u003Cpath> [--url=\u003Curl>]`\n\nIf 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.\n\n### 2) Choose the right workflow\n\n#### A) Safe URL\u002Fdomain migration (`search-replace`)\n\nFollow a safe sequence:\n\n1. `wp db export` (backup)\n2. `wp search-replace --dry-run` (review impact)\n3. Run the real replace with appropriate flags\n4. Flush caches\u002Frewrite if needed\n\nRead:\n- `references\u002Fsearch-replace.md`\n\n#### B) Plugin\u002Ftheme operations\n\nUse `wp plugin *` \u002F `wp theme *` and confirm you’re acting on the intended site (and network) first.\n\nRead:\n- `references\u002Fpackages-and-updates.md`\n\n#### C) Cron and queues\n\nInspect cron state and run individual events for debugging rather than “run everything blindly”.\n\nRead:\n- `references\u002Fcron-and-cache.md`\n\n#### D) Multisite operations\n\nMultisite changes can affect many sites. Always decide whether you’re operating:\n\n- on a single site (`--url=`), or\n- network-wide (`--network` \u002F iterating sites)\n\nRead:\n- `references\u002Fmultisite.md`\n\n### 3) Automation patterns (scripts + wp-cli.yml)\n\nFor repeatable ops, prefer:\n\n- `wp-cli.yml` for defaults (path\u002Furl, PHP memory limits)\n- shell scripts that log commands and stop on error\n- CI jobs that run read-only checks by default\n\nRead:\n- `references\u002Fautomation.md`\n\n## Verification\n\n- Re-run `wpcli_inspect` after changes that could affect targeting or config.\n- Confirm intended side effects:\n  - correct URLs updated\n  - plugins\u002Fthemes in expected state\n  - cron\u002Fcaches flushed where needed\n- If there’s a health check endpoint or smoke test suite, run it after ops changes.\n\n## Failure modes \u002F debugging\n\n- “Error: This does not seem to be a WordPress installation.”\n  - wrong `--path`, wrong container, or missing `wp-config.php`\n- Multisite commands affecting the wrong site\n  - missing `--url` or wrong URL\n- Search-replace causes unexpected serialization issues\n  - wrong flags or changing serialized data unsafely\n\nSee:\n- `references\u002Fdebugging.md`\n\n## Escalation\n\n- If you cannot confirm environment safety, do not run write operations.\n- If the repo uses containerized tooling (Docker\u002Fwp-env) but you can’t access it, ask for the intended command runner or CI job.\n","# WP-CLI and Ops\n\n## When to use\n\nUse this skill when the task involves WordPress operational work via WP-CLI, including:\n\n- `wp search-replace` (URL changes, domain migrations, protocol switch)\n- DB export\u002Fimport, resets, and inspections (`wp db *`)\n- plugin\u002Ftheme install\u002Factivate\u002Fupdate, language packs\n- cron event listing\u002Frunning\n- cache\u002Frewrite flushing\n- multisite operations (`wp site *`, `--url`, `--network`)\n- building repeatable scripts (`wp-cli.yml`, shell scripts, CI jobs)\n\n## Inputs required\n\n- Where WP-CLI will run (local dev, staging, production) and whether it’s safe to run.\n- How to target the correct site root:\n  - `--path=\u003Cwordpress-root>` and (multisite) `--url=\u003Csite-url>`\n- Whether this is multisite and whether commands should run network-wide.\n- Any constraints (no downtime, no DB writes, maintenance window).\n\n## Procedure\n\n### 0) Guardrails: confirm environment and blast radius\n\nWP-CLI commands can be destructive. Before running anything that writes:\n\n1. Confirm environment (dev\u002Fstaging\u002Fprod).\n2. Confirm targeting (path\u002Furl) so you don’t hit the wrong site.\n3. Make a backup when performing risky operations.\n\nRead:\n- `references\u002Fsafety.md`\n\n### 1) Inspect WP-CLI and site targeting (deterministic)\n\nRun the inspector:\n\n- `node skills\u002Fwp-wpcli-and-ops\u002Fscripts\u002Fwpcli_inspect.mjs --path=\u003Cpath> [--url=\u003Curl>]`\n\nIf 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.\n\n### 2) Choose the right workflow\n\n#### A) Safe URL\u002Fdomain migration (`search-replace`)\n\nFollow a safe sequence:\n\n1. `wp db export` (backup)\n2. `wp search-replace --dry-run` (review impact)\n3. Run the real replace with appropriate flags\n4. Flush caches\u002Frewrite if needed\n\nRead:\n- `references\u002Fsearch-replace.md`\n\n#### B) Plugin\u002Ftheme operations\n\nUse `wp plugin *` \u002F `wp theme *` and confirm you’re acting on the intended site (and network) first.\n\nRead:\n- `references\u002Fpackages-and-updates.md`\n\n#### C) Cron and queues\n\nInspect cron state and run individual events for debugging rather than “run everything blindly”.\n\nRead:\n- `references\u002Fcron-and-cache.md`\n\n#### D) Multisite operations\n\nMultisite changes can affect many sites. Always decide whether you’re operating:\n\n- on a single site (`--url=`), or\n- network-wide (`--network` \u002F iterating sites)\n\nRead:\n- `references\u002Fmultisite.md`\n\n### 3) Automation patterns (scripts + wp-cli.yml)\n\nFor repeatable ops, prefer:\n\n- `wp-cli.yml` for defaults (path\u002Furl, PHP memory limits)\n- shell scripts that log commands and stop on error\n- CI jobs that run read-only checks by default\n\nRead:\n- `references\u002Fautomation.md`\n\n## Verification\n\n- Re-run `wpcli_inspect` after changes that could affect targeting or config.\n- Confirm intended side effects:\n  - correct URLs updated\n  - plugins\u002Fthemes in expected state\n  - cron\u002Fcaches flushed where needed\n- If there’s a health check endpoint or smoke test suite, run it after ops changes.\n\n## Failure modes \u002F debugging\n\n- “Error: This does not seem to be a WordPress installation.”\n  - wrong `--path`, wrong container, or missing `wp-config.php`\n- Multisite commands affecting the wrong site\n  - missing `--url` or wrong URL\n- Search-replace causes unexpected serialization issues\n  - wrong flags or changing serialized data unsafely\n\nSee:\n- `references\u002Fdebugging.md`\n\n## Escalation\n\n- If you cannot confirm environment safety, do not run write operations.\n- If the repo uses containerized tooling (Docker\u002Fwp-env) but you can’t access it, ask for the intended command runner or CI job.\n",{"name":5,"description":7},"main","c5c9f6be96a3086970a7b9e89f09a99a9bf5d585",".claude\u002Fskills\u002Fwp-wpcli-and-ops","https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto","https:\u002F\u002Fspaghetti-dojo.github.io\u002Ftosuto\u002F","https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo","A place where to experiment","2026-05-27 16:04:29",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add Spaghetti-Dojo\u002Ftosuto --skill wp-wpcli-and-ops",{"tool":63,"command":64},"bunx","bunx skills add Spaghetti-Dojo\u002Ftosuto --skill wp-wpcli-and-ops",{"tool":66,"command":67},"pnpm","pnpm dlx skills add Spaghetti-Dojo\u002Ftosuto --skill wp-wpcli-and-ops","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-wpcli-and-ops\u002FSKILL.md",true,[71,77,81,85,89,93,97,101],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Fautomation.md","REFERENCE","参考文档",628,"https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-wpcli-and-ops\u002Freferences\u002Fautomation.md",{"path":78,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":79,"sourceHtmlUrl":80},"references\u002Fcron-and-cache.md",490,"https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-wpcli-and-ops\u002Freferences\u002Fcron-and-cache.md",{"path":82,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fdebugging.md",519,"https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-wpcli-and-ops\u002Freferences\u002Fdebugging.md",{"path":86,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fmultisite.md",568,"https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-wpcli-and-ops\u002Freferences\u002Fmultisite.md",{"path":90,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fpackages-and-updates.md",530,"https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-wpcli-and-ops\u002Freferences\u002Fpackages-and-updates.md",{"path":94,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fsafety.md",804,"https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-wpcli-and-ops\u002Freferences\u002Fsafety.md",{"path":98,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Fsearch-replace.md",1006,"https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-wpcli-and-ops\u002Freferences\u002Fsearch-replace.md",{"path":102,"resourceType":103,"resourceTypeDesc":104,"sizeBytes":105,"sourceHtmlUrl":106},"scripts\u002Fwpcli_inspect.mjs","SCRIPT","脚本",3048,"https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-wpcli-and-ops\u002Fscripts\u002Fwpcli_inspect.mjs",[108,124,156,178,201,221],{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":117,"publishedAt":44},"01M70DDJXEN0BM5TZPB5GF9TA6","wpds","Use when building UIs leveraging the WordPress Design System (WPDS) and its components, tokens, patterns, etc.","https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwpds\u002FSKILL.md",[114],{"categoryNo":115,"categoryName":116,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",[110,39,118,119,120,36,121,35,122,123],"system","tokens","design","design system","patterns","components",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":138,"publishedAt":44},"01M70DDD8SMSRYCT6CMZAZ79V8","wp-rest-api","Use when building, extending, or debugging WordPress REST API endpoints\u002Froutes: register_rest_route, WP_REST_Controller\u002Fcontroller classes, schema\u002Fargument validation, permission_callback\u002Fauthentication, response shaping, register_rest_field\u002Fregister_meta, or exposing CPTs\u002Ftaxonomies via show_in_rest.","https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-rest-api\u002FSKILL.md",[130,133],{"categoryNo":131,"categoryName":132,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":134,"categoryName":135,"taxonomyType":136,"taxonomyTypeDesc":137},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[139,140,141,142,143,144,39,145,146,147,36,148,149,35,150,151,152,153,154,155],"wp rest api","api","REST","rest api","show","register","authentication","Meta","schema","taxonomies","debugging","route","shaping","controller","endpoints","callback","argument",{"skillNo":157,"name":158,"nameZh":6,"description":159,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":44},"01M70DDB298BG7A74YZ3XEWHQY","wp-project-triage","Use when you need a deterministic inspection of a WordPress repository (plugin\u002Ftheme\u002Fblock theme\u002FWP core\u002FGutenberg\u002Ffull site) including tooling\u002Ftests\u002Fversion hints, and a structured JSON report to guide workflows and guardrails.","https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-project-triage\u002FSKILL.md",[],[163,164,165,166,42,167,39,168,169,170,36,171,35,172,173,31,174,175,176,177],"project","wp project triage","triage","deterministic","core","Guardrails","tests","inspection","workflows","you","version","tooling","json","repository","report",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":185,"publishedAt":44},"01M70DD924A87SK645B5HKE39A","wp-plugin-development","Use when developing WordPress plugins: architecture and hooks, activation\u002Fdeactivation\u002Funinstall, admin UI and Settings API, data storage, cron\u002Ftasks, security (nonces\u002Fcapabilities\u002Fsanitization\u002Fescaping), and release packaging.","https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-plugin-development\u002FSKILL.md",[184],{"categoryNo":131,"categoryName":132,"taxonomyType":21,"taxonomyTypeDesc":22},[186,187,188,31,189,39,190,191,36,35,192,193,140,194,195,196,197,198,199,200],"development","plugin development","wp plugin development","uninstall","packaging","hooks","tasks","architecture","capabilities","admin","storage","release","settings","plugins","data storage",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":207,"publishedAt":44},"01M70DD5JTD6MBJV9KAQBZ5191","wp-playground","Use for WordPress Playground workflows: fast disposable WP instances in the browser or locally via @wp-playground\u002Fcli (server, run-blueprint, build-snapshot), auto-mounting plugins\u002Fthemes, switching WP\u002FPHP versions, blueprints, and debugging (Xdebug).","https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-playground\u002FSKILL.md",[],[208,209,210,41,39,211,212,36,213,214,149,171,215,216,30,217,218,219,220,199],"playground","wp playground","instances","themes","auto","switching","Blueprint","browser","server","via","build","run","snapshot",{"skillNo":222,"name":223,"nameZh":6,"description":224,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":225,"categories":226,"keywords":227,"publishedAt":44},"01M70DD2XKSJFZ17MCGEQMT2SQ","wp-phpstan","Use when configuring, running, or fixing PHPStan static analysis in WordPress projects (plugins\u002Fthemes\u002Fsites): phpstan.neon setup, baselines, WordPress-specific typing, and handling third-party plugin classes.","https:\u002F\u002Fgithub.com\u002FSpaghetti-Dojo\u002Ftosuto\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fwp-phpstan\u002FSKILL.md",[],[228,229,230,231,232,39,233,234,211,36,35,235,31,199,236,237,238,239],"wp phpstan","running","typing","projects","static","neon","sites","analysis","party","third-party","static analysis","setup"]