test-tagging

Analyzes test suites and applies standardized trait tags across multiple languages and frameworks.

Updated Jul 12, 2026
One-click install
npx skills add https://github.com/Patrick-Rex/DotNetTechSamples --skill test-tagging-patrick-rex
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: test-tagging
Source: https://github.com/Patrick-Rex/DotNetTechSamples/tree/main/.agents/plugins/dotnet-test/skills/test-tagging
Command: npx skills add https://github.com/Patrick-Rex/DotNetTechSamples --skill test-tagging-patrick-rex

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Test suites often lack consistent categorization, making it impossible to know the balance of positive versus negative tests, whether critical paths are covered, or which tests are slow integration tests. This Skill audits an existing test suite and applies a standardized trait taxonomy (positive, negative, boundary, critical-path, smoke, regression, integration, performance, security, and more) to every test method. ## Core Features & Use Cases - Cross-language trait tagging: Works with .NET (MSTest/xUnit/NUnit/TUnit), Python (pytest), Java (JUnit 5/TestNG), JavaScript/TypeScript, Go, Ruby, Rust, Swift, Kotlin, PowerShell, and C++, using each framework's canonical tag syntax. - Capability-aware editing: Auto-edits source files when the framework has canonical tag attributes, emits a report-only Markdown table for frameworks without one, and respects project conventions for convention-based frameworks like Go build tags. - Trait distribution summary: Produces a summary table showing the count and percentage of each trait, with observations about positive-to-negative ratios and critical-path coverage gaps. - Use Case: Point the Skill at a large xUnit test project to audit coverage; it classifies each test by reading names, assertions, and setup, adds [Trait("Category", "...")] attributes without duplicating existing tags, and reports that only 12% of tests cover negative paths. ## Quick Start Analyze the test project in the tests folder and tag every test method with the appropriate trait categories, then show me the trait distribution summary.

Frequently Asked Questions about test-tagging

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

FAQPage Schema
How do I categorize tests with traits in xUnit or MSTest?

Run the tagging workflow against your test project; it classifies each test using name, assertion, and setup heuristics, then inserts [Trait("Category", "...")] for xUnit or [TestCategory("...")] for MSTest. Existing attributes are preserved and never duplicated.

What test frameworks support automatic tag editing?

Auto-edit is supported for MSTest, xUnit, NUnit, TUnit, pytest, JUnit 5, TestNG, RSpec, Pester, Kotest, Swift Testing, Catch2, and doctest, which all have canonical tag syntax. Go, plain Jest/Vitest, Rust, XCTest, and GoogleTest default to report-only output.

Can I tag tests in Go or Jest without modifying source files?

Yes. Frameworks without canonical tag syntax are treated as report-only: the Skill emits a Markdown table mapping each test to suggested tags and recommends a project convention such as Go build tags or file-name suffixes. Source files are only edited after you confirm a convention.

How are tests classified as positive or negative?

Classification reads the test body: assertions of success or valid output indicate positive, while exception assertions like Assert.ThrowsException, pytest.raises, or expect(fn).toThrow indicate negative. Boundary inputs like null, zero, or MaxValue add the boundary trait alongside.

When should I not use test trait tagging?

Do not use it for writing new tests, running or filtering tests, or migrating between test frameworks. It only audits and labels existing tests; use dedicated test-writing or test-running tools for those tasks.