feat(wordpress): EMCP Tools workflow skills + widget catalogs + pending wordpress skills

- emcp-page-building, emcp-content-ops, emcp-site-audit: EMCP Tools MCP
  workflows verified live (atomic/legacy interplay, apply-template overwrite
  risk, create-theme-template goes live immediately, false-positive malware
  pattern in scan-security, change ledger + rollback)
- elementor-pro-widgets: 30+5 native Elementor Pro widgets (curated catalog)
- elementskit-widgets / powerpack-widgets: 42 + 97 third-party widgets,
  widgetType extracted from plugin source (not guessed by convention)
- plugin.json bumped 1.2.0 -> 1.3.0, keywords + description updated
- commits pending wordpress skills already present as untracked files
  (emcp-tools, wordfence, wp-activity-log, seguranca-descomplicar,
  webp-express, wp-fastest-cache, wp-font-perf, wp-meteor,
  wp-activity-log, redis-object-cache, app-for-cloudflare) and pending
  edits (rank-math, wp-cli, wp-content-seo-gate)
This commit is contained in:
Claude Code
2026-08-19 03:44:00 +01:00
parent aa981e8089
commit 4a55d51329
22 changed files with 6432 additions and 29 deletions
@@ -0,0 +1,113 @@
# Catálogo completo — 97 widgets PowerPack Elements Pro
Extraído ao vivo de `wp-content/plugins/powerpack-elements/classes/class-pp-config.php`, método `get_widget_info()`, num site em produção com PowerPack Elements Pro 2.11.7. Coluna `Classe PHP` é o identificador interno do módulo (útil para localizar o ficheiro fonte em `modules/<pasta>/widgets/`); coluna `widgetType` é o valor real gravado em `_elementor_data` e usado em `get-widget-schema`/`add-free-widget`.
| widgetType | Título | Classe PHP |
|---|---|---|
| `pp-advanced-accordion` | Advanced Accordion | Advanced_Accordion |
| `pp-advanced-menu` | Advanced Menu | Advanced_Menu |
| `pp-advanced-tabs` | Advanced Tabs | Advanced_Tabs |
| `pp-album` | Album | Album |
| `pp-author-list` | Author List | Author_List |
| `pp-breadcrumbs` | Breadcrumbs | Breadcrumbs |
| `pp-business-hours` | Business Hours | Business_Hours |
| `pp-business-reviews` | Business Reviews | Business_Reviews |
| `pp-buttons` | Buttons | Buttons |
| `pp-card-slider` | Card Slider | Card_Slider |
| `pp-categories` | Categories | Categories |
| `pp-contact-form-7` | Contact Form 7 | Contact_Form_7 |
| `pp-content-reveal` | Content Reveal | Content_Reveal |
| `pp-content-ticker` | Content Ticker | Content_Ticker |
| `pp-countdown` | Countdown Timer | Countdown |
| `pp-counter` | Counter | Counter |
| `pp-coupons` | Coupons | Coupons |
| `pp-devices` | Devices | Devices |
| `pp-divider` | Divider | Divider |
| `pp-faq` | FAQ | Faq |
| `pp-flipbox` | Flip Box | Flipbox |
| `pp-fluent-forms` | Fluent Forms | Fluent_Forms |
| `pp-formidable-forms` | Formidable Forms | Formidable_Forms |
| `pp-image-gallery` | Image Gallery | Image_Gallery |
| `pp-image-slider` | Image Slider | Image_Slider |
| `pp-google-maps` | Google Maps | Google_Maps |
| `pp-gravity-forms` | Gravity Forms | Gravity_Forms |
| `pp-dual-heading` | Dual Heading | Dual_Heading |
| `pp-fancy-heading` | Fancy Heading | Fancy_Heading |
| `pp-image-hotspots` | Image Hotspots | Hotspots |
| `pp-how-to` | How To | How_To |
| `pp-icon-list` | Icon List | Icon_List |
| `pp-image-accordion` | Image Accordion | Image_Accordion |
| `pp-image-comparison` | Image Comparison | Image_Comparison |
| `pp-info-box` | Info Box | Info_Box |
| `pp-info-box-carousel` | Info Grid & Carousel | Info_Box_Carousel |
| `pp-info-list` | Info List | Info_List |
| `pp-info-table` | Info Table | Info_Table |
| `pp-instafeed` | Instagram Feed | Instafeed |
| `pa-link-effects` | Link Effects | Link_Effects |
| `pp-login-form` | Login Form | Login_Form |
| `pp-logo-carousel` | Logo Carousel | Logo_Carousel |
| `pp-logo-grid` | Logo Grid | Logo_Grid |
| `pp-magazine-slider` | Magazine Slider | Magazine_Slider |
| `pp-ninja-forms` | Ninja Forms | Ninja_Forms |
| `pp-offcanvas-content` | Offcanvas Content | Offcanvas_Content |
| `pp-one-page-nav` | One Page Navigation | Onepage_Nav |
| `pp-modal-popup` | Popup Box | Popup_Box |
| `pp-posts` | Advanced Posts | Posts |
| `pp-price-menu` | Price Menu | Price_Menu |
| `pp-pricing-table` | Pricing Table | Pricing_Table |
| `pp-promo-box` | Promo Box | Promo_Box |
| `pp-random-image` | Random Image | Random_Image |
| `pp-recipe` | Recipe | Recipe |
| `pp-registration-form` | Registration Form | Registration_Form |
| `pp-review-box` | Review Box | Review_Box |
| `pp-scroll-image` | Scroll Image | Scroll_Image |
| `pp-showcase` | Showcase | Showcase |
| `pp-sitemap` | Sitemap | Sitemap |
| `pp-table` | Table | Table |
| `pp-tabbed-gallery` | Tabbed Gallery | Tabbed_Gallery |
| `pp-table-of-contents` | Table of Contents | Table_Of_Contents |
| `pp-team-member` | Team Member | Team_Member |
| `pp-team-member-carousel` | Team Member Carousel | Team_Member_Carousel |
| `pp-testimonials` | Testimonials | Testimonials |
| `pp-tiled-posts` | Tiled Posts | Tiled_Posts |
| `pp-timeline` | Timeline | Timeline |
| `pp-toggle` | Toggle | Toggle |
| `pp-twitter-buttons` | Twitter Buttons | Twitter_Buttons |
| `pp-twitter-grid` | Twitter Grid | Twitter_Grid |
| `pp-twitter-timeline` | Twitter Timeline | Twitter_Timeline |
| `pp-twitter-tweet` | Twitter Tweet | Twitter_Tweet |
| `pp-video` | Video | Video |
| `pp-video-gallery` | Video Gallery | Video_Gallery |
| `pp-wpforms` | WP Forms | WP_Forms |
| `pp-woo-add-to-cart` | Woo — Add To Cart | Woo_Add_To_Cart |
| `pp-woo-cart` | Woo — Cart | Woo_Cart |
| `pp-woo-categories` | Woo — Categories | Woo_Categories |
| `pp-woo-checkout` | Woo — Checkout | Woo_Checkout |
| `pp-woo-mini-cart` | Woo — Mini Cart | Woo_Mini_Cart |
| `pp-woo-offcanvas-cart` | Woo — Off Canvas Cart | Woo_Offcanvas_Cart |
| `pp-woo-products` | Woo — Products | Woo_Products |
| `pp-woo-my-account` | Woo — My Account | Woo_My_Account |
| `pp-woo-product-tabs` | Woo — Product Tabs | Woo_Product_Tabs |
| `pp-woo-product-title` | Woo — Product Title | Woo_Product_Title |
| `pp-woo-product-meta` | Woo — Product Meta | Woo_Product_Meta |
| `pp-woo-product-price` | Woo — Product Price | Woo_Product_Price |
| `pp-woo-product-rating` | Woo — Product Rating | Woo_Product_Rating |
| `pp-woo-product-stock` | Woo — Product Stock | Woo_Product_Stock |
| `pp-woo-product-short-description` | Woo — Product Short Description | Woo_Product_Short_Description |
| `pp-woo-product-content` | Woo — Product Content | Woo_Product_Content |
| `pp-woo-product-images` | Woo — Product Images | Woo_Product_Images |
| `pp-woo-product-reviews` | Woo — Product Reviews | Woo_Product_Reviews |
| `pp-woo-product-upsell` | Woo — Product Upsell | Woo_Product_Upsell |
| `pp-woo-add-to-cart-notification` | Woo — Add to Cart Notification | Woo_Add_To_Cart_Notification |
| `pp-woo-archive-description` | Woo — Archive Description | Woo_Archive_Description |
| `pp-woo-single-product` | Woo — Single Product | Woo_Single_Product |
## Excepções confirmadas ao nome-de-pasta óbvio
- `Hotspots` (pasta `modules/hotspots`) → `pp-image-hotspots`, não `pp-hotspots`.
- `Onepage_Nav` (pasta `modules/onepage-nav`) → `pp-one-page-nav`, não `pp-onepage-nav`.
- `Popup_Box` (pasta `modules/modal-popup`) → `pp-modal-popup`.
- `Link_Effects` (pasta `modules/link-effects`) → **`pa-link-effects`** — único widget com prefixo `pa-` em vez de `pp-` em todo o catálogo.
- `WP_Forms` → `pp-wpforms` (sem hífen entre "wp" e "forms").
Regra geral: confirmar sempre `widgetType` com `get-widget-schema({ widget_type, full: true })` antes de o usar em `add-free-widget` — este ficheiro é a fonte mais fiável disponível, mas widgets podem ser adicionados/renomeados em versões futuras do plugin.