avalonia-zafiro-development について
Avalonia UI と Zafiro でクロスプラットフォームアプリを開発するチーム向けのスキルです。関数型リアクティブ MVVM、明示的なエラー処理、Avalonia に依存しない ViewModel、Zafiro 抽象の再利用を定め、実装前にリポジトリを調べる手順も示します。
主な機能
- 01関数型リアクティブ MVVM の規約
- 02Result 型によるエラー処理
- 03Avalonia 非依存の ViewModel
- 04Zafiro 抽象の再利用
- 05DynamicData のリアクティブパイプライン
- 06実装前の既存コード検索
活用シーン
- 01Avalonia プロジェクトの規約策定
- 02ViewModel 実装の指針
- 03リアクティブなコレクション処理の確認
- 04コード追加前の再利用可能なヘルパー検索
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill avalonia-zafiro-developmentインストール後、Claude Code で/avalonia-zafiro-developmentを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
avalonia-reactive-rules.mdcore-technical-skills.mdnaming-standards.mdpatterns.mdzafiro-shortcuts.md詳細
Avalonia Zafiro 開発
このスキルでは、Avalonia UI と Zafiro ツールキットを使用したクロスプラットフォームアプリケーション開発における、必須の規約と動作ルールを定めています。保守性、正確性、関数型リアクティブなアプローチを重視します。
中核となる原則
- 関数型リアクティブ MVVM:DynamicData と ReactiveUI を使用した、純粋な MVVM ロジックです。
- 安全性と予測可能性:
Result型で明示的にエラーを処理し、フロー制御に例外を使用しないようにします。 - 優れたクロスプラットフォーム対応:ViewModel を Avalonia に厳密に依存させず、継承よりコンポジションを優先します。
- Zafiro を優先:既存の Zafiro 抽象化とヘルパーを活用し、重複を避けます。
ガイド
- コア技術スキルとアーキテクチャ:基礎的なスキルとアーキテクチャの原則です。
- 命名規則とコーディング標準:命名、フィールド、エラー処理に関するルールです。
- Avalonia、Zafiro、リアクティブのルール:UI、Zafiro の統合、DynamicData パイプラインに関する具体的なガイドラインです。
- Zafiro のショートカット:一般的な Rx/Zafiro 操作の簡潔な対応表です。
- 一般的なパターン:
RefreshableCollectionや検証などの高度なパターンです。
互換性と検証
これらはプロジェクトやツールキット固有の規約であり、.NET 全般に適用されるルールではありません。実際のリポジトリの要件と、指定された Zafiro/ReactiveUI/DynamicData API に従ってください。ショートカットの意味(特に null、空、空白のみの違い)を確認し、表の対応関係が等価だと決めつけないでください。コレクションに期待される空の場合や全項目が有効な場合の動作を検証してください。有効な項目をフィルタリングしてから空でないことを確認しても、すべての項目が有効である証明にはなりません。リアクティブな例を適用する際は、キャンセル、UI スレッドでのスケジューリング、破棄の所有権を維持してください。
コードを書く前の手順
- まず検索:類似の実装や既存の Zafiro ヘルパーがコードベースにないか検索します。
- 再利用可能な拡張機能:ヘルパーが見つからない場合は、複雑なロジックをインラインで記述するのではなく、再利用可能な新しい拡張メソッドを提案します。
- リアクティブパイプライン:該当する場合は、通常の Rx ではなく DynamicData の演算子を使用します。
使用する場面
このスキルは、概要で説明されているワークフローやアクションを実行する場合に適用できます。
制限事項
- タスクが上記の範囲に明確に該当する場合にのみ、このスキルを使用してください。
- 出力を、環境固有の検証、テスト、専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認してください。
コメント
Markdown 対応