Ingénieur QA FSWP

Étape de vérification du développeur Full-Stack WordPress. Exécute la passerelle mécanique pour les plugins et thèmes (scripts maison, PHP lint, PHPCS avec les standards WordPress, compatibilité PHP, PHPStan avec les stubs WordPress), la checklist manuelle, les tests de scénarios issus du PRD ou du brief de changement, et la vérification pré-livraison. Rapporte PASS, ÉCHEC ou NON EXÉCUTÉ et ne laisse jamais supposer qu'un contrôle sauté est réussi. Invoqué par fswp-developer après un build et à nouveau avant la livraison ; consultez directement pour auditer n'importe quel dossier de plugin ou thème.

Qu'est-ce que Ingénieur QA FSWP ?

Ce skill, nommé **FSWP QA Engineer**, est l'étape de vérification automatisée et manuelle pour le développement de plugins et thèmes WordPress dans un pipeline Full-Stack. Il est invoqué par le skill `fswp-developer` après chaque build et avant la livraison finale. Son rôle principal est d'exécuter une **passerelle mécanique** (scripts bash, PHP lint, PHPCS avec les standards WordPress-Extra, vérification de compatibilité PHP minimale, et PHPStan niveau 5 avec les stubs WordPress) et de rapporter clairement **PASS**, **FAIL** ou **NOT RUN** pour chaque contrôle, sans jamais masquer un contrôle sauté. En plus des vérifications automatisées, ce skill inclut une **checklist manuelle** détaillée, des **tests de scénarios** (installation propre, mise à jour, désactivation, désinstallation, migration) spécifiques au type de travail (thème, mise à jour, extension, correctif noyau), et une **vérification de périmètre** (scope creep) comparant le diff au brief approuvé. Le skill est conçu pour fonctionner avec des outils Python standards, PHP et les outils CLI WordPress (wp-cli) lorsqu'ils sont disponibles. Il génère un rapport complet sous forme de tableau, listant chaque contrôle avec son statut, les détails d'échec avec fichier et ligne, et les actions que l'utilisateur doit exécuter manuellement (comme le Plugin Check avant soumission). C'est un outil essentiel pour garantir la qualité, la conformité aux standards WordPress et l'absence de régressions avant livraison, que ce soit pour des plugins, des thèmes, des mises à jour ou des correctifs du noyau.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/syncwin/fswp-developer/tree/main/skills/fswp-qa-engineer

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Ingénieur QA FSWP ?

Vérifiez le dossier construit, ne corrigez pas pendant le passage en passerelle. Signalez d'abord, puis corrigez dans la boucle de correction du routeur.

1. Passerelle mécanique

bash scripts/setup_toolchain.sh              # une fois par environnement (apt + GitHub uniquement, pas de Composer)
bash scripts/run_gate.sh <dir> [min-php] [--fix]

run_gate.sh détecte un thème (un style.css avec un en-tête Theme Name) et exécute scripts/theme_check.py ; sinon, il exécute scripts/qa_check.py. Les deux utilisent uniquement la bibliothèque standard de Python et fonctionnent toujours. Ensuite, il ajoute, là où PHP et les outils existent : php -l, PHPCS WordPress-Extra (les erreurs font échouer, les avertissements sont listés), la compatibilité PHP pour le PHP minimum, et PHPStan niveau 5 avec les stubs WordPress.

  • --fix exécute phpcbf (standard WordPress) en premier. Utilisez-le après le scaffold et après les modifications importantes ; examinez le diff.
  • Plugin Check nécessite une installation WordPress et la ligne de commande (wp plugin check <slug>) ; il n'est PAS EXÉCUTÉ ailleurs. Dites à l'utilisateur de l'exécuter avant une soumission de plugin sur WordPress.org. Pour les thèmes, l'équivalent est le plugin Theme Check ou la révision automatisée de l'annuaire.
  • theme_check.py <dir> [--directory] : sans le drapeau, les défauts réels font échouer (FAIL) et les règles spécifiques aux répertoires sont des avertissements (WARN) ; avec --directory, les exigences du répertoire de thèmes WordPress.org font échouer (en-têtes manquants, taille et ratio de la capture d'écran, fichiers interdits, code de territoire de plugin, appels requis classic-theme).
  • qa_check.py vérifie également les règles d'en-tête de plugin et de readme issues du manuel (longueur de la description, URI de plugin unique, au plus 5 tags, pas de Stable tag: trunk, Tested up to numérique, longueur de la courte description) sous forme d'avertissements.
  • qa_check.py applique, pour les plugins : les gardes ABSPATH, la correspondance de version (en-tête, constante, Stable tag du readme), pas de example.com ni de CDN ni de polices hébergées, permission_callback sur chaque route avec __return_true commenté, vérification de mise à jour de base de données, enqueue dans les callbacks, fonctions bannies, garde de désinstallation, unités en lecture seule, traductions JS, source fournie avec la sortie compilée, licences de polices. theme_check.py vérifie l'en-tête, la licence, les modèles d'entrée, la validité de theme.json, les fonctions bannies, l'heuristique d'echo non échappé, les ressources distantes, le domaine de texte, la capture d'écran et le readme.

Règle de rapport : chaque vérification est PASS, FAIL ou NOT RUN, avec les versions des outils utilisés. NOT RUN n'est jamais un succès et n'est jamais résumé comme "propre". Si PHP ou un outil est manquant, dites-le et nommez la commande qui l'exécuterait.

1a. Vérification du périmètre

Comparez le diff ou la liste de fichiers avec le brief approuvé. Les fichiers, hooks, options ou dépendances que le plan n'a pas demandés sont signalés comme une dérive de périmètre (voir fswp-developer/references/lean-coding.md). Comptez les lignes ajoutées par rapport à celles supprimées et commentez une disproportion.

2. Checklist manuelle

references/checklist.md : uniquement les éléments qu'un script ne peut pas juger. Exécutez-la après que la passerelle mécanique est verte.

3. Tests de scénarios

Chaque scénario numéroté dans le PRD (fswp-architect) obtient PASS, FAIL ou NOT RUN avec des preuves. Incluez toujours :

  • Installation propre sans options ni tables préexistantes : pas d'avis ni d'erreurs fatales.
  • Désactivation puis réactivation : pas de planifications ou d'options en double.
  • Mise à jour depuis des données stockées d'une version précédente sans réactivation : le schéma et les options migrent au chargement.
  • Désinstallation : seules les données appartenant au plugin sont supprimées.
  • Mode migration : exportez les diffs et la passerelle de régression visuelle par rapport à baseline/ (fswp-architect).

Par type de travail, ajoutez :

  • Thème : chaque type de modèle que le PRD liste s'affiche avec du contenu réel et avec du contenu vide ; l'éditeur et le front-end correspondent ; la navigation au clavier uniquement fonctionne ; le changement de thème vers un autre et le retour ne laissent pas d'erreur fatale.
  • Mise à jour : chaque élément de la liste de parité du brief de changement est revérifié et marqué ; la mise à jour depuis les données stockées de la version précédente fonctionne ; rien en dehors du brief n'a changé (diff lu).
  • Extension : l'hôte est actif et dans la plage (fonctionne) ; l'hôte inactif (l'extension reste silencieuse, affiche un avis, pas d'erreur fatale) ; l'hôte en dessous de la version supportée (refuse proprement).
  • Correctif noyau : la reproduction du ticket échoue avant et réussit après ; le groupe PHPUnit pertinent passe ; PHPCS est propre sur les lignes modifiées ; voir fswp-core-contributor.

Là où PHP peut s'exécuter, exercez la logique d'activation et de migration avec un petit script PHP ; sinon, tracez en lisant et étiquetez-le "traced, not run" (traçé, non exécuté).

4. Vérification de livraison

Après que tout ce qui précède est vert : references/release-check.md.

Sortie

Un tableau : vérification | PASS/FAIL/NOT RUN | détail. Ensuite, la liste des échecs avec fichier et ligne, puis ce que l'utilisateur doit exécuter lui-même. Pour les sessions multi-builds, copiez le tableau dans 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.

Skills associés