wp-edit-pluginlisted
Install: claude install-skill nuttaruj/rolepod-wplab
# WP Edit Plugin
Plugin-specific config writes. Each adapter detects its plugin (REST namespace probe), reads the current state, writes through the plugin's own REST surface (no direct postmeta — that misses plugin-side hooks). Auto-picks the right adapter when multiple plugins of the same family are installed.
## Iron Rule
<EXTREMELY-IMPORTANT>
1. NEVER write Yoast post meta via raw `postmeta` calls — Yoast's REST has hooks for analysis recompute + sitemap rebuild; raw writes desync the indexer.
2. NEVER write Woo products via core `wp/v2/posts` with `type=product` — `/wc/v3/products` runs Woo-side hooks (price index, attribute lookup, stock cache) that the core endpoint skips.
3. ALWAYS check `detected: true` in the adapter response before chaining a write — adapters return `detected: false` cleanly when the plugin is inactive; writing against a `false` detection throws inscrutable errors at the plugin layer.
</EXTREMELY-IMPORTANT>
## When to use
- "Set SEO title/description for page X" (Yoast or RankMath)
- "Add a WooCommerce product / list orders / change shipping zones"
- "Link the English page to the Thai translation" (WPML)
- "Add an ACF field group" / "set custom field value"
- "Create a contact form" (CF7 / Gravity / WPForms)
Skip when:
- The content is core (post title/content) → `wp-content`.
- The change is a visual layout (Elementor JSON, theme.json) → `wp-edit-design`.
## Boundary
Owns:
- `rolepod_wp_yoast_{read,write}` — Yoast SEO.
- `rolepod_wp_rankmat