CommunityProgramación y desarrollogithub.com

umairmsm/wp-ship

Etapa 7 de una construcción wp-site-kit de WordPress: staging detrás de Cloudflare Access, endurecimiento del servidor, despliegues seguros desde un commit (scripts/deploy-safe.sh), cambios en el contenido de la base de datos, la auditoría de lanzamiento, el corte de DNS sin interrumpir un negocio en funcionamiento y la primera semana después del lanzamiento. Úsalo para 'desplegar', 'configurar staging', 'salir en vivo', 'lanzar', 'corte', 'mover DNS', 'endurecer el servidor'.

¿Qué es wp-ship?

Este agente guía el proceso de lanzamiento de un sitio WordPress construido con wp-site-kit, cubriendo la configuración de un entorno de staging protegido con Cloudflare Access, el endurecimiento del servidor, despliegues seguros basados en commits y la migración de DNS sin afectar un negocio activo. Soporta plataformas como Claude Code, Cursor y Codex, automatizando la verificación de requisitos y la ejecución de scripts auditados, pero exige que el propietario ejecute acciones críticas como el despliegue final y los cambios de DNS. Escrito en español, este skill detalla pasos desde staging y endurecimiento hasta la auditoría previa al lanzamiento y la vigilancia post-lanzamiento de 7 días. Su enfoque en seguridad y repetibilidad lo hace ideal para equipos que priorizan lanzamientos sin riesgos y con capacidad de reversión.

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

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 7: Ship

Objetivo: staging es un espejo de producción, cada despliegue es aburrido, el día del lanzamiento tiene un plan de reversión y la primera semana se monitorea.

El propietario ejecuta los despliegues. Los agentes preparan, verifican y explican. No se conectan por SSH a los servidores, no ejecutan deploy-safe.sh, no cambian DNS ni tocan Cloudflare a menos que el propietario solicite esa acción exacta. deploy-safe.sh necesita una terminal y un ID de commit escrito, por lo que un agente no puede completarlo solo.

Pasos

  1. Staging (references/deploy-and-launch.md, "Staging"): su propia carpeta y base de datos en el servidor de producción, WP_ENVIRONMENT_TYPE=staging, detrás de Cloudflare Access, una bandeja de prueba para consultas.
  2. Endurecer cada servidor con el docs/reference/DEPLOY_HARDENING.md del proyecto. Registrar los resultados en docs/reference/SECURITY_PRELAUNCH.md.
  3. Edge: configuraciones de Cloudflare desde references/cloudflare-edge.md. Antes de activar el proxy frente a un servidor antiguo, pruébalo: algunos servidores limitan la velocidad por IP y bloquearán a Cloudflare.
  4. Desplegar código, solo el propietario:
    • completar deploy/targets.conf a partir del ejemplo;
    • ejecutar scripts/deploy-safe.sh <commit> --target staging --dry-run, leer la lista de cambios, luego ejecutarlo nuevamente sin --dry-run;
    • la primera ejecución en un servidor que ya tiene código necesita --assume-live <commit>.
  5. Desplegar contenido por separado.
    • El código nunca transporta precios, páginas ni texto legal.
    • Registrar cada cambio como docs/data/content-changes/<fecha>-<tema>.json (valores antes y después por campo).
    • Aplicarlo con scripts/apply-content-change.sh <archivo> --target staging (simulación), luego --apply.
    • Después de cualquier importación o movimiento de base de datos, ejecutar scripts/check-emoji.sh --target <env>.
  6. Auditoría de lanzamiento: ejecutar el agente launch-auditor contra staging, corregir lo que falle y ejecutarlo nuevamente hasta que pase.
  7. Plan de corte. Redactarlo a partir de references/deploy-and-launch.md, "Cutover". El propietario aprueba la fecha y hora, y también el socio comercial si el sitio ya acepta reservas.
  8. Salir en vivo: desplegar a producción, ejecutar launch-auditor contra producción, enviar el sitemap a Search Console, enviar una consulta de prueba real a la bandeja de entrada real.
  9. Vigilar durante 7 días: errores, 404 (agregar redirecciones), la bandeja de formularios, analíticas, cobertura de Search Console.

Puerta (marcar en SITE_STATUS.md)

  • Staging detrás de Access, noindex, correo protegido
  • Endurecimiento aplicado y registrado
  • Despliegue seguro a staging; prueba de humo verde
  • launch-auditor PASA en staging, luego en producción
  • Plan de corte aprobado (fecha, reversión, correo/MX verificado)
  • Vigilancia de 7 días completada

Incidentes que dieron forma a estas reglas

  • Un agente cambió precios en producción, publicó términos redactados por IA y desplegó una función sin revisión, y su informe omitió el despliegue. Desde entonces: los despliegues provienen solo de commits fusionados, a través del script, escritos por un humano, y las claves SSH de producción piden confirmación en cada uso.
  • El formulario de contacto en staging publicó en un servicio de formularios de terceros con una clave de prueba, por lo que las consultas iban a una bandeja de prueba. Antes del lanzamiento, envía una consulta real en producción y verifica que llegue.
  • Las analíticas web en modo "lite" no contaron visitantes de la UE durante semanas, lo que ocultó los mercados principales. Verifica la configuración el día 1.
  • Un despliegue largo (39 commits) se detuvo por un SIGPIPE de git log | head bajo pipefail. El script ahora captura la salida primero.
  • Una importación de base de datos de un servidor convirtió emojis en ????. Ejecuta check-emoji.sh después de cada importación.

Individual skills in this repo

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

umairmsm/wp-build

Stage 3 of a wp-site-kit WordPress build - local DDEV site, the core must-use plugin (modules), the presentation-only child theme with skins, the content model (custom post types, meta, WP_Query, render functions), and the enquiry pipeline that saves leads before forwarding. Use when building or changing features, templates, content types, forms or plugin modules on a wp-site-kit site.

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