--- name: html-confirm description: >- Produces an openable HTML page when the owner has to LOOK at something to decide or is reacting to a report. Use HTML for images, designs, storyboards, covers, renders, approving a deliverable, or reacting to a report or audit. Use plain chat for a few text choices, scoping questions, yes/no gates, "should I proceed", "which mailbox", "A or B". Use when: "confirm", "which one", "approve", "pick one", "review these", "should I proceed", "make a confirm page". --- # html-confirm:HTML when there is something to SEE, chat when there is not > **THE RULE CHANGED ON 2026-08-05. Read this before applying anything below.** > the owner narrowed the preference herself, unprompted, in her own words: > 「a-这个是错的,普通的选项就直接在聊天里选项卡就可以了,不要所有的选项都要 html,html is only for report」 > > So the 2026-06-15 blanket rule ("EVERY confirmation point goes to an HTML page") and its > 2026-07-29 re-confirmation are **superseded**. The prior wording, the "every confirmation > point" trigger, and the ban on the app's option-card UI are all retired. The corrections > ledger contains seven entries logged as violations of the old rule; those are history, not > a standard to keep enforcing. ## The line to draw | Situation | Surface | |---|---| | She must look at an image, design, storyboard, render, layout, cover, or any generated artifact to decide | **HTML page**, opened locally | | She is reacting to a report, audit, comparison, options-with-tradeoffs page, or status dashboard | **HTML page** (this is the house rule's territory anyway) | | The decision needs per-item notes across many rows, or she may answer across several sittings | **HTML page** with the review layer | | Plain choice among a few text options | **chat**, option cards are fine | | Session-start scoping, "which mailbox", "should I proceed", yes/no gates | **chat** | | One-line clarification | **chat**, plain text | The mechanical test, when unsure: **can the thing she is deciding about fit inside a chat option card?** If it is a picture, a page, or sixteen variants, it cannot, so build the page. If it is "A or B", it can, so just ask. Do not build a page for a small choice. That was the failure mode the owner named: everything became a page, which is friction, not service. ## Still true regardless of surface (the capture rule) Before asking anything, answer: **when she is done answering, how do I actually get the answers back?** This survived the narrowing because it was a separate, real failure: - 2026-08-04: she filled in a design review layer, clicked export, and the markdown never arrived. The template now also writes the export into a selectable, auto-selected `textarea` so a blocked download still yields the text. - 2026-08-04: never hand her an **Artifact** for a decision. The sandboxed iframe breaks `localStorage`, downloads, and the clipboard, so a whole round of per-item picks was lost. Give her a local file and `open` it. ## What to produce (when HTML is the right surface) ONE self-contained `.html` file that: 1. **States the decision up top** in plain language plus how to answer ("reply A / B / C, or tell me what to tweak"). Lead with the ask. 2. **Shows the actual thing being decided.** This is the whole reason the page exists. Embed the images, render options side by side, show before and after, display the artifact under review. 3. **Lists each option** with a one-line tradeoff and **marks your recommendation**. 4. **Terse context** that changes the choice: cost, risk, what is blocked. Format per the house rule: inline `
Reply A, B, or C, or tell me what to tweak.