ソース情報
- リポジトリ
- unoplatform/studio
- ソースの最終更新活動
- 2026年6月9日 19:39
- 検出された SKILL.md の言語
- 英語
- スター
- 10
- フォーク
- 1
インストール方法
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
ソースファイルを確認
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
メニュー
デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。
インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。
SOC 職業分類に基づく
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
直接コマンドでは確認用 Prompt が省略されます。実行前にソースを確認してください。
npx skills add https://github.com/unoplatform/studio --skill uno-mvux-recordsコマンドは1行のまま表示されます。コピー前に横へスクロールして全体を確認してください。
ローカルで確認しますか?SkillsMP が現在取得できるファイルをダウンロードできます。
SKILL.md を表示中
| name | uno-mvux-records |
| description | Use immutable records effectively with MVUX. |
| when_to_use | Use when designing data models/entities for MVUX, understanding why MVUX requires records (immutability), implementing key equality for proper item matching in lists, using `with` expressions to create modified copies, or understanding `partial record` requirements for Model classes. |
| metadata | {"author":"uno-platform","version":"2.4","category":"mvux"} |
Docs lookup: call
uno_platform_docs_search(...)first, thenuno_platform_docs_fetch(sourcePath="…")using thesourcePathfield from a result (a relative.mdpath; add the result'sanchorfor a section). Never pass a URL, a.htmllink, or a hand-built path.
The MVUX overview covers why records are essential:
uno_platform_docs_search("MVUX immutable records data model code generation")
Primary documentation page:
external/uno.extensions/doc/Learn/Mvux/Overview.mdFetch and look for the "Model" and "Creating your own" sections:
uno_platform_docs_fetch(sourcePath="external/uno.extensions/doc/Learn/Mvux/Overview.md")
If the user needs key equality for entity matching (messaging, selection), search for:
uno_platform_docs_search("MVUX key equality entity matching record identifier")
The messaging reference covers how records are matched by key:
external/uno.extensions/doc/Learn/Mvux/Advanced/Messaging.mdIf the user needs help with C# record syntax itself, this is standard C# language knowledge — records provide immutability, value equality, with expressions, and deconstruction.
Record types used as items in MVUX collections (IListFeed<T>, IListState<T>) MUST support key equality via Uno.Extensions.Equality.IKeyEquatable<T>. Without it, MVUX cannot distinguish a modified entity from a different one — every change forces a full list re-render (flickering, lost scroll position, broken animations). For single-value IState<T> / IFeed<T>, key equality matters for messaging-driven entity matching.
For partial record types, IKeyEquatable<T> is auto-generated when the record has a property named Id or Key:
public partial record Person(Guid Id, string Name, int Age);
// IKeyEquatable<Person> is generated automatically — Id is the key
Use [Key] (from Uno.Extensions.Equality or System.ComponentModel.DataAnnotations) when the key property has a different name, or for composite keys:
public partial record OrderLine(
[property: Key] Guid OrderId,
[property: Key] int LineNumber,
string Product,
decimal Price);
Configure which property names are auto-detected as keys:
[assembly: ImplicitKeyEquality("Id", "Key", "EntityId")]
If auto-generation causes issues on a specific type:
[ImplicitKeys(IsEnabled = false)]
public partial record MyItem(Guid Id, string Name);
The interface is exactly Uno.Extensions.Equality.IKeyEquatable<T>. Do not introduce a generic IHasKey<T> or similar invented name — the framework will not recognise it.
partial record (or manually implement IKeyEquatable<T>)KeyEquals returns true when two instances represent the same entity, even if other properties differrecord types (immutable, value equality)partial record with a Model suffix for code generationwith expressions to create modified copies: entity with { Name = "New" }public record Person(string Name, int Age); — concise syntaxpublic partial record MainModel(IMyService Service)