test-detect
9
总安装量
8
周安装量
#31350
全站排名
安装命令
npx skills add https://github.com/davila7/claude-code-templates --skill test-detect
Agent 安装分布
codex
8
opencode
7
antigravity
7
claude-code
7
github-copilot
7
kimi-cli
7
Skill 文档
Test Detect
Automatically detect the testing framework in the current project and run the right tests.
Workflow
Step 1: Detect the testing framework
Check for these files in order (first match wins):
| Check | Framework | Run Command |
|---|---|---|
vitest.config.* exists OR vitest in devDeps |
Vitest | npx vitest run |
jest.config.* exists OR jest in devDeps |
Jest | npx jest |
playwright.config.* exists |
Playwright | npx playwright test |
cypress.config.* exists |
Cypress | npx cypress run |
pytest.ini or conftest.py or pyproject.toml with [tool.pytest] |
pytest | python -m pytest |
go.mod exists |
Go test | go test ./... |
Cargo.toml exists |
Rust/cargo | cargo test |
mix.exs exists |
ExUnit | mix test |
Gemfile with rspec |
RSpec | bundle exec rspec |
package.json has scripts.test |
npm test | npm test |
Report the detected framework before proceeding.
Step 2: Parse arguments
Check $ARGUMENTS for the mode:
- No arguments or “all”: Run the full test suite (Step 3)
- File path (e.g.,
src/auth/login.ts): Run tests for that file (Step 4) - “generate” + file path (e.g.,
generate src/utils.ts): Generate tests (Step 5)
Step 3: Run full test suite
Run the detected test command. After completion:
- Report total tests, passed, failed, skipped
- If tests fail, show the first 3 failure messages with file:line references
- Suggest: “Run
/test-detect <failing-file>to investigate a specific failure”
Step 4: Run tests for a specific file
Given a source file path, find its test file:
Search strategy (try in order):
__tests__/<filename>.test.<ext>(Jest convention)<filename>.test.<ext>(co-located)<filename>.spec.<ext>(alternative convention)test/<filename>_test.<ext>(Go/Python convention)tests/test_<filename>.<ext>(pytest convention)<filename>_test.go(Go convention)
Use Glob to find matches. If found, run only that test file:
| Framework | Command |
|---|---|
| Vitest | npx vitest run <test-file> |
| Jest | npx jest <test-file> |
| Playwright | npx playwright test <test-file> |
| pytest | python -m pytest <test-file> |
| Go | go test -run <TestName> ./<package>/ |
| Cargo | cargo test <test_name> |
If no test file found, ask: “No tests found for this file. Want me to generate them? Run /test-detect generate <file>“
Step 5: Generate tests
Read the source file and analyze:
- Identify all exported functions/classes/components
- Determine the appropriate test patterns for the framework
- Generate a test file with:
- Import statements
describeblock per function/classit/testblocks covering: happy path, edge cases, error cases- Framework-appropriate assertions and mocking
Save to the conventional location for the detected framework:
- Jest/Vitest:
__tests__/<filename>.test.<ext>or<filename>.test.<ext>(match existing convention) - pytest:
tests/test_<filename>.py - Go:
<filename>_test.go(same directory) - RSpec:
spec/<filename>_spec.rb
Show the generated file path and ask if the user wants to run the new tests.
Tips
- If multiple frameworks are detected (e.g., Vitest for unit tests + Playwright for e2e), mention both and default to the unit test framework
- For monorepos, detect from the closest config file to the current directory
- If
package.jsonhas bothtestandtest:unit/test:e2escripts, prefer the specific one when context is clear