CommunityProgramación y desarrollogithub.com

umairmsm/wp-build

Etapa 3 de una compilación wp-site-kit de WordPress: sitio local DDEV, el plugin must-use central (módulos), el tema hijo solo de presentación con skins, el modelo de contenido (tipos de contenido personalizados, metadatos, WP_Query, funciones de renderizado) y el pipeline de consultas que guarda leads antes de reenviarlos. Úsalo al construir o modificar características, plantillas, tipos de contenido, formularios o módulos de plugins en un sitio wp-site-kit.

¿Qué es wp-build?

Esta skill automatiza la Etapa 3 del flujo de desarrollo de un sitio WordPress con la arquitectura wp-site-kit. Su objetivo principal es pasar de un sitio recién clonado a un entorno local completamente funcional: el sitio se ejecuta en DDEV (entorno `local`), el plugin central must-use con sus módulos está activo, el tema hijo con skins carga correctamente, y el contenido real se renderiza mediante funciones del núcleo (sin datos hardcodeados). El pipeline de consultas guarda los leads en la base de datos antes de reenviarlos por correo, y las pruebas de estructura se pasan sin errores. La skill soporta plataformas como wp-site-kit y herramientas de desarrollo local como DDEV. Durante el proceso, se renombra el tipo de contenido de ejemplo (`<prefix>_offer`) al nombre del negocio real, se modela cada campo solicitado como metadato de entrada (con saneamiento y autorización), se importan datos desde archivos Markdown/JSON mediante scripts WP-CLI idempotentes, y se implementan llamadas a funciones del núcleo en las plantillas del tema, siempre protegidas con `function_exists()`. También se encarga de configurar el pipeline de consultas, el texto de políticas y la integración de nuevos módulos siguiendo una estructura modular y testeable. Finalmente verifica que el entorno sea `local`, que no haya errores de PHPCS y que las pruebas de estructura estén en verde, antes de solicitar una revisión al agente wp-rules-reviewer y hacer commit con mensajes convencionales.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/umairmsm/wp-site-kit/tree/HEAD/skills/wp-build

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

Etapa 3: Build (Construcción)

Objetivo: el sitio funciona localmente. Los elementos reales se renderizan mediante funciones del núcleo. Las consultas se guardan, luego se reenvían, luego se purgan. Las pruebas de estructura están en verde.

Lee primero: el AGENTS.md del proyecto, luego references/architecture.md.

Pasos

  1. Sitio local. Sigue la sección "Primera ejecución" del README.md del proyecto. Luego verifica: ddev wp eval 'echo wp_get_environment_type();' debe imprimir local. Si no es así, consulta references/local-env.md. Hasta que imprima local, el sitio piensa que está en producción: puede ser indexado y puede enviar correos a clientes reales.
  2. Renombra el tipo de contenido de ejemplo. Hazlo antes de que exista contenido. <prefix>_offer se convierte en la palabra del negocio (tour, servicio, curso): el tipo de post, el slug de reescritura y las etiquetas en modules/content.php, además de los nombres de funciones (_get_offers, _render_offer_card), el archivo parts/offer-card.php y las pruebas. Los nombres de tipos de post tienen un límite de 20 caracteres.
  3. Modela el contenido. Encuentra todos los campos que necesita el brief. Registra cada uno como metadato de post con un callback de saneamiento y un callback de autorización. Los precios son números en metadatos. 0 significa "bajo consulta", nunca "gratis". Si los editores necesitan pantallas de campos más enriquecidas, añade ACF (gratuito) encima, pero lee los valores solo a través de funciones del núcleo.
  4. Archivos de datos → generador (cuando el propietario proporciona muchos elementos):
    • mantén un archivo Markdown o JSON por elemento en docs/data/<type>/;
    • escribe un script WP-CLI idempotente que cree o actualice publicaciones a partir de esos archivos;
    • asígnale un --dry-run;
    • ejecútalo con ddev wp eval-file - < scripts/<name>.php. Los archivos son la verdad revisable; la BD es la copia.
  5. Las plantillas llaman a una función del núcleo por sección.
    • El layout vive en el tema: plantillas, parts/, anulaciones de skin.
    • Los datos, consultas, precios, frases de política y formularios vienen del núcleo.
    • Protege cada llamada con function_exists(), para que una plantilla nunca falle si falta el plugin.
  6. Consultas. Mantén el pipeline en modules/enquiry.php (references/forms-and-leads.md).
    • Añade campos en tres lugares a la vez: el formulario, el manejador y la caja de detalles.
    • Configura la bandeja de entrada y el remitente en constantes de wp-config.php, nunca en código.
  7. Texto de políticas (términos, depósitos, cancelación): colócalo en el núcleo como una función (por ejemplo <prefix>_policy( 'cancellation' )). Las plantillas imprimen esa función, y una prueba falla si una plantilla hardcodea una frase de política.
  8. ¿Nuevo módulo? Añade un archivo en modules/, una línea require_once en el bootstrap, y actualiza tests/structure/core.spec.ts en el mismo commit.
  9. Verifica y haz commit.
    • Ejecuta npm run test:structure y npm run lint:php (0 errores).
    • Pídele al agente wp-rules-reviewer que revise el diff.
    • Haz commit (Conventional Commits).

Puerta (marca en SITE_STATUS.md)

  • wp_get_environment_type() = local
  • Plugin central y tema hijo activos; skin cargado
  • Elementos reales renderizados mediante funciones del núcleo; sin cards, precios o slugs hardcodeados
  • Consulta: guardada → enviada por correo → reintento → purga; probada de extremo a extremo en Mailpit
  • Pruebas de estructura en verde; PHPCS 0 errores

Nunca

  • Lógica de negocio, WP_Query, precios, llamadas pll_* o texto de política en el tema.
  • $_POST o $_GET sin wp_unslash + una función de saneamiento; salida sin esc_*.
  • Claves de API o endpoints de terceros en HTML o JS. Reenvía desde el servidor.
  • Activar módulos de plugins con wp option update sin procesar. Usa la UI o CLI del propio plugin, luego vuelve a revisar cada página que afecte.
  • Funciones, opciones, hooks, claves de metadatos o nonces sin prefijo.

Individual skills in this repo

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

umairmsm/wp-content

Stage 4 of a wp-site-kit WordPress build - real copy and photos. Content truth (facts only from the owner), AI drafts and owner approval, claims audits, banned words and fake proof, legal pages, the photo pipeline (dedupe, real-only, EXIF strip, WebP sizes, alt text, AI image register), and recorded content changes. Use for "write the copy", "add photos", "the owner sent new photos", "check for duplicates", "update prices or text on the live site", "legal pages".

umairmsm/wp-design

Stage 2 of a wp-site-kit WordPress build - design direction, a static HTML/CSS prototype with design tokens, owner sign-off with screenshots, self-hosted fonts, and porting the approved look into a swappable WordPress skin. Use for "design the site", "new look", "redesign", "change colours or fonts", "make a new skin", "port the prototype to WordPress".

umairmsm/wp-kickoff

Stage 1 of a wp-site-kit WordPress build. Use when starting a new WordPress website or taking over or rebuilding an existing one - discovery brief, stack decision, creating the project with bin/wp-site-new, locked decisions, private repo and credentials inventory. Triggers - "new WordPress site", "start a client website", "rebuild this site", "take over this WordPress site".

umairmsm/wp-operate

Stage 8 of a wp-site-kit WordPress build and everything after launch - backups with an off-machine copy, restore drills, the disaster-recovery runbook, credentials inventory, update policy, alerts, and working from more than one machine (bridge file, workstation doctor, encrypted state bundle, rescuing unpushed work). Use for "backup", "restore", "move to a new machine/server", "update plugins", "what if the server dies", "work from the cloud box", "set up a second machine".

umairmsm/wp-seo

Stage 5 of a wp-site-kit WordPress build - titles and descriptions, canonical URLs, one schema owner and JSON-LD, sitemaps, robots.txt and llms.txt, AI crawler access, redirects (301 vs 302), legacy URL maps, Search Console, and adding languages one pilot at a time with Polylang (hreflang, .po/.mo strings, native review). Use for "SEO", "schema", "redirect", "old URLs", "translate the site", "add French/Spanish", "hreflang", "canonical".

umairmsm/wp-ship

Stage 7 of a wp-site-kit WordPress build - staging behind Cloudflare Access, server hardening, safe deploys from a commit (scripts/deploy-safe.sh), database content changes, the launch audit, DNS cutover without breaking a running business, and the first week after launch. Use for "deploy", "set up staging", "go live", "launch", "cutover", "move DNS", "harden the server".

umairmsm/wp-site

Start here for any WordPress website built with wp-site-kit, from an empty folder to a live site. Use when someone says "build a WordPress site", "new website for a client", "where are we on the site", "what is next before launch", or asks to continue a site project. Finds the current stage from SITE_STATUS.md, applies the hard rules, and hands over to the right stage skill.

Skills relacionados