wp-plugin-directory-guidelines

作者: wordpress

在審查WordPress外掛是否符合GPL規範、檢查授權標頭或相容性、評估追加銷售/免費增值/試用軟體模式、驗證…時使用。

npx skills add https://github.com/wordpress/agent-skills --skill wp-plugin-directory-guidelines

Overview

Authoritative reference for the 18 WordPress.org Plugin Directory guidelines. Covers GPL licensing, plugin naming/trademark rules, trialware restrictions, and all other submission requirements.

When to use

Use this skill when you need to:

  • Review a WordPress plugin for compliance with the WordPress.org Plugin Directory guidelines
  • Check GPL license compatibility for a plugin or its bundled libraries
  • Verify license headers in plugin files
  • Identify common guideline violations before submission
  • Answer questions about what is or is not allowed on WordPress.org
  • Evaluate premium/upsell flows, license checks, or freemium positioning
  • Review "teaser" or "preview" UI for trialware violations

Inputs required

  • Plugin source code (or specific files to review)
  • Optional: plugin readme and plugin header metadata for naming and license checks

Procedure

  1. Check the plugin's license header against the Valid License Headers section below.
  2. Walk through the 18 Guidelines checklist, paying special attention to Guidelines 1, 4, 5, 7, 8, and 17.
  3. Confirm trialware/freemium compliance using the checklist in guideline-review-checklist.md (Guideline 5 section).
  4. For bundled third-party code, verify license compatibility against GPL-Compatible Licenses (Quick) below.
  5. Flag matches from Common GPL Violations (Quick) below.
  6. For edge cases, consult the detailed references and the GNU GPL FAQ.

18-Guideline Review Checklist

Use the detailed, per-guideline checklist in guideline-review-checklist.md. Load this reference file only when a full guideline audit is requested.

GPL Compliance (Guideline 1 in Detail)

Use gpl-compliance.md for full license tables, compatibility nuances, and examples. Keep this inline section as a quick decision aid.

Verification (Licensing)

  • Every licensing-related issue must cite Guideline 1 and include the file path and exact license string.
  • Confirm compatibility claims against GPL-Compatible Licenses (Quick) and escalate ambiguous licenses.

Failure modes (Licensing)

  • If a license is not clearly GPL-compatible, do not guess. Check the GNU license list.
  • For dual-license packages, verify both licenses and redistribution terms.

Quick Reference: WordPress GPL Requirements

  • WordPress is GPLv2 or later.
  • Plugins distributed on WordPress.org must be 100% GPL-compatible (code and assets).
  • Include a valid License: header and License URI: in the main plugin file.
  • Do not add restrictions that conflict with GPL freedoms.

Valid License Headers

GPL Versions Summary

VersionYearKey Addition
GPLv11989Base copyleft: share-alike for modifications
GPLv21991"Liberty or death" clause (Section 7), clearer distribution terms
GPLv32007Anti-tivoization, explicit patent grants, compatibility provisions

WordPress uses GPLv2 or later, meaning plugins can use GPLv2, GPLv3, or "GPLv2 or later".

For full license texts, see:

License Compliance Checklist

When reviewing a plugin, verify:

  • Main plugin file has a valid License: header (e.g., GPL-2.0-or-later, GPL-2.0+, GPLv2 or later)
  • Main plugin file has a License URI: header pointing to the GPL text
  • If bundled libraries exist, each has a GPL-compatible license
  • No "split licensing" (e.g., code GPL but premium features proprietary)
  • No additional restrictions beyond what GPL allows
  • No clauses restricting commercial use, modification, or redistribution
  • No obfuscated code (violates the spirit of source code availability)

Valid License Headers for WordPress Plugins

License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
License: GPL-3.0-or-later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

GPL-Compatible Licenses (Quick)

  • Safe defaults: GPL-2.0-or-later, GPL-3.0-or-later.
  • Commonly accepted permissive families: MIT/Expat, BSD, ISC, zlib, Boost.
  • Conditional compatibility requires care: Apache-2.0 and MPL-2.0 (verify usage context).
  • For full accepted and rejected identifiers, use gpl-compliance.md.

Common GPL Violations (Quick)

  • Split licensing that restricts distributed code.
  • Obfuscated or non-corresponding source distribution.
  • Restrictive clauses (non-commercial, no-resale, forced backlink).
  • Bundling GPL-incompatible libraries or assets.

Plugin Naming Rules (Guideline 17)

Use naming-rules.md for full trademark lists, slug blocks, and naming examples. Keep this inline checklist for quick screening.

Naming Checklist (Quick)

  • Name is not a placeholder and has at least 5 alphanumeric characters.
  • Header name and readme name match.
  • Name is specific and function-related; avoid keyword stuffing.
  • Trademark/project names appear only after connectors like for, with, using, and.
  • No banned/discouraged terms or trademark portmanteaus.
  • Slug is lowercase, hyphenated, <= 50 chars, and avoids blocked terms.

來自 wordpress 的更多技能

blueprint
wordpress
在建立、編輯或檢視 WordPress Playground 的 blueprint JSON 檔案時使用。當提及 blueprints、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 端點公開給客戶端。使用 @wordpress/abilities 套件在 JavaScript 中存取能力並進行權限檢查。需要 WordPress 6.9+...
official
wp-abilities-audit
wordpress
稽核 WordPress 外掛的 REST 介面,並產生標準化的稽核文件,提出 Abilities API 註冊建議。產生包含 YAML… 的 markdown 文件。
official
wp-abilities-verify
wordpress
Verify a WordPress plugin's Abilities API registrations: enumerate abilities, check that callback behavior matches each annotation's claim (the adversarial…
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 store/state/actions、區塊 viewScriptModule…)
official