smithery/dotnet

write-xaml-tests

Creates XAML unit tests for GitHub issues in the Controls.Xaml.UnitTests project. Tests XAML parsing, compilation (XamlC), and source generation. Use when testing XAML-specific behavior, not UI interactions.

Installation

$ npx skills add smithery/dotnet --skill write-xaml-tests

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/dotnet · top by installs.

npx skills add smithery/dotnet

Browse all from smithery/dotnet

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0
CompatibilityRequires .NET SDK for building and running xUnit tests.
More metadata
author
Stephane Delcroix
version
1.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,989 B
  • docs SUMMARY.md 231 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Write XAML Tests Skill

Creates XAML unit tests that verify XAML parsing, XamlC compilation, and source generation behavior.

When to Use

  • ✅ Testing XAML parsing/inflation behavior
  • ✅ Testing XamlC (IL generation) correctness
  • ✅ Testing Source Generator output
  • ✅ XAML-specific bugs (bindings, markup extensions, x:Name, etc.)

When NOT to Use

  • ❌ Testing UI interactions or visual behavior → Use write-ui-tests skill
  • ❌ Testing runtime behavior after page loads → Use write-ui-tests skill
  • ❌ Testing platform-specific rendering → Use write-ui-tests skill

Required Input

Before invoking, ensure you have:

  • Issue number (e.g., 12345)
  • Issue description - what XAML behavior is broken
  • Expected vs actual behavior

Workflow

Step 1: Read the XAML Unit Test Guidelines

cat .github/instructions/xaml-unittests.instructions.md

This contains the authoritative conventions for:

  • File naming (MauiXXXXX.xaml and MauiXXXXX.xaml.cs)
  • File location (src/Controls/tests/Xaml.UnitTests/Issues/)
  • Test patterns with [Values] XamlInflator
  • XamlC testing with MockCompiler
  • Source Generator testing with MockSourceGenerator
  • Special file extensions for invalid codegen (.rt.xaml, .rtsg.xaml, .rtxc.xaml)

Step 2: Create Test Files

Following the conventions from Step 1, create:

  • src/Controls/tests/Xaml.UnitTests/Issues/MauiXXXXX.xaml
  • src/Controls/tests/Xaml.UnitTests/Issues/MauiXXXXX.xaml.cs

Step 3: Verify Tests Compile and Run

# Build the test project
dotnet build src/Controls/tests/Xaml.UnitTests/Controls.Xaml.UnitTests.csproj -c Debug --no-restore -v q

# Run specific test
dotnet test src/Controls/tests/Xaml.UnitTests/Controls.Xaml.UnitTests.csproj --filter "FullyQualifiedName~MauiXXXXX" --no-build

Step 4: Verify Test Behavior

  • For bug reproduction tests: Tests should FAIL before fix, PASS after fix
  • For regression tests: Tests should PASS to confirm behavior works

Output

After completion, report:

✅ XAML unit test created for Issue #XXXXX

**Files:**
- `src/Controls/tests/Xaml.UnitTests/Issues/MauiXXXXX.xaml`
- `src/Controls/tests/Xaml.UnitTests/Issues/MauiXXXXX.xaml.cs`

**Test method:** `DescriptiveTestName`
**Inflators tested:** Runtime, XamlC, SourceGen
**Verification:** Tests [PASS/FAIL] as expected

References

  • Full conventions: .github/instructions/xaml-unittests.instructions.md
  • Test project: src/Controls/tests/Xaml.UnitTests/
  • Existing issue tests: src/Controls/tests/Xaml.UnitTests/Issues/