UI Architect

Authoring guardrails for building ANY new frontend UI in the OpenObserve web app (web/) — new views, pages, panels, dialogs, feature components, or edits to existing ones. Enforce seven house rules the moment you write Vue/template markup: (1) use OPageHeader for every page/module header, (2) build UI from O2 library components in web/src/lib — never bare HTML controls when an O2 equivalent exists, (3) NEVER write px — always rem, including inside Tailwind class arbitrary values ([320px] is banned; 1rem = 16px, so px/16 = rem and px/4 = the Tailwind step). px is allowed ONLY where it is the genuinely correct unit — hairlines, shadow/ring widths, query conditions, IntersectionObserver rootMargin, zero inside calc()/clamp(), user-facing copy, canvas/email consumers — and there it MUST carry an eslint-disable-next-line local/no-hardcoded-px with a `-- <reason>` at the site, never a side-file exemption (in a <style> block the directive goes inside the block as a CSS comment). The local/no-hardcoded-px rule runs i

openobserve 9637d9c 18 files · 358.2 KB Updated

File contents

openobserve/openobserve/tree/main/.claude/skills/ui-architect commit 9637d9cdd5

Frequently asked questions

npx skillmds@latest add openobserve/ui-architect