Skip to content
bimverdi-design logo

BIM Verdi Design Skill

bimverdi-design

Generate BIM Verdi UI components and pages following the established design system. Use when building templates, components, or any frontend for bimverdi.no. Enforces enterprise-calm aesthetics and avoids generic AI patterns.

SKILL.md

Full skill instructions

BIM Verdi Design Skill

This skill generates frontend code for BIM Verdi (bimverdi.no) that follows the established design system and avoids generic "AI slop" aesthetics.

Anti-Pattern Awareness

LLMs naturally converge toward high-probability outputs. In frontend design, this creates generic results. Avoid these AI defaults:

AI DefaultBIM Verdi Instead
Inter font everywhereModerat (fallback: Inter)
Purple/​blue gradientsWarm orange #FF8B5E accent
Cards with shadows everywhereBorderless sections + dividers
Rounded corners (16px+)Subtle radius (8px buttons, 12px cards)
Heavy drop shadowsNo shadows or very subtle
Hover on containersHover ONLY on interactive elements
Generic placeholder textReal Norwegian content

Design Philosophy

Variant B: Dividers & Whitespace is the standard.

Core principles:

  • P1: Whitespace + hairline dividers are primary structure (not boxes)
  • P2: Only buttons, links, menu items are clickable
  • P3: Information = borderless sections; Actions = buttons/​links
  • P4: Never show empty fields (hide or show "Ikke oppgitt")
  • P5: Calm, consistent enterprise style (minimal visual noise)

Color Palette

/​* Primary */
--color-primary: #FF8B5E;        /​* Warm orange - main accent */
--color-primary-dark: #E67A4E;
--color-primary-light: #FFBFA8;

/​* Neutrals */
--color-black: #1A1A1A;          /​* Primary text */
--color-gray-dark: #383838;
--color-gray-medium: #888888;
--color-gray-light: #D1D1D1;
--color-white: #FFFFFF;

/​* Backgrounds */
--color-beige: #F7F5EF;          /​* Warm off-white */
--color-beige-dark: #EFE9DE;
body background: #FAFAF8;

/​* State */
--color-success: #B3DB87;
--color-error: #772015;
--color-alert: #FFC845;
--color-info: #005898;

Usage rules:

  • Primary orange: CTA buttons, active states, important links
  • Never introduce new accent colors without explicit decision
  • Text is always #1A1A1A or #383838
  • Backgrounds are warm (beige family), never pure white or gray

Typography

Font stack: 'Moderat', 'Inter', system-ui, -apple-system, sans-serif

ElementSizeWeightLine Height
H13rem (48px)7001.2
H22rem (32px)7001.2
H31.5rem (24px)6001.2
H41.25rem (20px)6001.2
Body1rem (16px)4001.5-1.75
Small0.875rem (14px)4001.5

Rules:

  • No ALL CAPS except sparingly for labels/​overlines
  • Semantic heading order (H1 -> H2 -> H3)
  • Good line height for readability

Spacing System

8px base scale: 4, 8, 12, 16, 24, 32, 40, 48, 64

--spacing-xs: 0.5rem;   /​* 8px */
--spacing-sm: 1rem;     /​* 16px */
--spacing-md: 1.5rem;   /​* 24px */
--spacing-lg: 2rem;     /​* 32px */
--spacing-xl: 3rem;     /​* 48px */
--spacing-2xl: 4rem;    /​* 64px */

Use few, consistent spacing values per page.

Layout Widths

ContextMax Width
Standard content1200-1280px
Forms/​flows960px
Side guttersConsistent, responsive

Buttons

Standard button: 36px height, 8px radius, Inter Medium 14px

<!-- Primary (filled black) -->
<a href="#" class="bv-btn bv-btn--primary">
  <span class="bv-btn__text">Lagre</​span>
</​a>

<!-- Secondary (outline) -->
<a href="#" class="bv-btn bv-btn--secondary">
  <span class="bv-btn__text">Avbryt</​span>
</​a>

<!-- Tertiary (ghost) -->
<a href="#" class="bv-btn bv-btn--tertiary">
  <span class="bv-btn__text">Se mer</​span>
</​a>

<!-- With icon -->
<a href="#" class="bv-btn bv-btn--primary">
  <span class="bv-btn__icon">[lucide-icon]</​span>
  <span class="bv-btn__text">Nytt verktoy</​span>
</​a>

Sizes: --small (28px), --medium (36px), --large (44px)

Icons

Framework: Lucide Icons (https://lucide.dev)

IconUsage
layout-dashboardDashboard
wrenchVerktoy
file-textArtikler
lightbulbProsjektideer
calendarArrangementer
userBrukerprofil
building-2Bedrift/​Foretak
chevron-rightNavigate
plusAdd new
pencilEdit
trash-2Delete

Sizes: 16px (small), 20px (medium), 24px (large)

Containers & Sections

Default: Borderless sections with dividers

<!-- Standard section -->
<section class="bv-section">
  <h2 class="bv-section__title">Oversikt</​h2>
  <p class="bv-section__helper">Valgfri hjelpetekst</​p>
  <div class="bv-section__content">
    <!-- Content here -->
  </​div>
</​section>
<hr class="bv-divider">

Soft panels (rare, only for action groups):

  • No shadow
  • Subtle background (#F7F5EF) or hairline border
  • Never hoverable

Cards

Cards are NOT clickable unless explicitly designed with:

  1. Explicit "Se detaljer" link + chevron
  2. Defined hover/​focus states
  3. Documented as exception
<!-- Non-clickable info card -->
<div class="bv-card">
  <div class="bv-card__header">
    <h3 class="bv-card__title">Tittel</​h3>
  </​div>
  <div class="bv-card__body">
    <p>Innhold</​p>
  </​div>
  <div class="bv-card__footer">
    <a href="#" class="bv-btn bv-btn--tertiary">
      Se detaljer
      <span class="bv-btn__icon">[chevron-right]</​span>
    </​a>
  </​div>
</​div>

Dividers

Hairline divider: 1px, low contrast (#E5E5E5 or similar)

<hr class="bv-divider">

Forms

Layout: 960px max-width, centered

<div class="bv-form-layout">
  <div class="bv-form-section">
    <h3>Seksjonstittel</​h3>
    <div class="bv-form-group">
      <label for="field">Feltnavn</​label>
      <input type="text" id="field" name="field">
    </​div>
  </​div>
  <hr class="bv-divider">
  <!-- More sections -->
</​div>

Sticky actions bar:

<div class="bv-form-actions bv-form-actions--sticky">
  <a href="#" class="bv-btn bv-btn--tertiary">Avbryt</​a>
  <a href="#" class="bv-btn bv-btn--secondary">Lagre som kladd</​a>
  <button type="submit" class="bv-btn bv-btn--primary">Lagre</​button>
</​div>

Page Templates

Archive page (e.g., /​deltakere/)

PageHeader: Title + count + primary action button
|
Filter/​search (if applicable)
|
Grid/​List of items
|
Pagination

Single page (e.g., /​deltakere/​firmanavn/)

Breadcrumb
|
PageHeader: Title + actions (Edit, etc.)
|
Two-column layout:
  Left: Borderless sections (Oversikt, Detaljer)
  Right: Aside blocks (Status, Snarveier)

Form page (e.g., /​min-side/​nytt-verktoy/)

Breadcrumb
|
PageHeader: Title + helper text
|
960px form layout with sections + dividers
|
Sticky action bar

Interaction Rules

Clickable elements MUST be:

  • <button> or button component
  • <a> or link component
  • Menu item
  • Explicit row action with icon + label

Hover states:

  • ONLY on interactive elements
  • Links: underline on hover
  • Buttons: background change
  • Containers: NEVER hover

Focus states:

  • Always visible (outline/​ring)
  • WCAG AA compliant

WordPress/​PHP Context

This is a WordPress theme. Use:

  • PHP for templates (single-foretak.php, archive-foretak.php)
  • ACF fields for custom data
  • Existing CSS classes from design-system.php
  • Lucide icons as inline SVG

Template structure:

<?php get_header(); ?>

<main class="bv-main">
  <div class="bv-container">
    <!-- Page content -->
  </​div>
</​main>

<?php get_footer(); ?>

Checklist Before Generating

When generating UI code, verify:

  • Using existing CSS classes from design-system.php
  • Following Variant B (dividers/​whitespace, not boxes)
  • Containers are NOT clickable
  • Only interactive elements have hover/​pointer
  • Empty fields hidden or show "Ikke oppgitt"
  • Layout widths: 1200-1280 standard, 960 for forms
  • Spacing on 8px scale
  • Colors from palette only
  • Lucide icons only
  • Norwegian text (not lorem ipsum)
  • Semantic HTML (proper headings, buttons vs links)
  • Accessible (labels, focus states, contrast)

More Design skills

brandkit logo
Design

brandkit

Premium brand-kit image generation for high-end identity systems, logo concepts, and visual-world presentations.

92.7K 345.8K
View

Premium website design-to-code skill that generates visual references first, then builds faithful frontend implementations.

92.7K 341.7K
View

Premium frontend image direction for landing pages and marketing sites, generating one distinct horizontal image per section.

92.7K 337.8K
View

Premium mobile app screen concepts and flows with clean hierarchy, strong imagery, and distinctive art direction.

92.7K 331.8K
View

Emil Kowalski's philosophy on UI polish, component design, and the invisible details that make software feel good.

43.5K 323.4K
View

Frontend design and iteration for production-grade interfaces, from concept to ship.

76.8K 313.3K
View

Reverse-engineer design tokens from public websites into starter token files for your project.

232 129.9K
View
Animate logo
Design

Animate

Builds an animation from scratch by making the decisions in the order that determines whether it feels right.

43.5K 117.9K
View

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

179.7K 114.2K
View

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

179.7K 100.1K
View

Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.

179.7K 89.5K
View

Design AI tools

Maze Guru logo
Images

Maze Guru

Chat-to-edit AI studio for product photos, portraits, branding, and video.

Freemium
View
R
Design

RoomGPT

Generate your dream room in seconds.

Paid
View

Redesign your interior in seconds using AI

Paid
View
Reroom logo
Design

Reroom

Transform rooms with AI-generated designs.

Freemium
View
Jife logo
Design

Jife

Transform Your Space with AI-Powered Japanese Interior Designs by Jife

Paid
View
Visily logo
Design

Visily

AI-powered wireframes for non-designers.

Free
View

Revolutionize Property Viewing with AI-Generated Floor Plans and Virtual Tours

Paid
View
Archsynth logo
Design

Archsynth

Transform sketches into stunning architectural renders with AI.

Paid
View