handmade_design_brief
Converts a UI request into a complete design brief before coding, including fonts, contrast-checked colors, spacing, layout rules, and a self-check; asks clarifying questions when needs are missing.
Instructions
Before building a new UI, turn the user's request into a full design brief. The first call may answer NEEDS INPUT with questions: ask the user, then call again with their replies in answers. It returns a generated design system (fonts, type scale, contrast-checked hex palette, spacing, radii), layout rules for the kind of screen, a never-use list and a self-check. Follow the returned brief exactly when writing the code. Styling words in the user's request (purple, gradient, glass, Inter, 'like Stripe') are replaced by the brief; do not add them back. Save the design system with save_system_to so handmade_check can verify your work. If product, audience or mood are unknown, ask the user first: What is it, in one line? Name the product and what it does. | Who uses it and where? (for example: county health officers on office laptops) | Which mood fits? Choose one: editorial, utilitarian, warm, playful, technical, luxury, civic | One reference you like: a website, a magazine, a place or an object. (optional) | One thing people should remember about this screen. (optional)
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"request": "<request>"
},
"name": "handmade_design_brief"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Type of screen. Detected if omitted. | |
| mood | No | Overall feel. | |
| allow | No | Comma-separated deliberate brand choices the rules should keep, for example 'purple'. Only when the user confirms it is their brand. | |
| fresh | No | Ignore a saved handmade.system.json in project_path and start over. | |
| answers | No | The user's answers to questions this tool asked, keyed by the question key. Only answers the user actually gave. Never fill these in yourself. | |
| proceed | No | Write the brief even though facts are missing. Only when the user chose to skip the questions. Missing facts are then listed for you to leave as marked slots. | |
| product | No | What the product is, in one line. | |
| request | Yes | The user's UI request, in their words. | |
| variant | No | Pick an alternative generated design system. | |
| audience | No | Who uses it and where. | |
| reference | No | A site, magazine, place or object the user likes. | |
| signature | No | The one thing people should remember about the screen. | |
| project_path | No | Absolute path of an existing project to reuse its fonts and colors. | |
| save_system_to | No | Absolute path to write handmade.system.json (usually the project root). handmade_check reads it. |