test-analysis-extensions

Provides language-specific test framework reference files for polyglot test analysis skills.

5.3k|403|Updated Feb 3, 2026
One-click install
npx skills add https://github.com/dotnet/skills --skill test-analysis-extensions
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: test-analysis-extensions
Source: https://github.com/dotnet/skills/tree/main/plugins/dotnet-test/skills/test-analysis-extensions
Command: npx skills add https://github.com/dotnet/skills --skill test-analysis-extensions

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Test analysis skills need framework-specific lookup data (assertion APIs, skip annotations, tag syntax) that varies across languages, and this Skill centralizes that reference data so analysis stays accurate across polyglot codebases.

Core Features & Use Cases

  • Per-Language Reference Files: Ships extension files for .NET, Python, TypeScript, Java, Go, Ruby, Rust, Swift, Kotlin, PowerShell, and C++ covering their major test frameworks.
  • Capability Tagging: Each extension declares support levels for test discovery, assertion detection, sleep patterns, skip handling, setup/teardown, mystery guest indicators, integration markers, and tag support (auto-edit, report-only, or convention-based).
  • Use Case: When the test-quality-auditor agent analyzes a mixed Jest and Mocha TypeScript repo, it calls this Skill to locate and read typescript.md so it can correctly detect unawaited promises, .only commits, and xit skips.

Quick Start

Ask the agent to analyze test quality in your repository and it will load the matching language extension file before running the test analysis skills.

Frequently Asked Questions about test-analysis-extensions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do test analysis skills detect framework-specific assertions?

They read the extension file matching the codebase's language, which lists assertion APIs per framework, such as Assert.AreEqual for MSTest, expect().toBe() for Jest, and assert_eq! for Rust. This lets analysis stay language-neutral while detection stays accurate.

What languages and test frameworks does this reference cover?

It covers .NET (MSTest, xUnit, NUnit, TUnit), Python (pytest, unittest), TypeScript (Jest, Vitest, Mocha), Java (JUnit 4/5, TestNG), Go, Ruby, Rust, Swift, Kotlin, PowerShell Pester, and C++ (GoogleTest, Catch2, doctest).

Can test-tagging automatically add tags in every language?

No. Each extension declares a tag-support level: auto-edit for languages with canonical attributes like .NET or Java, report-only for Go and TypeScript, and convention-based where tags exist only via naming patterns.

What happens if my test framework has no extension file?

The guidance is to fall back to the closest matching extension, such as using python.md for Pest, and note the gap in the analysis report rather than guessing framework semantics.

Why is this skill not directly invocable by users?

It is marked user-invocable false and disable-model-invocation true because it is a data provider invoked only by the test-quality-auditor agent and polyglot analysis skills, not a standalone user workflow.