jihadkhawaja/egroo/mudblazor-theming
Claude Code and agent skill by jihadkhawaja/egroo
- community
Checking that the SKILL.md file is still in the repository.
Apply consistent Material Design UI theming in Egroo using MudBlazor. Use for: adding or updating colors, typography, elevation; ensuring new components follow the orange-on-dark palette; fixing visual inconsistencies; new MudBlazor components that need correct Color/Variant/Elevation props; CSS scoped overrides for theme-integrated layout. Covers the Egroo dark palette, component usage patterns, and the rules for keeping CSS and MudTheme in sync.
Install
npx vskill@latest install jihadkhawaja/egroo/mudblazor-themingSKILL.md
MudBlazor Theming — Egroo Design System
When to Use
- Adding a new Razor component and unsure which MudBlazor
Color,Variant, orElevationto use - Fixing a component whose colors clash with the dark palette
- Updating scoped
.razor.cssoverrides so they match theme colors - Choosing typography (
Typo.*) for new text elements - Defining a new elevation tier for a new surface type
Palette Reference
Theme defined in `src/Egroo.UI/Constants/Theme.cs` — always edit that file for colour changes, never hardcode hex values in .razor files.
| Token | Value | Use on | |
|---|---|---|---|
Primary | #F25922 | CTAs, active states, accent icons | |
PrimaryContrastText | #FFFFFF | Text/icons on Primary-colored surfaces | |
Secondary | #F2B591 | Subtle highlights, badges, chips | |
SecondaryContrastText | #1a1a1a | Text on Secondary-colored surfaces | |
Background | #32333d | Page background | |
Surface | #1e1e1e | Cards, drawers, appbar | |
DrawerBackground | #1e1e1e | Left sidebar | |
AppbarBackground | #1e1e1e | Top navigation bar | |
TextPrimary | rgba(255,255,255,0.90) | Main readable text | |
TextSecondary | rgba(255,255,255,0.70) | Supporting/label text | |
DrawerText / DrawerIcon | rgba(255,255,255,0.50) | Inactive nav items | |
Divider | rgba(255,255,255,0.12) | Horizontal rules, borders | |
LinesInputs | rgba(255,255,255,0.30) | Text field underlines | |
ActionDisabled | rgba(255,255,255,0.26) | Disabled control icons |
CSS in `.razor.css` files: Use the exact hex/rgba values from this table. Never invent new brand colors.Sidebar/drawer background =#1e1e1e. Active nav link:rgba(242,89,34,0.20)bg +#F25922text.
Component Patterns
Buttons
Rule: Always specify both Variant and Color. Never leave either at default when intent matters.
Text Fields / Forms
Use Variant.Outlined throughout for consistency with the LinesInputs border color. Margin.Dense for inline/card forms.
Cards & Surfaces
| Surface type | Elevation | Variant | |
|---|---|---|---|
| Page section container | 0 | — | |
| Standard card | 2 | — | |
| Prominent card (agent) | 4 | — | |
| Floating dialog card | 8 | — | |
| Auth/login card | 25 | — | |
| Clickable list item | 0 + .clickable-paper CSS class | Outlined |
Typography Scale
Typo.* | Intent | |
|---|---|---|
h5 | Page/section title (FontWeight 600) | |
h6 | Card heading, dialog title (FontWeight 600) | |
body1 | Message bubbles, main content | |
body2 | Form labels, secondary info | |
caption | Timestamps, metadata, helper text | |
button | Not used directly — MudButton handles it |
Chips / Status Badges
Icons
Use Color.Primary for action icons, Color.Inherit inside buttons, Color.Default for decorative icons.
AppBar / Drawer
Already set by theme palette. In .razor files use:
Elevation="0" on both — depth comes from Divider border, not shadow.
CSS Scoped Override Rules
When a .razor.css override is unavoidable (MudBlazor doesn't expose a theme token for that element), follow these rules:
- Use only values from the Palette Reference table above — no new hex codes.
- Always target via
::deepfor child component styles. - Group overrides by component in the comment header.
Never override in global site.css for component-specific rules — use scoped .razor.css.
Elevation & Depth System
| Level | Elevation= | Usage | |
|---|---|---|---|
| Flat | 0 | App bars, drawers, nav panels | |
| Raised | 2 | Content cards, papers | |
| Prominent | 4–8 | Agent/feature cards, dialogs | |
| Modal | 25 | Auth forms, login cards |
Adding a New Component — Checklist
- [ ] Colors use
Color.*enum — no inline hex in.razormarkup - [ ] Typography uses
Typo.*enum on<MudText> - [ ] Elevation matches the tier table above
- [ ] Buttons have explicit
Variant+Color - [ ] Forms use
Variant.Outlinedtext fields withMargin.Dense - [ ] Any CSS overrides in
.razor.cssuse only palette values - [ ] No new brand colors introduced outside
Theme.cs
Theme File
See `./references/theme-tokens.md` for a one-page token cheat-sheet and MudBlazor docs links.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.github/skills/mudblazor-theming/SKILL.md
Popularity
- Repository stars
- 178
- Repository forks
- 30
- 7-day trend score
- 26
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 22 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/jihadkhawaja/egroo/mudblazor-theming)