From claude-connoisseur
Detects test framework, runs tests on files/full suite, fixes failures, re-runs until all pass. Supports Jest/Vitest/pytest/go test/cargo test across JS/Python/Go/Rust/Java/Ruby/Elixir/PHP.
npx claudepluginhub eugeniosegala/claude-connoisseur --plugin claude-connoisseurThis skill uses the workspace's default tool permissions.
Run the project's test suite (or specific test files), diagnose failures, fix them, and re-run until all tests pass.
Runs tests across JavaScript/TypeScript (Jest/Vitest/Mocha/Playwright), Python (pytest/unittest), Go, Rust, Java; analyzes failures with root causes/fixes, reports coverage, supports TDD.
Runs test suites for RSpec, Minitest, Jest/Vitest, pytest, and Go tests, returning structured pass/fail results with failure details. Supports scoped runs by directory, file, or test name pattern.
Automatically detects and runs tests for Python (pytest/unittest), Node.js (jest/vitest/mocha), Rust (cargo test), and Go (go test) projects. Supports patterns, coverage, and watch mode.
Share bugs, ideas, or general feedback.
Run the project's test suite (or specific test files), diagnose failures, fix them, and re-run until all tests pass.
Files and instructions: $ARGUMENTS
Before running anything, determine the test framework and runner by inspecting the project:
jest, vitest, mocha, ava, tap, playwright, cypress — check package.json scripts, config files (jest.config.*, vitest.config.*, .mocharc.*), and dev dependenciespytest, unittest, nose2, tox — check pyproject.toml, setup.cfg, tox.ini, Makefile, or pytest.inigo test — check for *_test.go filescargo test — check for Cargo.tomlmvn test, gradle test — check pom.xml or build.gradlerspec, minitest — check Gemfile, .rspec, Rakefilebats — check for *.bats filesmix test — check mix.exsphpunit — check phpunit.xml, composer.jsonIf multiple frameworks exist, run the one most relevant to the specified files — or all of them if no files are specified.
The arguments are free-form and flexible. They may contain:
@service.test.ts, tests/unit/, test_*.py, *_test.goWhen no arguments are provided, run the full test suite.
/test-runner — detect the framework and run the full suite/test-runner @service.test.ts — run a specific test file/test-runner tests/unit/ — run all tests in a directory/test-runner only the tests related to authentication — find and run auth tests/test-runner fix the source code, not the tests — fix implementation bugs instead of updating test expectationspackage.json, pyproject.toml, Cargo.toml, go.mod, pom.xml, Gemfile, or equivalent to identify the test runner and its configuration. Check for custom test scripts (e.g. npm test, make test)git diff --name-only to find recently modified test files## Test Results: PASS
Ran **42 tests** in 3.2s — all passed.
## Test Results: PASS (after fixes)
Ran **42 tests** in 4.1s — all passed after fixing 3 failures.
### Fixes applied
1. **`src/services/user.ts:52`** — added uniqueness check before insert (was missing, causing `UserService.create › should reject duplicate emails` to fail)
2. **`src/handlers/__tests__/auth.test.ts:102`** — updated expected status from `429` to `200` (rate limiter was removed in v2.3)
3. **`src/repos/order.ts:34`** — passed `limit` parameter to the query builder (was being ignored)
## Test Results: FAIL (after 3 fix rounds)
Ran **42 tests** in 6.2s — **1 still failing**, 2 fixed, 39 passed.
### Remaining failures
1. **`IntegrationTest.externalAPI › should retry on timeout`**
`tests/integration/api.test.ts:89`
Requires a running mock server on port 8080 — cannot fix automatically.
### Fixes applied
1. **`src/services/user.ts:52`** — added uniqueness check before insert
2. **`src/handlers/__tests__/auth.test.ts:102`** — updated expected status code
## Test Results: UNKNOWN
Could not detect a test framework. Looked for: package.json, pyproject.toml, Cargo.toml, go.mod, pom.xml, Gemfile.
Please specify how to run tests (e.g. `/test-runner npm test` or `/test-runner pytest tests/`).