fswp-architect

Phase de planification du développeur Full-Stack WordPress. Classe le travail (nouveau plugin, nouveau thème, mise à jour, extension, patch Core), trie le code existant avec un script de détection intégré, pose une série de questions essentielles, effectue une recherche concurrentielle et produit un document de spécification (PRD) révisable avec une seule porte d'approbation. Gère également le mode Migration et les documents de passation multi-sessions. Invoqué par fswp-developer avant toute écriture de code ; consultez-le directement pour les questions sur le PRD, le brief de changement ou le document de passation.

Qu'est-ce que fswp-architect ?

Cette compétence ('fswp-architect'), dédiée à l'agent fswp-developer, prend en charge la phase de conception et de planification avant toute implémentation. Elle détermine d'abord le type de travail (nouveau plugin, thème, mise à jour, extension, patch Core) et, si nécessaire, exécute un script de détection pour analyser le code existant, garantissant que toutes les décisions sont fondées sur des données réelles. Ensuite, elle pose une unique série de questions essentielles pour lever les ambiguïtés (cible de distribution, surface fonctionnelle, préfixe de code, pile technologique), effectue une brève recherche concurrentielle, puis génère un document de spécification (PRD) ou un brief de changement à partir de templates prédéfinis. Ce document est soumis à une seule porte d'approbation, après quoi l'implémentation peut commencer. fswp-architect couvre également un mode Migration dédié pour restructurer des extensions existantes, des documents de passation pour les développements multi-sessions, et intègre strictement les règles de la maison (standards de code, conventions de nommage) pour éliminer les allers-retours. En résumé, c'est l'étape incontournable pour traduire une idée ou une demande en un plan d'action clair, vérifié et approuvé, applicable à tout projet WordPress (plugins, thèmes, patches Core).

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

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

FSWP Architect

Aucun code n'est écrit tant que cette étape ne se termine pas par un PRD ou un brief de changement approuvé. Objectif : chaque décision prise en un seul tour de questions et un seul document révisable, zéro allers-retours par la suite.

Étape 0 : Type de travail et tri

  • Confirmer le type de travail dans fswp-developer/references/work-types.md : Nouveau plugin, Nouveau thème, Mise à jour, Extension, Patch Core.
  • Mise à jour, Extension, Patch Core ou toute base de code inconnue : exécuter d'abord python3 scripts/detect_wp_project.py <chemin>. Il rapporte le type de projet (plugin, thème, thème FSE, checkout Core, site, inconnu), le fichier principal et les champs d'en-tête, les indices de version et de version minimale, les outils (Composer, npm, PHPCS, PHPStan, tests) et les hooks/routes REST/blocs trouvés. Citer les résultats dans le plan. Le script ne fait que lire les fichiers.
  • Les demandes en forme de plugin ou de thème comptent même sans le mot "plugin" ou "thème" (types de contenu, intégrations REST, tableaux de bord admin, templates personnalisés, style à l'échelle du site, tout ce qui nécessite un comportement d'activation ou de désinstallation). Les outils à shortcode unique livrés en tant que fichiers FluentSnippets appartiennent à wordpress-mini-app-builder, pas ici.

Étape 0a : Pas encore de PRD

Si l'utilisateur demande à commencer la construction et qu'aucun PRD ni brief de changement n'existe : lui demander d'en fournir un avant de commencer. Ne pas commencer l'implémentation et ne pas passer silencieusement à l'Étape 1 à sa place. Si l'utilisateur insiste explicitement ("construis-le simplement", "saute le PRD"), l'exigence est levée : aller directement à l'Étape 1 et rédiger le document à partir de ce tour de questions.

Étape 0b : PRD fourni par l'utilisateur, AGENTS.md, documentation d'architecture

Les lire avant d'écrire du code et les vérifier par rapport à fswp-plugin-developer/references/standards.md et aux autres règles de la maison.

  • Pas de conflit réel : procéder avec la documentation fournie ainsi que les standards de la maison ; les règles de la maison comblent les lacunes.
  • Conflit réel (le document demande quelque chose qu'une règle de la maison interdit, comme un raccourci de sécurité ou un schéma de nommage) : nommer les deux côtés clairement et demander lequel prévaut. Ne jamais les mélanger silencieusement.
  • Un PRD fourni passe quand même par l'Étape 4 ; il n'en est pas exempté.

Étape 1 : Un tour de questions essentielles

Utiliser l'outil de question structurée lorsqu'il est disponible (Claude Code : AskUserQuestion ; claude.ai : ask_user_input_v0) ; sinon une liste numérotée compacte. Au maximum 3-4 questions, choisies par type de travail :

Type de travailDemander à propos de
Nouveau pluginCible de distribution (WordPress.org, zip privé, les deux) ; surface fonctionnelle (type de contenu, table personnalisée, REST, cron, écran admin, sortie front-end) ; système de design front-end (le vôtre, s'il existe, ou neutre) ; comportement statique ou dynamique ; préfixe/acronyme de code pour ce projet
Nouveau thèmeThème FSE ou classique ; distribution (répertoire de thèmes WordPress.org, privé, site client) ; point de départ (from scratch, enfant d'un thème existant) ; quels types de contenu et mises en page sont requis ; préfixe/acronyme de code pour ce projet
Mise à jourObjectif (bug, fonctionnalité, compatibilité, refactorisation) ; comment elle est livrée (patch sur un dépôt, zip, modifications directes) ; ce qui ne doit pas changer
ExtensionProduit hôte et plage de versions supportées ; ce que l'extension ajoute ; ce qui doit se passer si l'hôte est manquant
Patch CoreNuméro de ticket ou description du bug ; composant cible ; si un ticket Trac existe déjà

Tout ce qui est ouvert (noms de champs, règles métier, cas particuliers, nom de travail) est déduit et listé sous "Hypothèses" du PRD, pas demandé. Pas de second tour à moins que les réponses du premier tour n'aient créé une bifurcation réellement bloquante.

Préfixe/acronyme : pour les travaux de nouveau plugin et nouveau thème, demander quel acronyme ou préfixe court le code du projet doit utiliser ; si l'utilisateur n'en a pas, proposer 2-3 candidats dérivés du nom du projet lui-même et le laisser choisir. Il n'y a pas de valeur par défaut intégrée et le nom ou la marque de cet outil n'est jamais utilisé comme substitut. Règle complète, formulation exacte de la question et exceptions (minimum 4 lettres pour un thème, slug du produit vs. préfixe de code, noms réservés) : fswp-developer/references/brand-naming.md. Jamais WP ou Plugin comme préfixe. Pour les travaux de mise à jour et d'extension, ne pas demander ; conserver le préfixe existant du projet. Versions minimales par défaut : WordPress 6.4, PHP 7.4 ; augmenter uniquement pour un besoin spécifique (par exemple PHP 8.1 pour les énumérations). Confirmer les exigences actuelles dans la documentation officielle quand c'est important.

Informations sur le projet (même tour, jamais un second) : nom de l'entreprise, nom du produit, auteur, contributeurs et liens (site web, documentation, support, dépôt). Demander uniquement ce qui n'est pas déjà indiqué. Ne jamais inventer une valeur manquante : un lien ou un contributeur non indiqué est omis de chaque fichier généré.

Décision sur la pile technologique : pour un nouveau travail, décider le niveau de l'interface d'administration et le niveau JS avant de rédiger le PRD (fswp-plugin-developer/references/standards.md section 2). Pour un travail existant, la pile existante reste en place sauf s'il y a une raison énoncée de la changer.

Étape 2 : Recherche concurrentielle

2-3 produits leaders dans la catégorie (répertoire WordPress.org ou SaaS). Capturer les fonctionnalités de base, les plaintes courantes et les conventions qui méritent d'être imitées. Quelques recherches ; 3-5 puces dans le document. Ignorer pour les patches Core ; rechercher plutôt l'historique du ticket.

Étape 3 : Le document

  • Nouveau plugin, nouveau thème : PRD à partir de references/prd-template.md (variantes pour les thèmes à l'intérieur).
  • Mise à jour, Extension : brief de changement à partir de references/change-brief-template.md : comportement actuel, comportement demandé, liste de parité (ce qui doit continuer à fonctionner), tableau de compatibilité, risques, plan de test.
  • Patch Core : brief centré sur le ticket à partir de references/change-brief-template.md plus les étapes dans fswp-core-contributor.

Passer le comportement front-end à travers la checklist JS en 5 points (fswp-plugin-developer/references/frontend-output.md) et indiquer le niveau. Les comptes dérivés (tokens, blocs, routes, écrans) proviennent des données ou du code, jamais de la mémoire.

Étape 4 : Porte d'approbation (la seule)

Présenter le document. Les décisions sont visibles et déjà prises ; l'utilisateur approuve ou corrige une fois. Si le niveau JS est Alpine, le nommer et obtenir un oui explicite. Pas d'échafaudage ni de modifications avant l'approbation ; les corrections approuvées sont intégrées en premier.

Mode Migration

Pour reconstruire un plugin existant sur une nouvelle pile. Avant toute modification de code :

  1. Base de référence : capturer des captures d'écran de chaque écran et état, ainsi que des exports de référence (paramètres, données, fichiers générés) de l'ancienne version. Stocker sous baseline/.
  2. Matrice de parité : chaque fonctionnalité, paramètre, hook, shortcode, route REST et donnée stockée de l'ancienne version est mappé sur : conservé / changé (pourquoi) / supprimé (pourquoi). Rien de non listé ne part silencieusement.
  3. Diff d'exports : après la reconstruction, régénérer les mêmes exports et les comparer à la base de référence. Les différences doivent être intentionnelles et listées.
  4. Porte de régression visuelle : comparer les nouvelles captures d'écran à la base de référence pour chaque écran ; les différences inexpliquées bloquent la livraison (alimente fswp-qa-engineer).
  5. Chemin des données : une mise à niveau à partir des données stockées de l'ancienne version doit fonctionner sans réactivation (voir fswp-qa-engineer).

Étape 5 : Documents de passation (constructions multi-sessions)

Lorsque la construction s'étend sur plusieurs sessions, écrire les deux fichiers dans la racine du dépôt du plugin (pas le zip) :

  • AGENTS.md : ce que c'est ; commandes (build, test, porte QA) ; carte d'architecture ; règles et conventions de la maison ; décisions et contraintes ; pièges et zones interdites ; définition de "fini".
  • HANDOFF.md : état actuel ; carte du code (fichier : responsabilité) ; tableau vérifié / non vérifié (chaque scénario du PRD avec RÉUSSI / ÉCHOUÉ / NON EXÉCUTÉ et preuve) ; éléments ouverts ; prochaine étape.

Mettre à jour les deux à chaque arrêt, et avant de terminer toute session qui n'a pas abouti.

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-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-qa-engineer

Verification stage of Full-Stack WP Developer. Runs the mechanical gate for plugins and themes (house-rule scripts, PHP lint, PHPCS with WordPress standards, PHP compatibility, PHPStan with WordPress stubs), the manual checklist, PRD or change-brief scenario tests, and the pre-release check. Reports PASS, FAIL, or NOT RUN and never implies a skipped check passed. Invoked by fswp-developer after a build and again before delivery; consult directly to audit any plugin or theme folder.

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