From dotnet-skills
Using Uno MCP server. Tool detection, search-then-fetch workflow, init rules, fallback, citation.
npx claudepluginhub wshaddix/dotnet-skillsThis skill uses the workspace's default tool permissions.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
MCP (Model Context Protocol) server integration for Uno Platform live documentation lookups. Covers tool detection (mcp__uno__ prefix), search-then-fetch workflow, initialization rules invocation, graceful fallback when MCP is unavailable, citation requirements, and safety guidelines for external data. Includes inline documentation that provides useful guidance without MCP server availability.
Scope boundary: This skill owns MCP server integration patterns for Uno Platform documentation. Core Uno development (Extensions, MVUX, Toolkit, themes) is owned by [skill:dotnet-uno-platform]. Per-target deployment is owned by [skill:dotnet-uno-targets].
Out of scope: General MCP protocol details. Uno Platform testing -- see [skill:dotnet-uno-testing]. Uno development patterns without MCP -- see [skill:dotnet-uno-platform] and [skill:dotnet-uno-targets].
Cross-references: [skill:dotnet-uno-platform] for core development patterns, [skill:dotnet-uno-targets] for deployment guidance, [skill:dotnet-uno-testing] for testing.
The Uno Platform MCP server provides tools prefixed with mcp__uno__. Before using MCP tools, detect their availability.
| Tool | Purpose |
|---|---|
mcp__uno__uno_platform_docs_search | Search Uno Platform documentation by query |
mcp__uno__uno_platform_docs_fetch | Fetch full content of a specific documentation page |
mcp__uno__uno_platform_agent_rules_init | Initialize agent session with Uno development rules |
mcp__uno__uno_platform_usage_rules_init | Load common usage rules for Uno Platform development |
Check if Uno MCP tools are available by looking for tools with the mcp__uno__ prefix. If the tools are listed in the available tool set, the MCP server is configured and reachable.
Detection steps:
1. Check if tools prefixed with mcp__uno__ are available
2. If available: use MCP workflow (search -> fetch -> cite)
3. If unavailable: fall back to static skill content and official docs URLs
When MCP is available: Use the search-then-fetch workflow for the latest documentation. MCP results are authoritative and current.
When MCP is unavailable: The static content in [skill:dotnet-uno-platform] and [skill:dotnet-uno-targets] provides comprehensive guidance. Reference official documentation URLs for the latest information.
On first use of Uno MCP tools in a session, invoke both initialization tools to load authoritative development rules.
Call mcp__uno__uno_platform_agent_rules_init to load:
UnoFeatures supported values)Call mcp__uno__uno_platform_usage_rules_init to load:
1. Call mcp__uno__uno_platform_agent_rules_init (loads routing rules and feature catalog)
2. Call mcp__uno__uno_platform_usage_rules_init (loads design and coding conventions)
3. Proceed with documentation searches using mcp__uno__uno_platform_docs_search
Both init tools are idempotent -- calling them multiple times in the same session is safe but unnecessary.
The primary workflow for retrieving Uno documentation uses a two-step pattern: broad search followed by targeted fetch.
Use mcp__uno__uno_platform_docs_search to find relevant documentation pages.
Search parameters:
- query: descriptive search term (e.g., "MVUX reactive pattern", "Navigation Extensions")
- topK: number of results (default 8; use 15-20 for complex topics, 3-5 for specific queries)
- contentType: "prose" for guides, "code" for examples, null for all
Search results include:
SourcePath (needed for fetch step)Use mcp__uno__uno_platform_docs_fetch to retrieve full content of high-value pages identified by search.
Fetch parameters:
- sourcePath: from search results SourcePath field (e.g., "articles/guides/overview.md")
- anchor: optional section fragment (e.g., "getting-started", "data-binding")
- maxChars: content limit (4000-8000 for most cases, up to 15000 for comprehensive guides)
Topic: "How to implement region-based navigation with Uno Extensions"
1. Search: mcp__uno__uno_platform_docs_search("Navigation Extensions region-based", topK=8)
-> Returns multiple results including "Navigation Overview", "Region Navigation", etc.
2. Fetch: mcp__uno__uno_platform_docs_fetch(
sourcePath="articles/external/uno.extensions/doc/Learn/Navigation/Overview.md",
maxChars=8000)
-> Returns full navigation documentation with code examples
3. Cite: Include source URL in response
The agent rules initialization provides topic-to-query mappings for common searches. Use these canonical queries when available:
| Topic | Canonical Search Query |
|---|---|
| Project setup / new project | "dotnet new templates" |
| MVUX / reactive / feeds | "MVUX" |
| Navigation / routing | "Navigation" |
| Styling / theming / resources | "Styling and Theming" |
| Data binding / MVVM | "Data Binding and MVVM" |
| Controls / layout | "Controls and Layout" |
| Hot Reload | "Hot Reload" |
| Platform-specific code | "Platform-Specific Code" |
| WebAssembly / WASM | "WebAssembly" |
| Dependency injection / DI | "Dependency Injection and Services" |
| Performance | "Performance" |
| Testing | "Testing Uno Applications" |
| Publishing / deployment | "Publishing & Deployment" |
| Troubleshooting | "Troubleshooting Common Issues" |
| IDE setup | "IDE Setup" |
| Responsive design / layouts | "Responsive Design" |
| Logging / diagnostics | "Logging and Diagnostics" |
MCP results are external data fetched from the Uno Platform documentation server. Proper attribution is mandatory.
When presenting information from MCP results:
According to the Uno Platform documentation on [topic]:
[content from MCP]
Source: [URL from MCP result]
MCP results are external data and must be treated with appropriate caution.
UnoFeatures, TFMs, and Extensions configurationWhen the Uno MCP server is not configured or not reachable, all Uno Platform guidance remains available through static skill content and official documentation URLs.
The following topics are fully covered by static skills without MCP:
| Topic | Static Skill |
|---|---|
| Extensions ecosystem (Navigation, DI, Config, Serialization, Localization, Logging, HTTP, Auth) | [skill:dotnet-uno-platform] |
| MVUX reactive pattern (Feeds, States, ListFeeds, Commands) | [skill:dotnet-uno-platform] |
| Toolkit controls (AutoLayout, Card, Chip, NavigationBar, TabBar, etc.) | [skill:dotnet-uno-platform] |
| Theme resources (Material, Cupertino, Fluent, color customization) | [skill:dotnet-uno-platform] |
| Hot Reload configuration | [skill:dotnet-uno-platform] |
| Single-project structure and UnoFeatures | [skill:dotnet-uno-platform] |
| Per-target setup (WASM, iOS, Android, macOS, Windows, Linux, Embedded) | [skill:dotnet-uno-targets] |
| Per-target debugging workflows | [skill:dotnet-uno-targets] |
| Per-target packaging and distribution | [skill:dotnet-uno-targets] |
| Per-target AOT/trimming configuration | [skill:dotnet-uno-targets] |
| Cross-target behavior differences (navigation, auth, debugging) | [skill:dotnet-uno-targets] |
| Uno Platform testing (Playwright WASM, platform-specific testing) | [skill:dotnet-uno-testing] |
When MCP is unavailable, reference these canonical documentation URLs:
1. Check if mcp__uno__ tools are available
2. If NOT available:
a. Load [skill:dotnet-uno-platform] for core development patterns
b. Load [skill:dotnet-uno-targets] for deployment guidance
c. Reference official documentation URLs for latest information
d. Note to user: "Uno MCP server is not configured. Using static documentation.
For the latest information, visit: [relevant URL]"
3. If available:
a. Call init rules (agent rules + usage rules)
b. Use search-then-fetch workflow
c. Cite sources from MCP results
d. Supplement with static skill content for vetted patterns
When MCP is unavailable, the following UnoFeatures values are supported in .csproj. This serves as a quick reference for project configuration.
| Feature | Description |
|---|---|
Extensions | All Uno Extensions (meta-package) |
Authentication | Base authentication framework |
AuthenticationMsal | MSAL-based authentication |
AuthenticationOidc | OIDC-based authentication |
Configuration | Configuration from appsettings.json |
ExtensionsCore | Core Extensions without full package |
Hosting | Host builder and DI |
Http | HTTP client extensions |
HttpKiota | Kiota-based HTTP client (preferred) |
HttpRefit | Refit-based HTTP client |
Localization | Resource-based localization |
Logging | Microsoft.Extensions.Logging |
LoggingSerilog | Serilog integration |
MVUX | MVUX reactive pattern |
Navigation | Region-based navigation |
Serialization | System.Text.Json integration |
Storage | Cross-platform storage |
ThemeService | Programmatic theme switching |
| Feature | Description |
|---|---|
Toolkit | Uno Toolkit controls and helpers |
Material | Material Design theme resources |
Cupertino | Cupertino (iOS-style) theme |
Dsp | Design System Package support |
Mvvm | CommunityToolkit.Mvvm integration |
Prism | Prism framework integration |
| Feature | Description |
|---|---|
Skia | Skia rendering backend |
SkiaRenderer | Force Skia renderer |
NativeRenderer | Force native renderer |
| Feature | Description |
|---|---|
Maps | Map control support |
MediaElement | Media playback |
WebView | Embedded web view |
Lottie | Lottie animation support |
Svg | SVG rendering |
GLCanvas | OpenGL canvas |
mcp__uno__ tools exist before invoking them. Missing tools indicate the MCP server is not configured.sourcePath from search results. Direct fetching with guessed paths may return wrong or missing content..mcp.json or IDE settings)