Claude Code Plugins

Community-maintained marketplace

Feedback

Test Framework Detector

@FortiumPartners/claude-config
2
0

Automatically detect test frameworks (Jest, pytest, RSpec, xUnit) in projects by analyzing configuration files and dependencies

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name Test Framework Detector
description Automatically detect test frameworks (Jest, pytest, RSpec, xUnit) in projects by analyzing configuration files and dependencies
version 1.0.0

Test Framework Detector

Purpose

Automatically identify which test framework(s) a project uses by examining:

  • Package manifests (package.json, requirements.txt, Gemfile, *.csproj)
  • Test configuration files (jest.config.js, pytest.ini, spec_helper.rb, xunit.runner.json)
  • Directory structure and naming conventions

Usage

This skill is invoked by agents (like deep-debugger) when they need to determine which test framework to use for test generation or execution.

Detection Script

Run the detection script with the project path:

node detect-framework.js /path/to/project

Output Format

The script returns a JSON object with detected frameworks:

{
  "detected": true,
  "frameworks": [
    {
      "name": "jest",
      "confidence": 0.95,
      "version": "29.7.0",
      "configFiles": ["jest.config.js", "package.json"],
      "testDirectory": "tests/",
      "testPattern": "**/*.test.js"
    }
  ],
  "primary": "jest"
}

Detection Patterns

The skill uses pattern-based detection defined in framework-patterns.json. Each framework has:

  • Package indicators: Dependencies that suggest framework presence
  • Config files: Framework-specific configuration files
  • Test file patterns: Common test file naming conventions

Supported Frameworks

  1. Jest (JavaScript/TypeScript)

    • Config: jest.config.js, jest.config.ts, package.json (jest section)
    • Dependencies: jest, @types/jest, ts-jest
    • Patterns: .test.js, .spec.js, tests/
  2. pytest (Python)

    • Config: pytest.ini, pyproject.toml, setup.cfg, tox.ini
    • Dependencies: pytest in requirements.txt or pyproject.toml
    • Patterns: test_*.py, _test.py, tests/*
  3. RSpec (Ruby)

    • Config: .rspec, spec/spec_helper.rb
    • Dependencies: rspec in Gemfile
    • Patterns: _spec.rb, spec/*
  4. xUnit (C#/.NET)

    • Config: xunit.runner.json, *.csproj
    • Dependencies: xunit, xunit.runner.visualstudio in *.csproj
    • Patterns: Tests.cs, Test.cs, Tests/

Confidence Scoring

Confidence scores (0.0-1.0) are calculated based on:

  • Config file presence: +0.4
  • Package dependency found: +0.3
  • Test directory exists: +0.2
  • Test files found: +0.1

Multiple frameworks may be detected (e.g., Jest + pytest in monorepos).

Example Invocations

Detect framework in current directory:

node skills/test-detector/detect-framework.js .

Detect framework with verbose output:

DEBUG=true node skills/test-detector/detect-framework.js /path/to/project

Integration with Agents

Agents should invoke this skill before test generation:

1. Invoke test-detector skill with project path
2. Parse JSON output to get primary framework
3. Invoke appropriate test framework skill (jest-test, pytest-test, etc.)
4. Generate or execute tests using framework-specific patterns

Error Handling

If no framework is detected:

{
  "detected": false,
  "frameworks": [],
  "primary": null,
  "message": "No test framework detected. Please specify framework manually."
}