원클릭으로
testing
Vitest and Playwright testing patterns, conventions, and gotchas for this project.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Vitest and Playwright testing patterns, conventions, and gotchas for this project.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Open the Claude Session Dashboard in the browser. Starts it first if not already running. Checks for and installs updates before starting.
Analyze ~/.claude session files to find unused agent skills and reduce context token waste. Scans subagent JSONL files for injected skills and cross-references with agent responses.
Full SDLC pipeline: design → plan → implement → review → test → ship. Use this skill when the user wants to BUILD A NEW FEATURE that spans multiple files across scanner, server functions, and UI layers — anything requiring architecture design, an implementation plan, and coordinated changes across a vertical slice. Trigger on: /feature command, 'build/implement/add [feature]' requests involving new server functions + UI components, multi-step feature work needing TDD and code review. Do NOT trigger for: bug fixes, refactors, small UI tweaks, single-file changes, CI fixes, test runs, or PR reviews.
Investigate and fix the latest failing CI workflow
Fix a GitHub issue end-to-end
Investigate a URL or page using Playwright browser
| name | testing |
| description | Vitest and Playwright testing patterns, conventions, and gotchas for this project. |
| user-invocable | true |
apps/web/vite.config.ts (no separate vitest.config)npm run test from apps/web/npx vitest run path/to/file.test.tsvi.mock() is hoisted to the top of the file. You CANNOT reference variables declared above it:
// BAD — will be undefined
const mockFn = vi.fn()
vi.mock('./module', () => ({ doThing: mockFn }))
// GOOD — define inline
vi.mock('./module', () => ({ doThing: vi.fn() }))
import { doThing } from './module'
// Now doThing is the mock — use it for assertions
apps/web/playwright.config.tsapps/web/e2e/npm run test:e2e from apps/web/page.getByRole(), page.getByText() over CSS selectors