configure-plugin/skills/configure-tests/SKILL.md
Test frameworks: Vitest, Jest, pytest, cargo-nextest. Use when setting up test infrastructure, migrating to a modern framework, or validating coverage config.
npx skillsauth add laurigates/claude-plugins configure-testsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Check and configure testing frameworks against best practices (Vitest, Jest, pytest, cargo-nextest).
| Use this skill when... | Use another approach when... |
|------------------------|------------------------------|
| Setting up testing infrastructure | Just running tests (use /test:run skill) |
| Checking test framework configuration | Tests already properly configured |
| Migrating to modern test frameworks (Vitest, pytest, nextest) | Writing individual tests (write tests directly) |
| Validating coverage configuration | Debugging failing tests (check test output) |
| Ensuring test best practices | Simple project with no testing needed |
find . -maxdepth 1 -name \'package.json\'find . -maxdepth 1 -name \'pyproject.toml\'find . -maxdepth 1 -name \'Cargo.toml\'find . -maxdepth 1 \( -name 'vitest.config.*' -o -name 'jest.config.*' -o -name 'pytest.ini' -o -name '.nextest.toml' \)grep -c 'tool.pytest' pyproject.tomlfind . -maxdepth 2 -type d \( -name 'tests' -o -name '__tests__' -o -name 'test' \)grep -m5 -o '"test[^"]*"' package.jsongrep -l 'coverage' vitest.config.* jest.config.*find . -maxdepth 1 -name '.project-standards.yaml' -type fModern testing stack preferences:
Parse these from $ARGUMENTS:
| Flag | Description |
|------|-------------|
| --check-only | Report status without offering fixes |
| --fix | Apply all fixes automatically without prompting |
| --framework <framework> | Override framework detection (vitest, jest, pytest, nextest) |
CRITICAL: Before flagging outdated versions, verify latest releases:
Use WebSearch or WebFetch to verify current versions before reporting outdated frameworks.
Execute this testing framework compliance check:
Identify the project language and existing test framework:
| Indicator | Language | Detected Framework |
|-----------|----------|-------------------|
| vitest.config.* | JavaScript/TypeScript | Vitest |
| jest.config.* | JavaScript/TypeScript | Jest |
| pyproject.toml [tool.pytest] | Python | pytest |
| pytest.ini | Python | pytest |
| Cargo.toml | Rust | cargo test |
| .nextest.toml | Rust | cargo-nextest |
If --framework flag is provided, use that value instead.
Read the detected framework's configuration and check completeness. For each framework, verify:
Vitest:
vitest.config.ts or .js)globals: true configured for compatibilityenvironment set appropriately (jsdom, happy-dom, node)@vitest/coverage-v8 or @vitest/coverage-istanbulJest:
jest.config.js or .ts)testEnvironment configuredpytest:
pyproject.toml has [tool.pytest.ini_options] sectiontestpaths configuredaddopts includes useful flags (-v, --strict-markers)markers defined for test categorizationpytest-cov installedcargo-nextest:
.nextest.toml existsPrint a compliance report with:
If --check-only, stop here.
Install dependencies and create configuration using templates from REFERENCE.md:
Create standard test directory structure for the detected language. See directory structure patterns in REFERENCE.md.
Check for test commands in GitHub Actions workflows. If missing, add CI test commands using the CI templates from REFERENCE.md.
If migrating between frameworks (e.g., Jest to Vitest, unittest to pytest), follow the migration guide in REFERENCE.md.
Update .project-standards.yaml:
standards_version: "2025.1"
last_configured: "<timestamp>"
components:
tests: "2025.1"
tests_framework: "<vitest|jest|pytest|nextest>"
tests_coverage_threshold: 80
tests_ci_integrated: true
For detailed configuration templates, migration guides, CI/CD integration examples, and directory structure patterns, see REFERENCE.md.
| Context | Command |
|---------|---------|
| Detect test framework | find . -maxdepth 1 \( -name 'vitest.config.*' -o -name 'jest.config.*' -o -name 'pytest.ini' \) 2>/dev/null |
| Check coverage config | grep -l 'coverage' package.json pyproject.toml 2>/dev/null |
| List test files | find . \( -path '*/tests/*' -o -path '*/test/*' -o -name '*.test.*' -o -name '*.spec.*' \) 2>/dev/null \| head -n 10 |
| Quick compliance check | /configure:tests --check-only |
| Auto-fix configuration | /configure:tests --fix |
/configure:coverage - Configure coverage thresholds and reporting/configure:all - Run all compliance checks/test:run - Universal test runner/test:setup - Comprehensive testing infrastructure setuptesting
Verify accumulated bug claims at upstream HEAD and dedup against trackers before filing issues. Use when filing upstream reports from backlogs, audit docs, or git-history findings.
documentation
Gate outward-bound text (upstream issues, docs, PR bodies) through isolated haiku fresh-reader critique before publishing. Use when an artifact must survive a reader with zero project context.
tools
Suggest improvements to SKILL.md content, descriptions, or tool config from eval results. Use when raising pass rates, fixing triggering, or iterating on a skill after evaluation.
tools
deadbranch CLI for stale-branch cleanup — dry-run preview, TUI or non-interactive delete, protects main/develop/WIP. Use when asked to clean up branches, prune branches, or remove stale branches.