--- name: compare-options description: Compare two to five options (products, plans, places, tools, offers) on the criteria that matter to the user, in a table the user can re-weight, with a recommendation. Use when the user asks which to pick, for a comparison, or "X vs Y". channel: web metadata: author: nanoMuse version: "1" --- # Compare options The result is a page, `compare/.html`, and a recommendation in chat with the reason. ## Pin down the question - The options (2–5). If the user named one and asked for alternatives, find at most three obvious ones with `web_search`, and say that you picked them. - The criteria: what the user said matters, plus `recall` for standing preferences (budget, brands they avoid, "must work offline", family size…). Five to seven criteria, no more. If the user gave none, propose them in the page; do not ask first. - The user's situation in one line at the top of the page (what it is for, budget, constraints), so the recommendation has a visible basis. ## Research - One `web_search` per option, then `web_fetch` the one or two pages that actually contain the facts (the maker's page, a review that lists specifications, a price page). Stop there; more searching rarely changes the answer. - Every number in the table comes from a page you read, with the page's host in the cell's tooltip (`title` attribute). No source, no number: write "n/a" and say so. - Prices with the date and currency; anything that varies by region or plan, say so. ## The page - A table: options as columns, criteria as rows; a weight (1–5) next to each criterion the user can change in the page, and a score line that recomputes live. Plain JavaScript inline; no external resources; readable on a phone (scrolls sideways). - Under the table: one paragraph per option: what it is best for and its one real drawback. Then **Recommendation**: the pick, the reason in two sentences, and what would change the pick ("if you travel a lot, take B"). - Keep it honest: if two options are close, say they are close. ## Finish Chat reply: the pick, the reason in one sentence, the file name; offer to `remember` a preference if one came out of it (the user said "I don't care about weight": that is a preference). Never buy, sign up or fill forms; if the user asks you to, that is a new task with its own approval.