Community程式設計與開發github.com

FSWP QA 工程師

全端 WordPress 開發者(fswp-developer)的驗證階段。針對外掛與主題執行機械閘門(自訂規則腳本、PHP lint、PHPCS(WordPress 標準)、PHP 相容性、PHPStan(WordPress stub))、手動檢查清單、依據 PRD 或變更摘要的場景測試,以及發佈前檢查。回報結果為「通過」、「失敗」或「未執行」,絕不暗示跳過的檢查為通過。由 fswp-developer 在建置後與交付前呼叫;也可直接諮詢以稽核任何外掛或主題資料夾。

FSWP QA 工程師 是什麼?

FSWP QA 工程師是全端 WordPress 開發管線中的專用驗證技能,負責在外掛或主題建置後、交付前執行嚴格的品質閘門。它整合了機械化檢查(如 PHP lint、PHPCS(WordPress-Extra 標準)、PHP 相容性、PHPStan(WordPress stub))以及自訂 Python 腳本(適用於外掛與主題),並明確標記每項檢查為「通過」、「失敗」或「未執行」,絕不允許隱含的通過。此技能支援 Claude Code、VS Code 及其他支援 AI 代理技能的 IDE,確保開發流程符合 WordPress 編碼標準、主題審查要求,並防止範圍蔓延。它也會執行詳細的場景測試,涵蓋全新安裝、升級、解除安裝及遷移模式,並包含發佈前的最終檢查。所有結果會彙總於一份清晰的表格中,並複製到 HANDOFF.md 以便多階段建置或交接給其他代理。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/syncwin/fswp-developer/tree/main/skills/fswp-qa-engineer

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

FSWP QA 工程師 是做什麼的?

驗證建置完成的資料夾,請勿在閘門階段進行修正。先回報問題,再由路由器在修復迴圈中處理。

1. 機械閘門

bash scripts/setup_toolchain.sh              # 每個環境執行一次(僅限 apt 與 GitHub,無 Composer)
bash scripts/run_gate.sh <目錄> [最低-php] [--fix]

run_gate.sh 會偵測主題(含有 Theme Name 標頭的 style.css),並執行 scripts/theme_check.py;否則會執行 scripts/qa_check.py。兩者皆僅使用 Python 標準函式庫,且始終正常運作。接著,在具備 PHP 及相關工具時,會加入:php -l、PHPCS 的 WordPress-Extra 規則集(錯誤導致失敗,警告僅列出)、針對最低 PHP 版本的相容性檢查,以及搭配 WordPress stubs 的 PHPStan 第 5 級分析。

  • --fix 會先執行 phpcbf(WordPress 標準)。請在產生樣板程式碼或大幅編輯後使用,並檢視差異。
  • 外掛檢查需要完整的 WordPress 安裝及命令列工具(wp plugin check <slug>);在其他環境下為「未執行」。請告知使用者在提交至 WordPress.org 外掛目錄前自行執行。主題的對應檢查為 Theme Check 外掛或目錄自動審查。
  • theme_check.py <目錄> [--directory]:不使用旗標時,實際缺陷導致「失敗」,僅目錄相關規則發出「警告」;使用 --directory 時,WordPress.org 主題目錄的要求會導致「失敗」(例如缺少標頭、螢幕截圖尺寸與比例不符、禁止檔案、外掛領域程式碼、缺少必要的經典主題呼叫等)。
  • qa_check.py 也會根據手冊檢查外掛標頭與 readme 規則(例如說明長度、唯一的 Plugin URI、最多 5 個標籤、無 Stable tag: trunk、Tested up to 為數字、簡短說明的長度),並以「警告」標記。
  • qa_check.py 針對外掛強制執行以下規則:ABSPATH 保護、版本一致性(標頭、常數、readme 的 Stable tag)、無 example.com 或 CDN 或託管字型、每一個路由都需有 permission_callback(若使用 __return_true 需附註解)、資料庫升級檢查、將佇列化(enqueue)操作置於回呼函數內、禁用函數、解除安裝保護、僅限 rem 的單位、JS 翻譯、原始碼需隨編譯輸出一起提供、字型授權。theme_check.py 則檢查標頭、授權、必要範本、theme.json 有效性、禁用函數、未跳脫 echo 的啟發式掃描、遠端資源、文字網域、螢幕截圖與 readme。

回報規則: 每一項檢查結果皆為「通過」、「失敗」或「未執行」,並附上所使用的工具版本。「未執行」絕非通過,也絕不會摘要為「乾淨」。若缺少 PHP 或某項工具,請明確說明並指出可用於執行的命令。

1a. 範圍檢查

將差異清單或檔案清單與已核准的變更摘要進行比對。計畫中未要求的檔案、鉤子、選項或相依項目,將回報為「範圍蔓延」(請參閱 fswp-developer/references/lean-coding.md)。計算新增與刪除的行數,並對不成比例的情況提出意見。

2. 手動檢查清單

references/checklist.md:僅包含腳本無法判斷的項目。請在機械閘門全部通過後執行。

3. 場景測試

PRD(fswp-architect)中的每個編號場景,均需標記為「通過」、「失敗」或「未執行」,並附上佐證。務必包含以下項目:

  • 全新安裝(無先前的選項或資料表):不得出現任何通知或嚴重錯誤。
  • 停用後重新啟用:不得產生重複的排程或選項。
  • 從先前版本的儲存資料升級(不重新啟用):架構與選項在載入時成功遷移。
  • 解除安裝:僅移除屬於外掛的資料。
  • 遷移模式:將匯出差異與 baseline/ 目錄進行視覺回歸比對(fswp-architect)。

依工作類型額外加入:

  • 主題: PRD 列出的每一種範本類型,皆需以真實內容及空白內容進行測試;編輯器與前端顯示一致;僅使用鍵盤即可完整操作;切換至其他主題再切回,不得留下任何嚴重錯誤。
  • 更新: 變更摘要中的每個對等性項目均需重新檢查並標記;從先前版本的儲存資料升級功能正常;變更摘要以外的事項皆未改變(檢視差異)。
  • 附加元件: 主機處於啟用狀態且在支援範圍內(功能正常);主機處於停用狀態(附加元件保持靜默,顯示提示訊息,無嚴重錯誤);主機版本低於支援版本(乾淨地拒絕執行)。
  • 核心修補: 工單中的重現步驟在修補前失敗、修補後通過;相關的 PHPUnit 測試群組通過;受影響的行以 PHPCS 檢查後無錯誤;請參閱 fswp-core-contributor。

若可執行 PHP,請透過小型 PHP 腳本測試啟用與遷移邏輯;否則以閱讀程式碼方式追蹤,並標註為「經追蹤,未執行」。

4. 發佈檢查

在以上所有項目皆為通過後:執行 references/release-check.md。

輸出

一個表格:檢查項目 | 通過/失敗/未執行 | 詳細說明。接著列出失敗項目及其檔案與行號,然後是使用者必須自行執行的命令。對於需要多次工作階段才能完成的建置,請將表格複製到 HANDOFF.md 中。

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

fswp-api-developer

Domain skill for WordPress REST API and Abilities API work in Full-Stack WP Developer. Covers registering routes with schemas, argument validation and sanitization, permission callbacks, controller classes, exposing post types and meta, authentication (cookie nonce, application passwords), pagination and errors, and registering abilities with input and output schemas and safety annotations. Use for any custom endpoint or machine-readable capability in a plugin or theme.

fswp-architect

Planning stage of Full-Stack WP Developer. Classifies the work (new plugin, new theme, update to an existing plugin or theme, add-on for another product, or WordPress Core patch), triages existing code with a bundled detection script, asks one round of essential questions, does competitive research, and produces one reviewable PRD or change brief with a single approval gate. Also covers Migration mode and multi-session handoff docs. Invoked by fswp-developer before any code is written; consult directly for PRD, change-brief, or handoff-doc questions.

fswp-block-developer

Domain skill for WordPress block editor work in Full-Stack WP Developer. Covers building custom Gutenberg blocks (block.json, static and dynamic rendering, attributes, supports, InnerBlocks, variations, deprecations, block bindings), block patterns, and the Interactivity API (data-wp directives, stores, server-side state), with the @wordpress/scripts build workflow. Use for any custom block, pattern, or front-end interactivity in a plugin or theme.

fswp-core-contributor

WordPress Core contribution stage of Full-Stack WP Developer. Guides a contributor through finding or filing a Trac ticket, setting up the wordpress-develop checkout and test environment, writing a patch or GitHub pull request that follows Core coding standards, inline documentation, backward compatibility and tests, and preparing the ticket comment; also routes block-editor changes to the Gutenberg repository and security reports to the private process. Invoked by fswp-developer for Core patches; consult directly for Core workflow questions.

fswp-devops-engineer

Domain skill for WordPress development tooling in Full-Stack WP Developer. Covers local environments (wp-env with Docker, WordPress Playground and Blueprints), command-line site operations (plugin and theme management, database export, search-replace, cron, scaffolding), coding standards and static analysis (PHPCS with WordPress standards, PHPStan with WordPress stubs), PHP and JS testing setup, and the @wordpress/scripts toolchain. Use when setting up, running, or automating a WordPress dev or test environment.

fswp-maintainer

Change stage for existing WordPress code in Full-Stack WP Developer. Updates, fixes, refactors, and upgrades existing plugins and themes without breaking them, and builds add-ons for products you do not own (WooCommerce extensions, page-builder elements, extensions of other plugins) using hooks instead of edits to third-party files. Covers reading before changing, parity lists, deprecation, host compatibility, upgrade paths, and patch delivery. Invoked by fswp-developer after an approved change brief; consult directly for safe-change or add-on questions.

fswp-reviewer

Independent review stage of Full-Stack WP Developer. Reviews a finished WordPress plugin, theme, add-on, or Core patch through a security lens (WordPress-specific vulnerabilities, REST and AJAX authorization with an API risk map, AI-generated-code risks), a quality lens (error handling, data and upgrade safety, performance, i18n, accessibility, comment accuracy, test gaps, class and type design, scope), and an optional lean lens for trimming over-engineering, reporting only high-confidence findings in a fixed format. Invoked by fswp-developer after the verify gate, normally through the fswp-code-reviewer agent; consult directly to review or optimize any WordPress code.

fswp-theme-developer

Theme build stage of Full-Stack WP Developer. Builds custom WordPress themes - block themes (theme.json, templates, template parts, patterns, style variations), classic themes (template hierarchy, functions.php, theme supports), hybrids, and child themes - with accessibility, escaping, and directory readiness built in, plus a scaffold script. Invoked by fswp-developer after an approved PRD for a new theme; consult directly for a specific theme pattern. For changes to an existing theme use fswp-maintainer.

syncwin/fswp-plugin-developer

Plugin build stage of Full-Stack WP Developer. House standards and code templates for real WordPress plugins (not shortcode snippets) - folder anatomy, activation/uninstall lifecycle, custom post types and tables, admin UI tiers, front-end output on the Atomic Framework, REST and cron, i18n, distribution, and the Tier 3 React admin stack - plus a scaffold script. Also the base structure for add-ons. Invoked by fswp-developer after an approved PRD; consult directly for a specific plugin build pattern.

相關技能