Prompt to Page 0.7.3: fixing the tools that fix your page
Refine with AI could change the wrong section, Fix with AI could report on a fix before it ran, and the Validation panel could show another page's errors as yours. 0.7.3 fixes them, and pages in five more design systems now look the way those systems intend.
Prompt to Page 0.7.3 is out for macOS and Windows. The last three releases were about making the app itself accessible. This one is about something more basic: whether the app's own tools can be trusted with your page.
A tool that edits your page has three jobs. Change the thing you asked about. Say truthfully what it did. Leave everything else alone. In 0.7.2, Refine with AI, Fix with AI, the Validation panel and auto-fix each failed at least one of those jobs, some of the time. 0.7.3 fixes what turned up.
How these were found
In the week after 0.7.2, an AI agent drove a packaged build of the app through Refine with AI and Fix with AI the way a person would, recording the screen and the app's requests to the local AI. Separately, agents measured generated pages in every design system in a real browser, and compared what the Validation panel reports with what is actually on the page. Most of what follows came from those passes.
Refine with AI and Fix with AI
Refine with AI could change the wrong section. Choose Refine with AI on a button, move the button up one place, then ask for new button text. The request went to whichever section had taken the button's old place. In the test, it replaced a whole form group. The "Refining:" chip now moves with its section. If the section changes in any other way, the chip is dropped and a message asks you to select it again.
Fix with AI could report on a fix before it ran. When the fix had to ask which section to change, or wait for you to confirm, it said "Still failing after the fix" before anything had changed. Now it waits. It says when the fix didn't run, when you stopped it, and when it changed nothing.
Fix with AI now goes to the section with the problem, when it can tell which one that is. In the test before the fix, one press made three requests to the local AI, one of them about an unrelated section. Now it makes one. Its request names the elements that fail, instead of describing "Change" links in a summary list whatever the link was.
One fix at a time. A second press while a fix was running was lost, and the first fix was reported under the second issue. Now the other Fix with AI buttons wait and say why.
Duplicate made copies that didn't work. The radio buttons in a copied question each got their own name, so you could pick more than one. Conditional reveals and accordions in the copy opened the original's. The copy now works on its own parts.
The Validation panel
It could show another page's result as current. After you switched page, opened another project or edited the HTML, the panel kept the last result. It could show the previous page's errors, or call a page with errors valid. It now says "Not validated" until you validate what is on screen.
It could check a page against the wrong design system. While one page was generating, validating a page in another design system used the generating page's rules. An NHS.UK page validated during a GOV.UK generation had its own classes reported as invalid, and auto-fix could add GOV.UK classes to it. The panel now waits while a page generates, and every check uses the design system of the page you are looking at.
Four design systems could never pass. USWDS, Bootstrap Italia, NSW and Scottish Government all use some classes without their prefix, such as USWDS's grid-row and Bootstrap Italia's btn. Validation reported every one as foreign, so those pages could never show "HTML classes are valid". Known classes now count, and a near miss gets a suggestion: btn-primry suggests btn-primary.
It missed broken HTML. Validation checked the page after the browser had quietly repaired it, so a self-closing div, a duplicate attribute or a stray closing tag never showed. It now checks the page you wrote.
Auto-fix guessed. It "corrected" govuk-input--width-25 to govuk-input--width-2, shrinking a field to two characters and hiding the error. It added the body text style inside a GOV.UK confirmation panel, which turned the white reference number into small dark text on green. It now leaves alone what it can't be sure of.
Pages that look like their design system
Generated pages in every design system were measured, and fixed where they didn't match. A few of the numbers:
- NSW: 358 of 371 generated pages with an action button had it touching the content above.
- GOV.UK: 40 of 44 generated radio and checkbox options in recent test projects showed in the browser's 16px Times, beside 19px Arial questions.
- Bootstrap Italia: the footer's small print was near-black on dark blue, a contrast of 1.38:1 where WCAG asks for 4.5:1. It is now white, at 12.6:1.
- USWDS: an exported page with a heading and one short sentence was 254px wide in a 734px window. A replay of Add section put 31 of 105 new sections directly against the content above them.
- Scottish Government: a page started with "Shell only" put its heading in a column 97px wide, in a 1024px window.
- Digital Agency (Japan): components touched each other and body text was cramped. Blocks are now 24px apart, with DADS's own line height and text colour.
USWDS, Bootstrap Italia and Scottish Government icons were blank in generated pages. Each page now carries the icons it uses, in the preview, the page list, exports, the assessment evidence and the LAN share. Pages in the assessment evidence now keep their design system's colours, text and fonts, and fit their frames at any window size.
Security
A <style> block in a page could import a stylesheet or load an image from any server. An exported page fetched it when it opened. In the app's preview, checking the page's accessibility could fetch it too. Prompt to Page now removes <style> blocks, and images inside SVGs, SVG fills and table backgrounds follow the same rule as images: relative, or on your computer.
How 0.7.3 was tested, and what that caught
Before release, an AI agent drove the installed, notarized Mac build in four sittings:
- adding sections, on both local AI runtimes;
- Refine with AI and Fix with AI;
- the Validation panel and auto-fix, on pages written by hand;
- every design system, in the preview, exports, the assessment evidence and the LAN share.
Of 61 checks, 56 passed and 5 passed in part. None failed. The partial ones are a path the app can't reach through its own controls, a model that never gave the unclear answer one check needed, two checks that looked in the wrong place, and one real gap, below.
It also caught the changelog promising more than the app does, twice. On a page whose links don't all go somewhere yet, the panel lists those links rather than saying "Not validated". And auto-fix's new spacing and label fixes are only offered when the panel lists some other issue on the page. Both sentences were rewritten before release. As with 0.7.2, testing the claims as well as the code keeps paying for itself.
It found things that aren't fixed yet, too:
- when a Refine with AI finishes on a page you have already left, a screen reader can hear a stale message;
- on Bootstrap Italia pages, the local AI writes fields without a type, and they show with no border;
- clicking a link that goes nowhere (
href="#") blanks the preview.
They are on the list for the next release.
Getting it
Prompt to Page 0.7.3 is live for macOS (Apple Silicon) and Windows: download it, or accept the in-app update in Settings → Updates. The changelog has every fix.
Prompt to Page is an independent project by Courtney Allen. It is not affiliated with, endorsed by, or connected to the Government Digital Service, the NHS, the U.S. General Services Administration, the Scottish Government, the NSW Government, the Developers Italia community, the Digital Agency (Japan), the Crown, or any government body. Design systems are referenced descriptively; protected marks and restricted fonts are never bundled.
Try Prompt to Page.
Free during the closed beta. Generation runs on your machine.