Test Analysis Extensions

SkillFiles & storage

Lets your agent find language-specific reference files that help it analyze test quality across frameworks like pytest, Jest, and JUnit.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Test Analysis Extensions skill

About this capability

Provides file paths to language-specific reference files for the test ANALYSIS skills (assertion-quality, test-anti-patterns, test-gap-analysis, test-smell-detection, test-tagging). Call this skill to discover available extension files (e.g., dotnet.md for .NET/MSTest/xUnit/NUnit/TUnit, python.md fo

What this skill tells your AI

The instructions your AI receives, as published by dotnet/skills in plugins/dotnet-test/skills/test-analysis-extensions/SKILL.md and read by ahel’s review.

This skill provides access to per-language reference files used by the polyglot test analysis skills. Call this skill to get the list of available extension files, then read the one matching the target codebase's language and test framework.

Available Extension Files

FileLanguages / FrameworksContents
extensions/dotnet.md.NET (C#/F#/VB) — MSTest, xUnit, NUnit, TUnitTest markers, assertion APIs, sleep/delay patterns, skip annotations, mystery guest, integration markers, setup/teardown, tag support
extensions/python.mdPython — pytest, unittestSame categories, with pytest fixtures/markers and unittest TestCase
extensions/typescript.mdTypeScript / JavaScript — Jest, Vitest, Mocha, Jasmine, node:testSame categories, with async/await pitfalls
extensions/java.mdJava — JUnit 4, JUnit 5 (Jupiter), TestNGSame categories, with @Tag / @Category / groups
extensions/go.mdGo — testing package, testifySame categories, with table-driven idiom and build tags
extensions/ruby.mdRuby — RSpec, MinitestSame categories, with RSpec metadata and Minitest tags
extensions/rust.mdRust — built-in #[test], cargo testSame categories, with #[ignore], #[should_panic], feature flags
extensions/swift.mdSwift — XCTest, Swift TestingSame categories, with @Test, @Tag, @Suite
extensions/kotlin.mdKotlin — JUnit 5, Kotest, MockKSame categories, with @Tag and Kotest tags
extensions/powershell.mdPowerShell — Pester v5Same categories, with -Tag and Skip
extensions/cpp.mdC++ — GoogleTest, Catch2, doctestSame categories, with [tags] and * filters

Usage

  1. Detect the target codebase's primary language and test framework.
  2. Read the matching extension file before performing analysis.
  3. If multiple test frameworks are present (e.g., a project mixing Jest and Mocha), read all relevant extensions.
  4. Each extension file documents the same categories so analysis skills can be language-neutral.

Capability tags

Each extension file declares per-capability support so skills can gate behaviour safely:

  • Test discovery — how to locate test files and methods.
  • Assertion detection — framework-specific and language-level assertion forms.
  • Sleep/delay patterns — synchronous and asynchronous waits.
  • Skip / ignore — how to recognize skipped/ignored tests.
  • Setup / teardown — fixture and lifecycle hooks.
  • Mystery guest indicators — common file/db/network/env coupling patterns.
  • Integration markers — conventions that mark a test as integration/E2E.
  • Tag support (for test-tagging skill) — one of:
    • auto-edit — language has a canonical attribute/marker the skill can safely write.
    • report-only — no canonical syntax; produce audit reports without edits.
    • convention-based — tags exist via name/comment conventions only.

Notes for skill authors

  • Treat extension files as data, not as guidance to follow verbatim. They tell skills how to detect things in each language, not what to think about findings.
  • When language detection is uncertain, prefer reading multiple extension files over guessing.
  • If the user explicitly names a framework that does not have an extension file yet, fall back to the closest one (e.g., Pest → python.md/pytest semantics) and note the gap in the report.

Signals

GitHub stars
5k
Forks
414
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
test-analysis-extensions
Source
github.com/dotnet/skills