بنقرة واحدة
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