技能 avalonia-zafiro-development
📦

avalonia-zafiro-development

安全

应用 Avalonia Zafiro 开发约定

此技能强制执行 Avalonia UI 与 Zafiro 工具包开发的必备约定,确保可维护的函数响应式 MVVM 代码符合行业最佳实践。

支持: Claude Codex Code(CC)
🥉 74 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“avalonia-zafiro-development”。 编写一个可过滤和刷新的项列表的 ViewModel。

预期结果:

使用 RefreshableCollection 的 ViewModel,配备 DynamicData Connect/Filter/Transform 运算符、正确的 DisposeWith 生命周期管理,以及 Zafiro 验证规则。

正在使用“avalonia-zafiro-development”。 将此错误处理转换为使用 Result 类型。

预期结果:

重构代码以使用 CSharpFunctionalExtensions Result 类型,通过正确的 Success/Failure 处理管道替代异常进行流控制。

正在使用“avalonia-zafiro-development”。 展示 Replay(1).RefCount() 的 Zafiro 快捷方式。

预期结果:

使用 Zafiro.Reactive.ObservableMixin 的 ReplayLastActive() 扩展方法。

安全审计

安全
v1 • 2/24/2026

All static findings are false positives. This skill contains only markdown documentation for Avalonia UI development conventions. The flagged patterns (backtick execution, weak crypto, system reconnaissance) are triggered by markdown syntax and development terminology in documentation context, not actual executable code. No scripts, network calls, file system access, or environment variable usage present.

6
已扫描文件
211
分析行数
0
发现项
1
审计总数
未发现安全问题

检测到的模式

External Commands Detection (False Positive)Weak Cryptographic Algorithm Detection (False Positive)System Reconnaissance Detection (False Positive)
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
91
规范符合性

你能构建什么

新 Avalonia 项目设置

在启动新的 Avalonia UI 项目时应用 Zafiro 约定,从��开始就建立正确的架构。

代码审查和重构

使用该技能对照 Zafiro 模式审查现有代码,并识别需要重构的领域。

学习响应式模式

在实现 DynamicData 管道或响应式命令时参考快捷方式和模式。

试试这些提示

应用 Zafiro 约定
应用 Avalonia Zafiro 开发约定来审查和改进此代码。专注于 MVVM 纯度、DynamicData 使用和 Zafiro 辅助方法。
修复响应式反模式
使用 Zafiro 最佳实践识别并修复此代码中的响应式反模式。查找临时 SourceList 创建、Subscribe 中的逻辑以及不当的运算符使用。
实现验证
使用 Zafiro ValidationRule 和扩展实现验证。展示验证动态集合的正确模式。
优化集合处理
应用 RefreshableCollection 模式和 DynamicData 运算符来��化此代码中的集合处理。

最佳实践

  • 处理集合时优先使用 DynamicData 运算符而非普通 Rx 运算符
  • 使用 CSharpFunctionalExtensions 的 Result 类型进行错误处理而非异常
  • 保持 ViewModel 严格独立于 Avalonia 以确保跨平台兼容性

避免

  • 为局部问题动态创建 SourceList 或 SourceCache,而非使用现有的辅助方法
  • 将业务逻辑置于 Subscribe 块内而非响应式管道中
  • 当存在 DynamicData 等效项时使用普通 System.Reactive 运算符

常见问题

Avalonia 开发中的 Zafiro 是什么?
Zafiro 是一个为 Avalonia UI 开发提供抽象、辅助方法和扩展方法的工具包,专注于响应式模式和整洁架构。
为什么使用 DynamicData 而非普通 Rx?
DynamicData 为集合管理提供专用运算符(Connect、Filter、Transform、Sort),在 UI 绑定场景中更高效且符合惯例。
在此上下文中纯 MVVM 是什么意思?
ViewModel 不得直接引用 Avalonia 类型,确保它们保持可测试和平台独立。
何时应使用 Result 类型?
�� Result 类型用于预期的错误路径和流控制。将异常保留给真正的异常、不可恢复的情况。
什么是 RefreshableCollection?
一种 Zafiro 模式,管理可刷新列表,具备自动加载、通过 EditDiff 的高效更新,以及用于 UI 绑定的 ReadOnlyObservableCollection 输出。
如何在响应式管道中处理错误?
使用 Zafiro 的 HandleErrorsWith 扩展将错误直接传递给 UI 通知服务,而非手动 Subscribe 错误处理。