Describing tools: how to get what you need
Whether you write it yourself or have a tool made for you: the result is only as precise as the description. Here you find building blocks, templates and examples.
Whether you write it yourself or have a tool made for you, for example by an AI assistant: the result is only as precise as the description. With these seven building blocks a tool often works on the first try or needs only small corrections.
Seven building blocks of a good description
Goal
One sentence: what should the tool do? Not “a household app” but “a timer that guides me through one room for 15 minutes”.
Use
On a phone, one-handed, on the go or at home? That decides the size and arrangement of buttons.
Features
Three to five concrete things the tool must do. Separate “must” from “nice to have” and leave the wish list for the second round.
Data
What should the tool remember? Write: “save in localStorage” and “button to download the data”.
Look and language
Dark or light design, large tap targets, interface language, colors if you want some.
Technical requirements
One single HTML file, no external files or libraries by link, no sign-in, works offline, viewport setting for the phone.
Output
Say how you want the result: the complete code in one block, with short comments in plain language.
Build me a tool as ONE single HTML file (HTML, CSS and JavaScript together).
Goal: [What should the tool do? One sentence.]
Use: on a phone, mostly one-handed, [where and when: on the go, in the kitchen, at the office …]
Features:
1. [most important feature]
2. [second feature]
3. [optional: third feature]
Data: Save [what] in localStorage so it is kept after closing. Add a button that downloads the data as a file.
Look: dark design, large tap targets (at least 48 px), text at least 16 px, language: English.
Technical: no external files, no libraries loaded by link, no fonts from the web, no sign-in. It must work offline and scale correctly on a phone with <meta name="viewport">.
Output: the complete code in one single block, with short comments in plain language.If your tool should be as customizable as the gallery tools, with start templates, undo and backups, or work together with them, use the detailed templates on these pages:
See also: Gallery blueprint · Shared messages
Examples
Three examples you can use directly or adapt:
Build me a tool as ONE single HTML file: a tidy-up timer.
I pick a time (5, 10 or 15 minutes) and type a room. The timer runs large and clearly visible, the device vibrates at the end, and finished rooms are saved in a list with the date (localStorage).
Dark design, large buttons, English, no external files, works offline. Give me the complete code in one block.Build me a tool as ONE single HTML file: a rotatable 3D object (for example a cube) that I can turn with one finger and zoom with two fingers.
Use only canvas or plain CSS, no external 3D library. A button resets the view. Dark design, English, works offline. Give me the complete code in one block.Build me a tool as ONE single HTML file: a bill-splitting calculator.
Inputs: bill amount, tip in percent (default 10), number of people. Output: amount per person, shown large. The last used values are kept in localStorage.
Dark design, tap targets at least 48 px, English, no external files. Give me the complete code in one block.Two prompts for tools that only make sense for you
These tools are not standard apps. They evaluate your own habits and run entirely on the device. We built both prompts with a development assistant and tested the results. Your result will look different, because every assistant builds it in its own way. Feel free to swap times of day, influences or rooms for your own.
Build me a tool as ONE single HTML file: a personal “Energy Compass” that finds out at which times of day I perform best.
Input: several times a day I log with one tap how energetic I feel (scale 1–5, large buttons) and optionally what is affecting me (slept badly, caffeine, exercise, stress, heavy meal, been outside). Every entry gets a timestamp.
Analysis from my own data only, without a server:
- Rhythm: a heatmap. Rows are five times of day (6–10, 10–13, 13–15, 15–18, 18–23), columns Monday to Sunday, each cell shows the average, colored from red (1) to green (5).
- Patterns: my best and weakest time of day, my strongest and weakest weekday, and which influences make me on average at least 0.2 points better or worse (only if there are at least 4 entries with and 4 without the influence). Write short recommendations, for example where concentrated work belongs. No medical statements.
- Show patterns only from 8 entries on. Before that, a helpful empty state with a button “Load sample data” (three weeks of plausible data that can be removed later).
Views as tabs at the bottom: Now, Rhythm, Patterns, Data. In “Data”: export as JSON and CSV, import a JSON file, delete everything with its own confirmation.
Technical: one single HTML file, no external files or libraries, localStorage with a versioned key (in try/catch, falling back to memory), works offline, no alert/confirm (use your own dialogs), mobile first, dark design, tap targets at least 48 px, texts in German and English depending on the device language. Give me the complete code in one block.Download a result: Energy CompassThis is what a result of this prompt looks like. Load the file into the toolbox or look at it in the editor.
Build me a tool as ONE single HTML file: a “Room Radar” that shows me what in the household needs attention now, instead of making me follow rigid cleaning schedules.
Structure: rooms with tasks. Every task has a duration in minutes and a rhythm in days (for example bathroom, clean the sink: 5 min, every 3 days) and remembers when it was last done. Urgency is the share of the rhythm that has already passed: below 60 % green, up to 100 % yellow, above that red. Show it as a bar with text, for example “4 days ago · in 3 days · 15 min”.
Views as tabs at the bottom:
- Plan: at the top a ring “Home calm” (share of tasks below 100 %) and the minutes I got done this week. I pick 5, 10, 15 or 30 minutes and the tool suggests the most urgent tasks that fit into that time (most urgent first, only tasks from 60 %). “Done” ticks a task off, and the message has an undo button.
- Rooms: one card per room with its status (“All fresh”, “Soon”, “Due”) and all its tasks. Tasks and rooms can be added, edited and deleted, with your own dialogs.
- Data: export and import as JSON and a restart with sample rooms (kitchen, bathroom, living room, bedroom, hallway with sensible tasks).
Technical: one single HTML file, no external files or libraries, localStorage with a versioned key (in try/catch, falling back to memory), works offline, no alert/confirm (use your own dialogs), mobile first, dark design, tap targets at least 48 px, texts in German and English depending on the device language. Give me the complete code in one block.Download a result: Room RadarThis is what a result of this prompt looks like. Load the file into the toolbox or look at it in the editor.
Improving in small steps
- Change one thing per round. Ask for five wishes at once and you often get something that is broken elsewhere.
- Include the current code and say what must stay unchanged.
- Describe errors precisely: what did you tap, what happened, what did you expect?
- Always ask for the complete file, not for excerpts. Then you can load it directly.
- Ask when you do not understand something: “Explain in simple words what this part does.”
- In the app: tool menu ⋮ › Workshop › “Change with AI”. The toolbox builds the finished request including the code for the chat and recognizes the answer as a new version of the same tool.
Here is my current tool (complete file below). Change ONLY the following: [one wish, e.g. “Add a minus button”]. Everything else must stay unchanged. Give me the complete, changed file in one block.
[Paste code here]