Agent Skills › dotnet/skills › test-analysis-extensions

test-analysis-extensions

GitHub

为多语言测试分析技能提供特定语言和框架的参考文件,涵盖断言、标记、跳过等能力检测,辅助测试审计与质量评估。

plugins/dotnet-test/skills/test-analysis-extensions/SKILL.md dotnet/skills

Trigger Scenarios

需要识别代码库的编程语言和测试框架 执行跨语言测试质量审计或分析任务

Install

npx skills add dotnet/skills --skill test-analysis-extensions -g -y
More Options

Non-standard path

npx skills add https://github.com/dotnet/skills/tree/main/plugins/dotnet-test/skills/test-analysis-extensions -g -y

Use without installing

npx skills use dotnet/skills@test-analysis-extensions

指定 Agent (Claude Code)

npx skills add dotnet/skills --skill test-analysis-extensions -a claude-code -g -y

安装 repo 全部 skill

npx skills add dotnet/skills --all -g -y

预览 repo 内 skill

npx skills add dotnet/skills --list

SKILL.md

Frontmatter
{
    "name": "test-analysis-extensions",
    "license": "MIT",
    "description": "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 for pytest\/unittest, typescript.md for Jest\/Vitest\/Mocha, java.md for JUnit\/TestNG, etc.). Do not use directly — invoked by the test-quality-auditor agent and polyglot analysis skills that need framework-specific lookup tables (test markers, assertion APIs, skip annotations, sleep patterns, mystery guest indicators, integration markers, setup\/teardown, tag-support capability).",
    "user-invocable": false,
    "disable-model-invocation": true
}

Test Analysis Extensions

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

File Languages / Frameworks Contents
extensions/dotnet.md .NET (C#/F#/VB) — MSTest, xUnit, NUnit, TUnit Test markers, assertion APIs, sleep/delay patterns, skip annotations, mystery guest, integration markers, setup/teardown, tag support
extensions/python.md Python — pytest, unittest Same categories, with pytest fixtures/markers and unittest TestCase
extensions/typescript.md TypeScript / JavaScript — Jest, Vitest, Mocha, Jasmine, node:test Same categories, with async/await pitfalls
extensions/java.md Java — JUnit 4, JUnit 5 (Jupiter), TestNG Same categories, with @Tag / @Category / groups
extensions/go.md Go — testing package, testify Same categories, with table-driven idiom and build tags
extensions/ruby.md Ruby — RSpec, Minitest Same categories, with RSpec metadata and Minitest tags
extensions/rust.md Rust — built-in #[test], cargo test Same categories, with #[ignore], #[should_panic], feature flags
extensions/swift.md Swift — XCTest, Swift Testing Same categories, with @Test, @Tag, @Suite
extensions/kotlin.md Kotlin — JUnit 5, Kotest, MockK Same categories, with @Tag and Kotest tags
extensions/powershell.md PowerShell — Pester v5 Same categories, with -Tag and Skip
extensions/cpp.md C++ — GoogleTest, Catch2, doctest Same 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.

Version History

  • ce75c35 Current 2026-07-06 00:33

Same Skill Collection

.agents/skills/create-custom-agent/SKILL.md
.agents/skills/create-skill-test/SKILL.md
.agents/skills/create-skill/SKILL.md
.agents/skills/improve-skill-quality/SKILL.md
.github/skills/agentic-workflows/SKILL.md
eng/skill-validator/tests/fixtures/sample-skill/SKILL.md
plugins/dotnet-advanced/skills/csharp-scripts/SKILL.md
plugins/dotnet-advanced/skills/nuget-trusted-publishing/SKILL.md
plugins/dotnet-advanced/skills/vectorization/SKILL.md
plugins/dotnet-aspnetcore/skills/configuring-opentelemetry-dotnet/SKILL.md
plugins/dotnet-aspnetcore/skills/dotnet-webapi/SKILL.md
plugins/dotnet-aspnetcore/skills/minimal-api-file-upload/SKILL.md
plugins/dotnet-blazor/skills/create-blazor-project/SKILL.md
plugins/dotnet-blazor/skills/fetch-and-send-data/SKILL.md
plugins/dotnet-blazor/skills/support-prerendering/SKILL.md
plugins/dotnet-blazor/skills/use-js-interop/SKILL.md
plugins/dotnet-data/skills/optimizing-ef-core-queries/SKILL.md
plugins/dotnet-diag/skills/analyzing-dotnet-performance/SKILL.md
plugins/dotnet-diag/skills/clr-activation-debugging/SKILL.md
plugins/dotnet-diag/skills/dotnet-trace-collect/SKILL.md
plugins/dotnet-diag/skills/dump-collect/SKILL.md
plugins/dotnet-experimental/skills/exp-mock-usage-analysis/SKILL.md
plugins/dotnet-experimental/skills/exp-simd-vectorization/SKILL.md
plugins/dotnet-msbuild/skills/binlog-failure-analysis/SKILL.md
plugins/dotnet-msbuild/skills/copy-to-output-directory/SKILL.md
plugins/dotnet-msbuild/skills/msbuild-server/SKILL.md
plugins/dotnet-msbuild/skills/resolve-project-references/SKILL.md
plugins/dotnet-test/skills/code-testing-extensions/SKILL.md
plugins/dotnet-test/skills/crap-score/SKILL.md
plugins/dotnet-test/skills/filter-syntax/SKILL.md
plugins/dotnet-test/skills/find-untested-sources/SKILL.md
plugins/dotnet-upgrade/skills/dotnet-aot-compat/SKILL.md
.agents/skills/authoring-github-workflows/SKILL.md
plugins/dotnet-advanced/skills/dotnet-pinvoke/SKILL.md
plugins/dotnet-ai/skills/mcp-csharp-create/SKILL.md
plugins/dotnet-ai/skills/mcp-csharp-debug/SKILL.md
plugins/dotnet-ai/skills/mcp-csharp-test/SKILL.md
plugins/dotnet-ai/skills/technology-selection/SKILL.md
plugins/dotnet-aspnetcore/skills/convert-blazor-server-to-webapp/SKILL.md
plugins/dotnet-blazor/skills/author-component/SKILL.md
plugins/dotnet-blazor/skills/collect-user-input/SKILL.md
plugins/dotnet-blazor/skills/configure-auth/SKILL.md
plugins/dotnet-blazor/skills/coordinate-components/SKILL.md
plugins/dotnet-blazor/skills/plan-ui-change/SKILL.md
plugins/dotnet-blazor/skills/use-igniteui-blazor/SKILL.md
plugins/dotnet-data/skills/create-datadriven-aspnetcore/SKILL.md
plugins/dotnet-diag/skills/android-tombstone-symbolication/SKILL.md
plugins/dotnet-diag/skills/apple-crash-symbolication/SKILL.md
plugins/dotnet-diag/skills/microbenchmarking/SKILL.md
plugins/dotnet-experimental/skills/exp-test-maintainability/SKILL.md

Metadata

Files
0
Version
a55fbf4
Hash
ec6f69ed
Indexed
2026-07-06 00:33

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-04 23:53
浙ICP备14020137号-1