图像设计
- 作者仓库星标 178
- 作者更新于 实时读取
- 作者仓库 Egroo
- 领域
- 设计与多媒体
- 兼容 Agent
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- 信任分
- 88 / 100 · 社区维护
- 作者 / 版本 / 许可
- @jihadkhawaja · 未声明 license
- Token 消耗评级
- 低消耗
- 接入复杂程度
- 即装即用
- 是否需要外部 API Key
- 不需要
- 兼容的系统
- 未声明(默认跨平台)
- 底层运行要求
- 无特殊要求
- 文件与系统权限
-
- 只读
- 允许写入 / 修改
- 网络行为
- 仅限本地
- 安装命令数
- 26 条
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: mudblazor-theming
description: Apply consistent Material Design UI theming in Egroo using MudBlazor. Use for: adding or updatin…
category: 设计与多媒体
runtime: 无特殊运行时
---
# mudblazor-theming 输出预览
## PART A: 任务判断
- 适用问题:视觉内容、演示材料、信息图或设计交付。
- 输入要求:目标材料、限制条件、期望输出和验收方式。
- 证据边界:围绕“When to Use / Palette Reference / Component Patterns”读取原文规则,不把推断写成作者承诺。
## PART B: 执行结果
- **01** 任务判断:确认你的需求是否属于视觉内容、演示材料、信息图或设计交付,并标出输入、限制和预期结果。
- **02** 执行计划:优先按“When to Use / Palette Reference / Component Patterns”拆成步骤,说明每一步会读取什么、修改什么、产出什么。
- **03** 交付结果:给出可复制的命令、文件改动、检查清单或内容草稿,并说明如何继续迭代。
- **04** 风险边界:结合 读取文件、写入/修改文件、主要在本地完成、通常不需要额外 API Key 给出执行前确认项。
## Running Rules
- 读取文件、写入/修改文件;主要在本地完成;通常不需要额外 API Key。
- 先小样例验证,再放大到真实任务。
- 交付时同时给结果、检查口径和下一步迭代建议。 原文没有稳定的斜杠命令要求。安装验证后通常全局生效,直接在对话里点名这个 Skill 并描述任务即可。
告诉 Agent 目标文件或材料、期望结果、不可改范围、是否允许联网或执行命令。本 Skill 的权限画像是:读取文件、写入/修改文件。
先用一个小任务确认它会围绕“When to Use / Palette Reference / Component Patterns”工作;涉及文件或命令时,先看 diff、日志、预览或测试结果。
检查最终产物是否包含明确结果、必要证据和下一步动作;如果输出泛泛而谈,就补充输入、边界和验收标准后重跑。
---
name: mudblazor-theming
description: Apply consistent Material Design UI theming in Egroo using MudBlazor. Use for: adding or updatin…
category: 设计与多媒体
source: jihadkhawaja/Egroo
---
# mudblazor-theming
## 什么时候使用
- mudblazor-theming 是设计与多媒体方向的技能,让 Agent 直接产出图、卡、视觉素材 适合处理界面、视觉、封面、信息图或演示材料交付,核心价值是把输入、判断、执行、验证和交付边界固定下来,避免 Agent 泛泛回答。…
- 面向视觉内容、演示材料、信息图或设计交付,优先处理能明确输入、步骤和验收标准的工作。
## 需要提供什么
- 目标材料、目录范围、期望结果和不可改动内容。
- 是否允许联网、执行命令、读写文件或调用外部服务。
## 执行规则
- 围绕「When to Use / Palette Reference / Component Patterns」组织步骤,不把推断写成作者事实。
- 读取文件、写入/修改文件;主要在本地完成;通常不需要额外 API Key。
- 先跑小样例,确认结果可检查后再扩大任务范围。
## 输出要求
- 给出最终产物、关键证据、验证方式和下一步动作。
- 信息不足时标记 unknown,不编造命令、平台或依赖。 作者原文负责流程事实;仓库文件负责来源和命令;流狐只补充适用场景、限制和质量判断。
skill "mudblazor-theming" {
输入层 -> 用户目标 + 目标文件 + 禁止范围 + 验收标准
上下文层 -> When to Use / Palette Reference / Component Patterns
规则层 -> SKILL.md 触发条件 / 执行顺序 / 输出格式
运行层 -> 无特殊运行时 | 读取文件、写入/修改文件 | 主要在本地完成
安全层 -> 通常不需要额外 API Key + 小任务验证 + diff / 日志复核
输出层 -> 可复制结果 + 检查清单 + 下一步迭代
} 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.cssfiles: 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
@* Primary CTA (filled orange) *@
<MudButton Variant="Variant.Filled" Color="Color.Primary">Save</MudButton>
@* Secondary action *@
<MudButton Variant="Variant.Outlined" Color="Color.Secondary">Cancel</MudButton>
@* Destructive *@
<MudButton Variant="Variant.Text" Color="Color.Error">Delete</MudButton>
@* Ghost/low-emphasis *@
<MudButton Variant="Variant.Text" Color="Color.Default">Close</MudButton>
Rule: Always specify both Variant and Color. Never leave either at default when intent matters.
Text Fields / Forms
<MudTextField
@bind-Value="model.Name"
Label="Display Name"
Variant="Variant.Outlined"
Margin="Margin.Dense" />
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 |
<MudPaper Elevation="4" Class="pa-4">...</MudPaper>
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 |
<MudText Typo="Typo.h6" Color="Color.Primary">Agent Name</MudText>
<MudText Typo="Typo.body2" Color="Color.Secondary">@description</MudText>
Chips / Status Badges
@* Active *@
<MudChip T="string" Color="Color.Success" Size="Size.Small">Active</MudChip>
@* Inactive *@
<MudChip T="string" Color="Color.Default" Size="Size.Small">Inactive</MudChip>
@* Provider tag *@
<MudChip T="string" Color="Color.Secondary" Variant="Variant.Outlined" Size="Size.Small">@provider</MudChip>
Icons
Use Color.Primary for action icons, Color.Inherit inside buttons, Color.Default for decorative icons.
<MudIcon Icon="@Icons.Material.Filled.SmartToy" Color="Color.Primary" />
AppBar / Drawer
Already set by theme palette. In .razor files use:
<MudAppBar Elevation="0" Color="Color.Dark"> @* AppbarBackground from theme *@
<MudDrawer @bind-Open="_drawerOpen" Elevation="0" Variant="@DrawerVariant.Responsive">
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.
/* === Nav: active link === */
.nav-item ::deep a.active {
background-color: rgba(242,89,34,0.20); /* Primary @20% opacity */
color: #F25922; /* Primary */
}
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.
先判断是否适合
作者设计意图
作者的方法与取舍
边界和复核