WPPilot 1.8.0 — Adopt, apply and verify a design
The design system stops being a document the agent reads and becomes something the site enforces, applies and can be checked against.
Read the design a site already has
wppilot/adopt-design-from-site — on any site that is not brand new the brand already exists, in the theme's global styles, in the customizer, in the pages somebody built. Inventing a fresh direction alongside it produces work that clashes with every page already there. This reads what is there and returns a DESIGN.md draft, with the adopted palette's contrast reported alongside it, because an inherited palette was never chosen by anyone.
Seven worked directions, and a way to start from one
wppilot/list-design-examples ships seven complete directions as real DESIGN.md files — light and dark, serif and sans, dense and airy, quiet and loud. They are reference, not a menu, and the Design screen now offers them as starter kits: shown as colour rather than as a list of hex values, each with a live specimen of its own headline, body text and button. Choosing one copies it into your designs and opens it for editing. It is never activated by the click and never applied to your site, because a palette adopted unchanged is the generic result the design system exists to prevent.
Check the page a visitor actually gets
wppilot/verify-rendered-page fetches a published page and reports what the server really sent: heading order, images without alt text, empty elements, PHP notices that reached the markup, page weight, and the colours and faces actually present. A build can pass every check on its own output and still land on a page whose accent is the theme's, because the theme's stylesheet loads last. It follows the page's own same-origin stylesheets, ranked so builder-generated CSS is read first — without that, a correctly styled Elementor page reported its design as absent.
The type scale is now a real token
Typography roles have always accepted fontSize, lineHeight, letterSpacing and measure — the parser read them — and nothing downstream ever looked. A design could declare its scale in full and every page would still pick its own sizes, so a heading came out 38px on one page and 44px six pages later with no check able to see it. The scale now reaches the preview and the CSS variables, and the readiness check warns when it is missing, and separately when sizes are set without leading.
Uninstalling no longer destroys your designs
Designs and skills are documents somebody wrote, and neither can be regenerated from anything left behind. They were deleted on uninstall without asking, which is the same decision as deleting a site's posts. They now go only when the site has explicitly opted in through wppilot_delete_content_on_uninstall; absent means keep.
Also in this release
- The active design is injected into the MCP server instructions, so an agent starts a build already knowing the direction rather than having to ask.
- Design direction is enforceable on the write path: Off, Warn and record, or Refuse the write. A refusal names the offending value and the palette entry to use instead, chosen by the role the colour was playing rather than by raw numeric distance.
wppilot/check-contrastcomputes WCAG ratios across the active palette and answers what to put on a given background using the design's own colours.- Fixed the design's own Don't rules matching inside longer words: a rule naming Inter flagged "interrogate", "interest" and "internal".
- The Design screen was rebuilt around the active design and given one visual language across every section.
No permission changes. Existing connections keep working and do not need re-authorising.