CommunityProgramación y desarrollogithub.com

fswp-architect

Etapa de planificación del desarrollador Full-Stack de WordPress. Clasifica el trabajo, analiza el código existente, hace una ronda de preguntas esenciales, realiza investigación competitiva y produce un PRD o informe de cambio revisable con una única puerta de aprobación.

¿Qué es fswp-architect?

FSWP Architect es el primer paso en el flujo de trabajo del desarrollador Full-Stack de WordPress para asistentes de IA como Claude Code, Cursor o Codex. Su función es garantizar que no se escriba ni una línea de código hasta que exista un PRD (Documento de Requisitos del Producto) o un informe de cambio aprobado. El skill clasifica automáticamente el tipo de trabajo (nuevo plugin, nuevo tema, actualización, add-on o parche del núcleo), ejecuta un script de detección para entender el código base existente y hace una única ronda de 3-4 preguntas esenciales para tomar todas las decisiones de diseño. Luego realiza una breve investigación competitiva y genera el documento correspondiente a partir de plantillas. El proceso termina con una única puerta de aprobación donde el usuario revisa y da el visto bueno. También incluye un modo de migración para reconstruir plugins existentes y genera documentos de traspaso (HANDOFF.md y AGENTS.md) para sesiones de trabajo múltiples. Está pensado para ser invocado por 'fswp-developer' antes de cualquier implementación.

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

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

FSWP Architect

No se escribe código hasta que esta etapa termine con un PRD o informe de cambio aprobado. Objetivo: cada decisión tomada en una ronda de preguntas y en un documento revisable, sin idas y vueltas posteriores.

Paso 0: Tipo de trabajo y triaje

  • Confirmar el tipo de trabajo desde fswp-developer/references/work-types.md: Nuevo plugin, Nuevo tema, Actualización, Add-on, Parche del núcleo.
  • Actualización, Add-on, Parche del núcleo, o cualquier base de código desconocida: ejecutar primero python3 scripts/detect_wp_project.py <ruta>. Informa el tipo de proyecto (plugin, tema, tema de bloques, checkout del núcleo, sitio, desconocido), archivo principal y campos de cabecera, versión y sugerencias de versión mínima, herramientas (Composer, npm, PHPCS, PHPStan, tests) y hooks/rutas REST/bloques encontrados. Citar los hallazgos en el plan. El script solo lee archivos.
  • Las solicitudes con forma de plugin o tema cuentan aunque no tengan la palabra "plugin" o "tema" (tipos de contenido personalizados, integraciones REST, paneles de administración, plantillas personalizadas, estilos para todo el sitio, cualquier cosa que necesite activación o desactivación). Las herramientas de un solo shortcode entregadas como archivos de FluentSnippets pertenecen a wordpress-mini-app-builder, no aquí.

Paso 0a: Aún no hay PRD

Si el usuario pide empezar a construir y no existe un PRD o informe de cambio: pedirle que proporcione uno antes de empezar. No comenzar la implementación y no saltar silenciosamente al Paso 1. Si el usuario insiste explícitamente ("solo constrúyelo", "salta el PRD"), el requisito se considera renunciado: ir directamente al Paso 1 y crear el documento a partir de esa ronda de preguntas.

Paso 0b: PRD, AGENTS.md, documentos de arquitectura proporcionados por el usuario

Leerlos antes de escribir código y verificarlos contra fswp-plugin-developer/references/standards.md y las demás reglas internas.

  • Sin conflicto real: proceder con la documentación proporcionada más los estándares internos; las reglas internas llenan los vacíos.
  • Conflicto real (el documento pide algo que una regla interna prohíbe, como un atajo de seguridad o un esquema de nombres): mencionar ambos lados claramente y preguntar cuál prevalece. No mezclarlos silenciosamente.
  • Un PRD proporcionado aún pasa por el Paso 4; no está exento.

Paso 1: Una ronda de preguntas esenciales

Usar la herramienta de preguntas estructuradas cuando esté disponible (Claude Code: AskUserQuestion; claude.ai: ask_user_input_v0); de lo contrario, una lista numerada compacta. Como máximo 3-4 preguntas, elegidas según el tipo de trabajo:

Tipo de trabajoPreguntar sobre
Nuevo pluginDestino de distribución (WordPress.org, zip privado, ambos); superficie de funcionalidad (tipo de contenido, tabla personalizada, REST, cron, pantalla de administración, salida frontal); sistema de diseño front-end (el del usuario, si lo hay, o uno neutro); comportamiento estático vs. dinámico; prefijo de código / acrónimo para este proyecto
Nuevo temaTema de bloques o clásico; distribución (directorio de temas de WordPress.org, privado, sitio del cliente); punto de partida (desde cero, hijo de un tema existente); qué tipos de contenido y diseños de página se requieren; prefijo de código / acrónimo para este proyecto
ActualizaciónObjetivo (error, funcionalidad, compatibilidad, refactorización); cómo se entrega (parche a un repo, zip, ediciones directas); qué no debe cambiar
Add-onProducto anfitrión y rango de versiones soportado; qué añade el add-on; qué debe suceder si el anfitrión falta
Parche del núcleoNúmero de ticket o descripción del error; componente objetivo; si ya existe un ticket en Trac

Todo lo abierto (nombres de campos, reglas de negocio, casos límite, nombre de trabajo) se infiere y se lista bajo "Suposiciones" del PRD, no se pregunta. No hay segunda ronda a menos que las respuestas de la primera creen una bifurcación realmente bloqueante.

Prefijo/acrónimo: para trabajos de nuevo plugin y nuevo tema, preguntar qué acrónimo o prefijo corto debe usar el código del proyecto; si el usuario no tiene ninguno, proponer 2-3 candidatos derivados del nombre del proyecto y dejar que elija. No hay un valor predeterminado integrado y nunca se usa el nombre o la marca de esta herramienta como sustituto. Regla completa, redacción exacta de la pregunta y excepciones (mínimo de 4 letras del tema, slug del producto vs. prefijo de código, nombres reservados): fswp-developer/references/brand-naming.md. Nunca WP o Plugin como prefijo. En trabajos de Actualización y Add-on, no preguntar; mantener el prefijo existente del proyecto. Versiones mínimas predeterminadas: WordPress 6.4, PHP 7.4; aumentar solo por una necesidad específica (por ejemplo PHP 8.1 para enums). Confirmar los requisitos actuales en la documentación oficial cuando sea relevante.

Información del proyecto (misma ronda, nunca una segunda): nombre de la empresa, nombre del producto, autor, colaboradores y enlaces (sitio web, documentación, soporte, repositorio). Preguntar solo por lo que aún no esté indicado. Nunca inventar un valor faltante: un enlace o colaborador no indicado se omite de todos los archivos generados.

Decisión de la pila tecnológica: para trabajos nuevos, decidir el nivel de UI de administración y el nivel de JS antes de redactar el PRD (fswp-plugin-developer/references/standards.md sección 2). Para trabajos existentes, la pila existente se mantiene a menos que haya una razón declarada para cambiarla.

Paso 2: Investigación competitiva

2-3 productos líderes en la categoría (directorio de WordPress.org o SaaS). Capturar las funcionalidades básicas, quejas comunes y convenciones que vale la pena igualar. Un puñado de búsquedas; 3-5 viñetas en el documento. Omitir para parches del núcleo; investigar el historial del ticket en su lugar.

Paso 3: El documento

  • Nuevo plugin, nuevo tema: PRD desde references/prd-template.md (con notas de variante de tema en el interior).
  • Actualización, Add-on: informe de cambio desde references/change-brief-template.md: comportamiento actual, comportamiento solicitado, lista de paridad (qué debe seguir funcionando), tabla de compatibilidad, riesgos, plan de pruebas.
  • Parche del núcleo: informe breve centrado en el ticket desde references/change-brief-template.md más los pasos en fswp-core-contributor.

Ejecutar el comportamiento front-end a través de la lista de verificación de 5 puntos del nivel de JS (fswp-plugin-developer/references/frontend-output.md) y declarar el nivel. Los recuentos derivados (tokens, bloques, rutas, pantallas) provienen de los datos o el código, nunca de la memoria.

Paso 4: Puerta de aprobación (la única)

Presentar el documento. Las decisiones son visibles y ya están tomadas; el usuario aprueba o corrige una vez. Si el nivel de JS es Alpine, nombrarlo y obtener un sí explícito. Sin andamiaje ni ediciones antes de la aprobación; las correcciones aprobadas se integran primero.

Modo de migración

Para reconstruir un plugin existente sobre una nueva pila. Antes de cualquier cambio de código:

  1. Línea base: capturar capturas de pantalla de cada pantalla y estado, más exportaciones de referencia (configuraciones, datos, archivos generados) de la versión antigua. Almacenar en baseline/.
  2. Matriz de paridad: cada funcionalidad antigua, configuración, hook, shortcode, ruta REST y opción almacenada mapeada a: mantenido / cambiado (por qué) / eliminado (por qué). Nada no listado se envía silenciosamente.
  3. Comparación de exportaciones: después de la reconstrucción, regenerar las mismas exportaciones y compararlas con la línea base. Las diferencias deben ser intencionadas y estar listadas.
  4. Puerta de regresión visual: comparar las nuevas capturas de pantalla con la línea base para cada pantalla; las diferencias inexplicables bloquean la entrega (alimenta a fswp-qa-engineer).
  5. Ruta de datos: una actualización desde los datos almacenados de la versión antigua debe funcionar sin reactivación (ver fswp-qa-engineer).

Paso 5: Documentos de traspaso (construcciones en múltiples sesiones)

Cuando la construcción abarque varias sesiones, escribir ambos archivos en la raíz del repositorio del plugin (no en el zip):

  • AGENTS.md: qué es; comandos (build, test, puerta de QA); mapa de arquitectura; reglas internas y convenciones; decisiones y restricciones; problemas y áreas prohibidas; definición de completado.
  • HANDOFF.md: estado actual; mapa de código (archivo: responsabilidad); tabla de verificado / no verificado (cada escenario del PRD con PASA / FALLA / NO EJECUTADO y evidencia); elementos abiertos; siguiente paso.

Actualizar ambos en cada parada, y antes de finalizar cualquier sesión que no haya terminado.

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 relacionados