Build food and service menu-board systems for large displays using clear templates, price hierarchy rules, structured inputs, and screen planning. Use when creating restaurant, cafe, concessions, or service signage where menu items and prices must read clearly from distance.
Use this skill to design menu-board signage as a small screen system rather than a single overloaded layout.
This skill exists because menu boards have different hierarchy needs from generic signage. Prices, offer grouping, product imagery, service notes, and mode changes need a predictable system rather than a generic card grid.
Use this skill when you need to:
Do not use this skill when:
The viewer should identify what is sold, what it costs, and what is featured within seconds.
Treat menu boards as glanceable retail signage, not document pages.
Confirm or invent these before doing detailed layout work:
If several of these are missing, define them first instead of jumping into templates.
Follow this order unless the inputs are already settled:
See the reference files for detailed examples and expanded guidance.
Choose one of these templates and state it:
Best for a small number of featured items.
Best for broader menus with several items per category.
Best when one promoted item must dominate without hiding the core menu.
When the display is portrait (9:16), adapt the landscape templates:
For two or fewer categories, stack them. For three or more, use two narrow columns.
Portrait is less forgiving than landscape. Reduce item count sooner.
signage-distance-legibility for minimum text sizes.Prefer small, explicit data structures over freeform copy blobs.
At minimum, define:
See the references and seed JSON examples for fuller shapes.
When the target is embedded signage hardware (e.g., BrightSign, ChromeOS kiosk, Raspberry Pi):
Produce, in order:
Do not skip directly to code unless the venue, brand, and data assumptions are already clear.
Before finalizing, check whether the result:
Stop and simplify if:
assets/menu-board-seed-data/ — example venue, brand, and menu JSON filesassets/menu-board-stress-data/ — deliberately bad content for testing portrait overflow, promo overload, quieter structural failures, and runtime-fragile dataassets/menu-board-stress-data/README.md — explains what each stress-case file is meant to test and which issues are automated versus manual reviewassets/prompt-templates/food-image-prompts.md — reusable prompt structure for hero, featured-item, and category-supporting imageryassets/prompt-templates/logo-direction-prompts.md — reusable prompt structure for venue wordmark and logo direction briefsscripts/generate-menu-seed.mjs — generate a starter venue, brand, and menu JSON packscripts/stress-test-menu-content.mjs — detect long names, inconsistent prices, category overflow, and promo-overload signals before layout workscripts/generate-image-prompt-pack.mjs — turn venue, brand, and menu JSON into a prompt pack for imagery planningbrightsign-signage-build when the menu board must also be packaged and verified as a BrightSign app.signage-distance-legibility for minimum text sizes — especially price and item name sizing.signage-safe-layout to ensure menu content respects safe margins on unknown displays.signage-content-fallbacks when menu data comes from an API that may fail.