Skip to main content

test-focus

One test file, fail-fast — Playwright, Vitest, Jest, pytest, cargo, go test. Use when running a single spec file, headed/debug mode, or serial single-worker WebGL tests.

설치로 이동

소스 정보

저장소
laurigates/claude-plugins
최근 소스 활동
2026년 9월 5일 18:04
감지된 SKILL.md 언어
영어
스타
58
포크
6

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
created
2026-01-19T00:00:00.000Z
modified
2026-09-05T00:00:00.000Z
reviewed
2026-04-25T00:00:00.000Z
allowed-tools
Bash, Read, Grep, Glob, TodoWrite
args
<file-path> [--serial] [--debug]
argument-hint
<file-path> [--serial] [--debug]
description
One test file, fail-fast — Playwright, Vitest, Jest, pytest, cargo, go test. Use when running a single spec file, headed/debug mode, or serial single-worker WebGL tests.
name
test-focus
## When to Use This Skill | Use this skill when... | Use test-run instead when... | |---|---| | Iterating on a single failing spec with fail-fast feedback | Running the full test suite for a project | | Forcing serial execution for WebGL or shared-state tests | Running tests in watch mode across many files (use test-quick) | | Running one test file in headed/debug mode | Triaging a directory of test results (use test-analyze) | | Sub-30s feedback on a known-broken file | Choosing which tier to run (use test-tier-selection) | ## Context - Project files: !`find . -maxdepth 1 \( -name 'pyproject.toml' -o -name 'package.json' -o -name 'Cargo.toml' -o -name 'go.mod' \)` - Playwright config: !`find . -maxdepth 1 -name 'playwright.config.*'` - Vitest config: !`find . -maxdepth 1 \( -name 'vitest.config.*' -o -name 'vite.config.*' \)` - Jest config: !`find . -maxdepth 1 -name 'jest.config.*'` - Pytest config: !`find . -maxdepth 1 \( -name pyproject.toml -o -name setup.cfg \) -exec grep -l 'pytest' {} +` - Package.json exists: !`find . -maxdepth 1 -name 'package.json' -type f` ## Parameters - `$1` (required): Test file path or pattern (e.g., `login.spec.ts`, `tests/e2e/auth.spec.ts`) - `--serial`: Force sequential execution with single worker (useful for WebGL, database tests) - `--debug`: Run in debug/headed mode for visual debugging ## Your task Run a single test file in **fail-fast mode** for rapid development iteration. Stop immediately on first failure to minimize feedback time. ### 1. Detect test framework and construct command **Playwright** (if `playwright.config.*` exists): ```bash # Standard fail-fast bunx playwright test "$FILE" --max-failures=1 --reporter=line # With --serial (WebGL, shared state) bunx playwright test "$FILE" --max-failures=1 --workers=1 --reporter=line # With --debug bunx playwright test "$FILE" --max-failures=1 --headed --debug ``` **Vitest** (if `vitest.config.*` or `vite.config.*` exists): ```bash # Standard fail-fast bunx vitest run "$FILE" --bail=1 --reporter=dot # With --serial bunx vitest run "$FILE" --bail=1 --pool=forks --poolOptions.threads.singleThread --reporter=dot # With --debug bunx vitest run "$FILE" --bail=1 --inspect-brk ``` **Jest** (if `jest.config.*` exists): ```bash # Standard fail-fast bunx jest "$FILE" --bail --silent # With --serial bunx jest "$FILE" --bail --runInBand --silent # With --debug bunx jest "$FILE" --bail --runInBand ``` **pytest** (Python projects): ```bash # Standard fail-fast python -m pytest "$FILE" -x -v --tb=short # With --serial (already serial by default) python -m pytest "$FILE" -x -v --tb=short # With --debug python -m pytest "$FILE" -x -v --tb=long -s ``` **Cargo test** (Rust projects): ```bash # Standard fail-fast cargo test --test "$FILE" -- --test-threads=1 # With --debug cargo test --test "$FILE" -- --test-threads=1 --nocapture ``` **Go test**: ```bash # Standard fail-fast go test -v -failfast "$FILE" # With --debug go test -v -failfast "$FILE" -count=1 ``` ### 2. Execute the test Run the constructed command. Capture and display output. ### 3. Analyze results If the test **passes**: ``` [FILE]: PASSED Duration: Xs Ready for next iteration or file. ``` If the test **fails**: ``` [FILE]: FAILED (stopped at first failure) Duration: Xs First failure: Test: [test name] Error: [brief error message] Location: [file:line] Quick actions: - Fix the issue and re-run: /test:focus [same file] - Debug visually: /test:focus [file] --debug - See full output: /test:run [file] ``` ### 4. Provide rerun command Always show the exact command to rerun: ``` Rerun: /test:focus $FILE ``` ## Time savings context Focused testing dramatically reduces feedback time: | Approach | Typical Duration | Use Case | |----------|------------------|----------| | `/test:focus` | 2-30 seconds | Iterating on single file | | `/test:quick` | 30 seconds | Unit tests after changes | | `/test:full` | 5-30 minutes | Before commit/PR | ## Agentic optimizations | Context | Flags | |---------|-------| | Playwright fast | `--max-failures=1 --reporter=line` | | Playwright WebGL | `--max-failures=1 --workers=1 --reporter=line` | | Vitest fast | `--bail=1 --reporter=dot` | | Jest fast | `--bail --silent` | | pytest fast | `-x -v --tb=short` | ## Error handling - If file not found: List similar test files with `glob` and suggest corrections - If framework not detected: Show available package.json scripts containing "test" - If test times out: Suggest `--serial` flag or increasing timeout
GitHub에서 보기