
design-theming
by bretuobay
Web Loom is a lightweight, framework-agnostic toolkit offering MVVM architecture, state stores, event bus utilities, and headless UI behaviors for modern web apps.
SKILL.md
name: design-theming
description: Use @web-loom/design-core to theme apps with a flat/paper look and follow the UX/UI guidance captured in apps/mvvm-react-integrated. Trigger this skill for theming questions, setting up token+theme pipelines, or aligning new screens with the repo’s flat design system.
Design theming with Design Core
Apply this skill whenever the task is about theming an app/package, explaining flat/paper design choices, or wiring the Design Core tokens/custom CSS into a workspace UI (React, Angular, Vue, or vanilla). The reference integration lives in apps/mvvm-react-integrated/DESIGN-SYSTEM-INTEGRATION.md, which mirrors the packages/design-core/README.md token+utility APIs.
Build your theme stack
- Load tokens early: import
@web-loom/design-core/src/css/*.css(ordesign-system) before the app renders so CSS variables are ready for layout and component styles. UsegenerateCssVariablesString/applyThemeto inject runtime CSS when you need to compute tokens in JS. - Compose semantic overrides in
apps/mvvm-react-integrated/src/styles/tokens.css(e.g.,--card-bg,--card-border) so the flat/paper look stays consistent. Keep those semantic tokens tied to Design Core values and share them across components. - Mirror the integration architecture diagram (app components → semantic tokens → design-core tokens → ThemeProvider) by introducing a
ThemeProviderthat loads both light/dark overrides and exposesuseTheme/toggleThemehooks. Persist the preference (localStorage +prefers-color-scheme) and always exposesetTheme(themeName)to update the[data-theme]attribute.
Flat/paper UI guidelines
- Emphasize solid backgrounds and visible borders instead of gradients or dramatic shadows. Use tokens like
--colors-background-surface,--shadows-sm,--card-border, and--radii-mdto achieve the paper feel described in the reference doc. - Prefer bold typography, clear spacing (
--spacing-m,--spacing-l), and saturated brand colors (blue/purple/green/red) for actionable elements. Keep hover/focus states subtle (slight border color changes ortranslateY(-1px)lifts) to stay on the flat design spectrum. - Ensure accessibility: focus rings (
outline: 2px solid var(--colors-brand-primary)), WCAG AA contrast for light/dark tokens, and screen-reader friendly semantics for interactive controls (ARIA labels, keyboard navigation).
Component and theme verification
- Use the existing cards, buttons, headers, and dashboard styles in
apps/mvvm-react-integratedas examples—copy the class patterns (.card,.page-header,.nav-link) and update them to consume semantic tokens. - When introducing new layouts, verify both themes (light/dark) by toggling the ThemeProvider switch and re-running
npm run devfor that app. Automated tests cansetTheme('light')/setTheme('dark')before snapshotting UI. - Document any new color/spacing tokens you add beside the existing
styles/tokens.cssentries so future designers know the flat/paper language you are extending.
Refer to references/design-core-flat-guidelines.md for the distilled instructions from the integration guide, and consult packages/design-core/README.md whenever you need implementation specifics (token APIs, utilities, CSS imports).
スコア
総合スコア
リポジトリの品質指標に基づく評価
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
レビュー
レビュー機能は近日公開予定です
