К основному содержанию
скилл CX Codex

test-analysis-extensions — скилл для Claude Code: справочник

Справочный каталог файлов с таблицами для анализа тестов: маркеры, ассерты, пропуски, паттерны ожиданий. Агент читает нужный файл под язык проекта.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add dotnet/skills --skill test-analysis-extensions -a claude-code
Открыть на GitHub

Что делает test-analysis-extensions

Скилл не запускают вручную. Он лежит рядом с анализирующими скиллами (assertion-quality, test-anti-patterns, test-gap-analysis, test-smell-detection, test-tagging) и служит оглавлением: агент определяет язык и фреймворк проекта, открывает подходящий файл из extensions/ и берёт оттуда таблицы поиска.

Внутри одиннадцать файлов: dotnet.md для MSTest, xUnit, NUnit и TUnit, python.md для pytest и unittest, typescript.md для Jest, Vitest, Mocha, Jasmine и node:test, java.md для JUnit 4, JUnit 5 и TestNG, плюс Go, Ruby, Rust, Swift, Kotlin, PowerShell и C++. В каждом разобраны одни и те же категории: как искать тесты, как выглядят ассерты, где искать sleep и delay, как помечены пропущенные тесты, хуки setup и teardown, признаки mystery guest, маркеры интеграционных тестов.

Для скилла test-tagging каждый файл объявляет режим работы с тегами: auto-edit, если в языке есть канонический атрибут, который можно проставить, report-only, если такого синтаксиса нет и остаётся только отчёт, или convention-based, когда теги живут в именах и комментариях. Пути к файлам считаются относительно самого каталога, а не рабочей папки проекта. Если в проекте смешаны Jest и Mocha, читать придётся оба файла. Когда язык определён неточно, лучше открыть несколько расширений, чем гадать.

Какие задачи решает

  • найти таблицу ассертов для конкретного тест-фреймворка
  • отличить интеграционный тест от юнит-теста по маркерам
  • распознать пропущенные и отложенные тесты в чужом коде
  • увидеть sleep и delay в асинхронных тестах
  • понять, можно ли проставить теги автоматически или только отчётом

Примеры запросов агенту

  • проанализируй тесты в этом проекте на анти-паттерны
  • проверь качество ассертов в тестах на pytest
  • проставь теги тестам, если фреймворк это поддерживает

Как установить test-analysis-extensions

1Через Skills CLI (Vercel)

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

2Вручную: положить файлы

~/.claude/skills/test-analysis-extensions/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/test-analysis-extensions/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора101

coordinate-components Скилл учит агента связывать состояние компонентов Blazor без цепочек параметров от предка к потомку. Помогает настроить каскадные значения и сервисы со scope. CX Codex +1 3 000установок create-blazor-project Скилл проводит агента через выбор режима рендеринга Blazor и запускает dotnet new blazor с нужными флагами. CX Codex +1 3 000установок property-patterns Разбирает условия, дефолты и перезаписи в свойствах MSBuild по шаблонам из репозитория MSBuild. Пригодится, когда сборка берёт не то значение или падает на чужой ОС. CX Codex +1 3 000установок author-component Помогает проектировать и проверять компоненты Blazor без вызовов JavaScript. Пригодится при настройке параметров, слотов RenderFragment и асинхронного жизненного цикла. CX Codex +1 3 100установок find-untested-sources Находит файлы исходного кода без тестов через статический анализ AST без сборки проекта. Пригодится агенту перед генерацией тестов, чтобы составить точный список пробелов. CX Codex +1 3 100установок fetch-and-send-data Помогает загружать и отправлять данные через API в Blazor-компонентах. Нужен для настройки HttpClient, состояний загрузки и обработки ошибок. CX Codex +1 3 100установок setup-local-sdk Ставит .NET SDK в папку .dotnet/ внутри проекта и подключает его через global.json, не трогая системную установку. CX Codex +1 2 900установок support-prerendering Настраивает интерактивные компоненты Blazor для работы с пререндерингом. Помогает устранить повторную загрузку данных, мерцание интерфейса и ошибки null при переходе в интерактивный режим. CX Codex +1 3 000установок

Похожие

parallel-test-fixing spencerpauly Скилл распределяет упавшие файлы тестов между параллельными субагентами, чтобы исправлять ошибки независимо. Он нужен при поломке сразу нескольких тестовых файлов. CX Codex +1 412установок test-guard amElnagdy Проверяет сгенерированные тесты на избыточность, лишние моки и совпадение с логикой проекта перед коммитом. Пригодится, когда ИИ пишет тесты для pytest, Jest, Vitest, Go или PHPUnit. CX Codex +1 4 100установок tdd-guide Alireza Rezvani Автоматизирует цикл «красный-зелёный-рефакторинг», генерирует тесты и разбирает пробелы в покрытии. Пригодится при разработке по TDD на Jest, Pytest, JUnit или Vitest. 1 017установок ai-test-generation kindlmann Пошаговый пайплайн для генерации тестов из спецификаций, диффов или OpenAPI. Помогает избежать выдуманных API и пустых проверок. CX Codex +1 1 200установок unit-testing kindlmann Скилл для написания юнит-тестов: подсказывает, какие тест-двойники брать, как настроить порог покрытия и как проверить тесты мутационным тестированием. CX Codex +1 1 100установок unit-testing-framework aj-geddes Скилл задаёт агенту правила написания юнит-тестов: структура Arrange-Act-Assert, моки, граничные случаи. Пригодится, когда нужно покрыть тестами новую функцию или класс. CX Codex +1 593установок

Рядом в теме «Тесты и QA»

Всё по теме «Тесты и QA» →

Вопросы о test-analysis-extensions

Как установить test-analysis-extensions в Claude?

Выполните npx skills add dotnet/skills --skill test-analysis-extensions -a claude-code. После этого файл скилла окажется по пути ~/.claude/skills/test-analysis-extensions/SKILL.md.

Что делает test-analysis-extensions?

Это каталог справочных файлов по языкам и тест-фреймворкам. Анализирующие скиллы читают из него таблицы поиска: маркеры тестов, ассерты, пропуски, sleep-паттерны, хуки setup и teardown.

Можно ли вызвать этот скилл вручную?

Нет. У него стоит disable-model-invocation: true, и он помечен как reference-only. Файлы из extensions/ читают quality agent и скиллы анализа, которым нужны таблицы под конкретный фреймворк.

Исходный текст

SKILL.md · MIT
---
name: test-analysis-extensions
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). Read this catalog 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 invoke this reference-only skill —
  its bundled files are read by the quality agent and analysis skills needing
  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
license: MIT
---

# Test Analysis Extensions

This reference-only catalog lists the bundled files used by test analysis.
Consumers read the matching file directly; `disable-model-invocation: true`
means this catalog must not be invoked through the model's skill tool.
Resolve these resource paths relative to this catalog, not the project workspace.

## Available Extension Files

| File | Languages / Frameworks | Contents |
|------|------------------------|----------|
| [extensions/dotnet.md](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](extensions/python.md) | Python — pytest, unittest | Same categories, with pytest fixtures/markers and unittest TestCase |
| [extensions/typescript.md](extensions/typescript.md) | TypeScript / JavaScript — Jest, Vitest, Mocha, Jasmine, node:test | Same categories, with async/await pitfalls |
| [extensions/java.md](extensions/java.md) | Java — JUnit 4, JUnit 5 (Jupiter), TestNG | Same categories, with `@Tag` / `@Category` / groups |
| [extensions/go.md](extensions/go.md) | Go — `testing` package, testify | Same categories, with table-driven idiom and build tags |
| [extensions/ruby.md](extensions/ruby.md) | Ruby — RSpec, Minitest | Same categories, with RSpec metadata and Minitest tags |
| [extensions/rust.md](extensions/rust.md) | Rust — built-in `#[test]`, `cargo test` | Same categories, with `#[ignore]`, `#[should_panic]`, feature flags |
| [extensions/swift.md](extensions/swift.md) | Swift — XCTest, Swift Testing | Same categories, with `@Test`, `@Tag`, `@Suite` |
| [extensions/kotlin.md](extensions/kotlin.md) | Kotlin — JUnit 5, Kotest, MockK | Same categories, with `@Tag` and Kotest tags |
| [extensions/powershell.md](extensions/powershell.md) | PowerShell — Pester v5 | Same categories, with `-Tag` and `Skip` |
| [extensions/cpp.md](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.

© dotnet · MIT · dotnet/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой