1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 名称 | fluentui-blazor(合集仓库子技能,识别名 fluentui-blazor-github-awesome-copilot) |
— |
| 作者/维护者 | Adrien Clerbois(GitHub 用户 AClerbois,Microsoft MVP,同时是 Fluent UI Blazor 组件库的贡献者,48 次提交);2026-02-16 经 github/awesome-copilot PR #738 合并 |
GitHub API |
| 来源链接 | https://github.com/github/awesome-copilot/tree/main/skills/fluentui-blazor | — |
| 许可证 | MIT(仓库级;SKILL.md front matter 未单独声明) | GitHub API |
| GitHub Stars / Forks | 39,156 / 4,974(属整个 awesome-copilot 合集仓库,不代表本技能自身热度) | GitHub API |
| 最新版本 | 无独立版本号;该子目录仅有 1 次提交(2026-02-16) | GitHub API(按路径过滤的提交记录) |
| 安装方式 | npx skills add https://github.com/github/awesome-copilot --skill fluentui-blazor,或手动复制目录 |
skills.sh 页面 |
2. 功能介绍与亮点
这是一份面向 Microsoft Fluent UI Blazor 组件库 v4(NuGet 包 Microsoft.FluentUI.AspNetCore.Components)使用者的编码指南:SKILL.md 约 7.5KB,另带 4 份参考文件(安装配置、布局与导航、DataGrid、主题,合计约 18KB),无脚本。
- 十条“关键规则”专治 agent 常犯的错:不要手动加
<script>/<link>(库自动加载);FluentToastProvider、FluentDialogProvider等 Provider 必须放进根布局,否则服务调用“静默失败”;Transient服务生命周期会抛NotSupportedException。 - 列表组件绑定模型:
FluentSelect/FluentCombobox/FluentAutocomplete用Items+OptionText+SelectedOption,不是InputSelect那套;并给出错误写法对照。 - 对话框与提示:用
IDialogService而不是切换<FluentDialog>可见性,含IDialogContentComponent<T>完整示例;IToastService用法与默认参数。 - 主题与表单:设计令牌依赖 JS 互操作,只能在
OnAfterRenderAsync里设置;FluentEditForm仅用于向导步骤,普通表单用EditForm。 - 图标须另装
Microsoft.FluentUI.AspNetCore.Components.Icons包,并使用强类型Icons.Regular.Size24.Save写法。
3. 适用场景
固定分类:前端与设计
适合用 Blazor(Server / WebAssembly / Web App)搭建带 Fluent 设计语言界面的 .NET 开发者:新项目初始化组件库、排查“对话框不弹/提示不显示/主题不生效”、把 HTML 表单换成 Fluent 组件、配置 DataGrid 与导航布局。受益人群是不熟悉该库 v4 API 的 .NET 前端与全栈开发者。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持——标准 Agent Skills 结构(SKILL.md + YAML front matter + references/),放入
.claude/skills/即可加载。 - Codex CLI:⚠️ 需适配——Codex 不会自动扫描
~/.codex/skills,需在会话中手动引用 SKILL.md 及参考文件内容。 - OpenClaw:❓ 未验证——未查到其加载第三方 SKILL.md 的官方说明。
- Hermes Agent:✅ 原生支持——按 tap 路径扫描子目录探测 SKILL.md,兼容标准 Agent Skills 规范。
5. 推荐理由
Fluent UI Blazor 的 v4 API 有不少反直觉之处(Provider 缺失时零报错、列表组件不吃 <option> 子元素、令牌不能在 OnInitialized 里设),通用大模型凭训练记忆写出的代码常在这些点上翻车。这份技能把这些坑写成“必须/禁止”式规则并配对错示例,让 agent 一次写对,省去反复调试。它只有提示词与参考文档,装上即用,对使用该库的 .NET 团队是低成本、见效直接的补充。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 8 | skills.sh 页面显示约 9K 次安装,另有 mcpservers.org、agentskills.so、claudemarketplaces.com 等多家目录收录;作者个人贡献,合集仓库 stars 不计入本技能个体热度 |
| 可用性 | 8 | 一条命令安装,无外部依赖,规则与代码示例齐全,配 4 份参考文件;对应的组件库 v4 仍在维护(最新 4.14.4,2026-07-29 发布)。扣分:仅覆盖 v4,v5 已进入 RC 阶段,日后需更新;该子目录自 2026-02-16 后无改动,距今约 7 个月 |
| 安全性 | 9 | 纯提示词与文档,无脚本、无联网、无凭据;仓库 MIT;见下方清单 |
安全检查清单:①不执行 shell 命令(仅在文档中列出 dotnet add package 安装图标包的命令,由用户自行执行)②运行时无联网外发 ③不需要 API key 或凭据 ④通读 SKILL.md 与 4 份参考文件,未见可疑指令、混淆内容或夹带推广;skills.sh 上 Gen Agent Trust Hub、Socket、Snyk 三项自动审计均通过 ⑤作者为组件库贡献者、Microsoft MVP,经 awesome-copilot 维护者审阅合并 ⑥License 明确(仓库 MIT) ⑦合集仓库近日仍在提交,本子目录自 2026-02-16 后无改动,但所述组件库版本仍为当前稳定版。综合 = 三项均值。
7. 跟同类 Skills 相比的优势
| 项目 | 定位 | 与本技能的差异 |
|---|---|---|
| shadcn/ui 官方技能 | 面向 React + Tailwind 的 shadcn 组件库使用指导 | 针对 React 生态;本技能针对 .NET Blazor 与 Fluent 设计体系 |
| Vercel react-best-practices / composition-patterns | React 与 Next.js 性能及组件组合规范 | 面向 React 通用工程实践,不涉及具体组件库 API |
| dotnet/skills 的 dotnet-aspnetcore | ASP.NET Core 通用任务(Web API、可观测性、Blazor 迁移、文件上传) | 关注框架层任务;本技能专注 Fluent UI 组件库的 Provider、绑定、对话框、主题等具体用法 |
核心差异:目前少见专门覆盖 Microsoft Fluent UI Blazor 组件库使用细节的 agent 技能,本技能填补的是“框架通用指导”与“组件库具体 API”之间的空白。
8. 用户评价
该技能目前在第三方平台尚无具名用户使用评价。可核实的公开痕迹:skills.sh 显示约 9K 次安装;三项自动化安全审计通过;合集仓库贡献 PR(github/awesome-copilot#738)的作者自述已用 GitHub Copilot 测试并合并入库。以上是安装数据与审阅记录,不是使用者评价。
9. 其他补充
正文为英文,无多语言版本。技能内容基于组件库 v4;官方 v5 处于候选发布阶段,v5 API 与 v4 存在差异,升级后本技能的部分规则可能不再适用。
10. 安装使用方式
- 安装:
npx skills add https://github.com/github/awesome-copilot --skill fluentui-blazor,或手动复制skills/fluentui-blazor/(含references/)到你的 skills 目录。 - 触发:在 Blazor 项目中对 agent 说“用 FluentDataGrid 做一个带排序的列表”“对话框点了没反应,帮我查 Provider 配置”等,凡涉及
Fluent*组件会自动匹配。 - 安装后无需重启;项目本身需已引用
Microsoft.FluentUI.AspNetCore.Componentsv4。
11. 注意事项
- 只适用于 Fluent UI Blazor v4;若项目使用 v5 预览版或旧的 v3,部分规则(如
ValueText、Provider 名称)可能不符。 - 参考文件是英文摘要,遇到组件库新增参数时仍需对照官方文档。
- 技能没有随组件库仓库同步发布,更新依赖 awesome-copilot 的贡献流程,节奏不固定。
- 图标须单独安装 Icons 包,否则示例中的
Icons.Regular...无法编译。