| Plugin Check (PCP) runbook — UI/CLI, all 31 checks → fix map, errors vs warnings | references/plugin-check.md |
| Automated-scan hard blocks (hidden files, DB, disallowed calls) | references/automated-scan.md |
| The 4 manual-review categories + reply phrasing | references/review-categories.md |
| Real-review lessons (sample→sweep, 3-case nonce, phpcs:ignore≠escape, cast≠sanitize, paths, fork prefixes) | references/real-review-lessons.md |
| Prefixing every global (functions/options/hooks/handles/CPT/meta…) | references/prefixing.md |
Sanitize · validate · escape + $wpdb->prepare + webhook signatures | references/sanitization-escaping.md |
| Enqueue JS/CSS (deps/version, inline, gating, blocks, no raw tags) | references/enqueue.md |
| i18n (textdomain==slug, literal strings, translators comments, JS) | references/i18n.md |
| Capabilities & permission callbacks (authz, REST, priv/nopriv) | references/capabilities.md |
| Policy guidelines (license, remote code, tracking, nags, trademarks, disclosure) | references/guidelines.md |
| readme.txt format spec (headers, tags≤5, short desc≤150, screenshots, External services) | references/readme-txt.md |
| Abilities API · AI Client · MCP (per-ability authz, data boundary, destructive confirm, provider disclosure) | references/abilities-ai-mcp.md |
| Security extras (files/WP_Filesystem, uploads, SSRF, disallowed/obfuscation calls) | references/security-extras.md |
| Uninstall & lifecycle (data cleanup, don't delete user content, multisite) | references/uninstall.md |
| Packaging the zip + version/header/readme consistency + .mo | references/packaging.md |
| Scan/PHPCS code → fix lookup | data/plugin-check-errors.csv |