skill
Adom UI Design System
Public Made by Adomby adom
How the AI builds and tests interfaces people love to use in Adom. Ships as one installable skill that bundles focused skills (tooltips, floating-windows, toasts, responsive-ui, app-shell, ai-driven-apps, clickable-paths).
← Commit history
1.19.0: ONE app, ONE dashboard: if your app has a real UI, that IS the dock target; never build a second page
2 files changed
+40−1
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "adom-ui-design",- "version": "1.18.1",+ "version": "1.19.0", "type": "skill", "description": "The Adom UI Design System plus a bundle of focused UI skills (tooltips, floating-windows, toasts, responsive-ui, app-shell, ai-driven-apps, clickable-paths, dark-default, input-feedback, settings-layout). One install drops the whole set of skill files onto your container, plus shared icon assets (the settings cog) so every Adom app draws the same glyph.", "dependencies": {},
skills/dock-dashboard/SKILL.md+39@@ -55,6 +55,45 @@ Newbie scaffolding in regions 2 and 3 fades as the user levels up - see There is no third species. A dashboard that is "mostly a launch page but with its own status idiom" is a launch page that has not adopted the contract yet. +## ⛔ ONE APP, ONE DASHBOARD. Never build a second one.++**The test, before you write a line: does your app already have a UI your users actually+use? If yes, THAT is the dock target.** You add the contract's regions to it. You do not+build a separate page for the dock and leave the real one to be found some other way.++John's ruling, 2026-08-24, after finding pup shipping two: a bare launch page on one port+(header, prompts panel, four status pills, and nothing else) while its genuinely+sophisticated live-windows dashboard sat on another port, never wired to the dock.++> "the problem here with these cards is this makes the dashboard seem like it has no purpose.+> now here's what's weird. the pup does have quite a sophisticated dashboard and for some+> reason it never used it as its dockbar dashboard... we can't have pup having 2 different+> dashboards."++Two failures come out of this, and both are fatal to the point of the dock:++1. **The dock card opens a page with nothing on it.** Status pills and a prompts panel are+ FRAME, not content. A user who clicks your icon and lands on four green pills has been+ shown a waiting room. The contract's regions exist to wrap your app, not to substitute+ for it.+2. **Your real UI becomes undiscoverable.** The dock is how a user finds your app; if the+ thing it opens is not your app, the app effectively is not in the dock.++So:++- **Merge, do not duplicate.** Take the header, the newbie panel and the status pill row and+ put them ON your existing UI. One port, one URL, one page.+- **Retire the launch page** once merged; do not leave it serving on another port, where it+ will confuse the next person who probes your app (and any instance-enumeration check).+- If your app's real UI genuinely needs a moment to become useful (a long index, an empty+ first-run state), that is what the launch console and the newbie panel are FOR: they cover+ the wait, on the same page, and then get out of the way.+- The only apps that legitimately have a launch page as their whole dashboard are bridges+ with no UI of their own to show (a control panel IS their app).++**Ralph-test:** list every HTTP surface your app serves. If more than one of them renders+something a user would call "the dashboard", you have this bug.+ ## The token stub (copy-paste, then never hardcode again) ```css