4.5 KiB
name, description, argument-hint, metadata
| name | description | argument-hint | metadata | ||||
|---|---|---|---|---|---|---|---|
| ck:test | Run unit, integration, e2e, and UI tests. Use for test execution, coverage analysis, build verification, visual regression, and QA reports. | [context] OR ui [url] |
|
Testing & Quality Assurance
Comprehensive testing framework covering code-level testing (unit, integration, e2e), UI/visual testing via browser automation, coverage analysis, and structured QA reporting.
Default (No Arguments)
If invoked with context (test scope), proceed with testing. If invoked WITHOUT arguments, use AskUserQuestion to present available test operations:
| Operation | Description |
|---|---|
(default) |
Run unit/integration/e2e tests |
ui |
Run UI tests on a website |
Present as options via AskUserQuestion with header "Test Operation", question "What would you like to do?".
Core Principle
NEVER IGNORE FAILING TESTS. Fix root causes, not symptoms. No mocks/cheats/tricks to pass builds.
When to Use
- After implementation: Validate new features or bug fixes
- Coverage checks: Ensure coverage meets project thresholds (80%+)
- UI verification: Visual regression, responsive layout, accessibility
- Build validation: Verify build process, dependencies, CI/CD compatibility
- Pre-commit/push: Final quality gate
Workflows
1. Code Testing (references/test-execution-workflow.md)
Execute test suites, analyze results, generate coverage. Supports JS/TS (Jest/Vitest/Mocha), Python (pytest), Go, Rust, Flutter. Includes working process, quality standards, and tool commands.
Load when: Running unit/integration/e2e tests, checking coverage, validating builds
2. UI Testing (references/ui-testing-workflow.md)
Browser-based visual testing via ck:chrome-devtools skill. Screenshots, responsive checks, accessibility audits, form automation, console error collection. Includes auth injection for protected routes.
Load when: Visual regression testing, UI bugs, responsive layout checks, accessibility audits
3. Report Format (references/report-format.md)
Structured QA report template: test results overview, coverage metrics, failed tests, performance, build status, recommendations.
Load when: Generating test summary reports
Quick Reference
Code tests → test-execution-workflow.md
npm test / pytest / go test / cargo test / flutter test
Coverage: npm run test:coverage / pytest --cov
UI tests → ui-testing-workflow.md
Screenshots, responsive, a11y, forms, console errors
Auth: inject-auth.js for protected routes
Reports → report-format.md
Structured QA summary with metrics & recommendations
Working Process
- Identify testing scope from recent changes or requirements
- Run typecheck/analyze commands to catch syntax errors first
- Execute appropriate test suites
- Analyze results — focus on failures
- Generate coverage reports if applicable
- For frontend: run UI tests via
ck:chrome-devtoolsskill - Produce structured summary report
Tools Integration
- Test runners: Jest, Vitest, Mocha, pytest, go test, cargo test, flutter test
- Coverage: Istanbul/c8/nyc, pytest-cov, go cover
- Browser:
ck:chrome-devtoolsskill for UI testing (screenshots, ARIA, console, network) - Analysis:
ck:ai-multimodalskill for screenshot analysis - Debugging:
ck:debugskill when tests reveal bugs requiring investigation - Thinking:
ck:sequential-thinkingskill for complex test failure analysis
Quality Standards
- All critical paths must have test coverage
- Validate happy path AND error scenarios
- Ensure test isolation — no interdependencies
- Tests must be deterministic and reproducible
- Clean up test data after execution
- Never ignore failing tests to pass the build
Report Output
IMPORTANT: Invoke "/ck:project-organization" skill to organize the outputs.
Use naming pattern from ## Naming section injected by hooks.
Team Mode
When operating as teammate:
- On start: check
TaskList, claim assigned/next unblocked task viaTaskUpdate - Read full task description via
TaskGetbefore starting - Wait for blocked tasks (implementation) to complete before testing
- Respect file ownership — only create/edit test files assigned
- When done:
TaskUpdate(status: "completed")thenSendMessageresults to lead
Fallback: Task tools (TaskList/TaskUpdate/TaskGet) are CLI-only — unavailable in VSCode extension. If they error, use TodoWrite for progress tracking and coordinate via SendMessage only.