Help us improve
Share bugs, ideas, or general feedback.
From uno-platform-studio
Creates and uses commands in MVUX for user interactions, including implicit command generation from Model methods, feed parameter injection, and explicit command creation.
npx claudepluginhub unoplatform/studio --plugin uno-platform-studioHow this skill is triggered — by the user, by Claude, or both
Slash command
/uno-platform-studio:uno-mvux-commandsWhen to use
Use when binding a Button (or other control) to a method on the Model, understanding how methods become commands in the generated ViewModel, passing feed/state values as parameters to commands, controlling which methods generate commands (implicit vs explicit), or disabling command generation for specific methods.
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **Docs lookup:** call `uno_platform_docs_search(...)` first, then `uno_platform_docs_fetch(sourcePath="…")` using the `sourcePath` field from a result (a relative `.md` path; add the result's `anchor` for a section). Never pass a URL, a `.html` link, or a hand-built path.
Applies C++ Core Guidelines to write, review, or refactor C++ code. Enforces modern, safe, and idiomatic practices for C++17/20/23.
Share bugs, ideas, or general feedback.
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.
Search for and fetch the commands documentation:
uno_platform_docs_search("MVUX commands automatic generation method invocation")
Primary documentation pages:
external/uno.extensions/doc/Learn/Mvux/Advanced/Commands.mdexternal/uno.extensions/doc/Learn/Mvux/Walkthrough/Commands.howto.mdFetch the reference page for complete details:
uno_platform_docs_fetch(sourcePath="external/uno.extensions/doc/Learn/Mvux/Advanced/Commands.md")
From the fetched docs, any public method on a Model automatically becomes a command in the generated ViewModel. The reference page covers:
CommandParameter from XAML[ImplicitCommands] attribute to enable/disable generationFor step-by-step examples:
uno_platform_docs_fetch(sourcePath="external/uno.extensions/doc/Learn/Mvux/Walkthrough/Commands.howto.md")
This covers creating basic commands, using feed values in commands, can-execute logic, and disabling command generation.
If the user needs manual control over commands, the reference page has an "Explicit command creation" section covering Command.Create(...).
IFeed<T>, IListFeed<T>, IState<T>, IListState<T>) — the matching parameter receives a snapshot of the current value.IState<T> and IListState<T> expose UpdateAsync / AddAsync / RemoveAsync. IFeed<T> and IListFeed<T> are read-only — calling .Update(...), .UpdateAsync(...), .AddAsync(...), or .RemoveAsync(...) on an injected IListFeed/IFeed is a compile error.IListState<T> (not IListFeed<T>); convert with ListState.FromFeed(this, sourceFeed) if needed.UpdateAsync, the updater must be pure — derive the new value solely from the current value, with no captured external state or side effects. See [[uno-mvux-state-basics]] and [[uno-mvux-liststate]] for details.*Model partial record generates a command in the ViewModelIAsyncCommand — they handle async properly[ImplicitCommands(false)] on a Model to disable automatic generationCommand="{Binding MethodName}"Save() → Save command)