Files
english/.opencode/skills/test/SKILL.md
2026-04-12 01:06:31 +07:00

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]
author version
claudekit 1.0.0

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

  1. Identify testing scope from recent changes or requirements
  2. Run typecheck/analyze commands to catch syntax errors first
  3. Execute appropriate test suites
  4. Analyze results — focus on failures
  5. Generate coverage reports if applicable
  6. For frontend: run UI tests via ck:chrome-devtools skill
  7. 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-devtools skill for UI testing (screenshots, ARIA, console, network)
  • Analysis: ck:ai-multimodal skill for screenshot analysis
  • Debugging: ck:debug skill when tests reveal bugs requiring investigation
  • Thinking: ck:sequential-thinking skill 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:

  1. On start: check TaskList, claim assigned/next unblocked task via TaskUpdate
  2. Read full task description via TaskGet before starting
  3. Wait for blocked tasks (implementation) to complete before testing
  4. Respect file ownership — only create/edit test files assigned
  5. When done: TaskUpdate(status: "completed") then SendMessage results 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.