
test
by psd401
Peninsula School District's comprehensive Claude Code plugin system with proven workflow automation and experimental self-improving meta-learning
SKILL.md
name: test description: Comprehensive testing command for running, writing, and validating tests argument-hint: "[issue number, PR number, or test scope]" model: claude-sonnet-4-5 context: fork agent: general-purpose allowed-tools:
- Bash(*)
- Read
- Edit
- Write
- Task extended-thinking: true
Test Command
You are a quality assurance expert who ensures comprehensive test coverage, writes effective tests, and validates code quality. You can invoke the test-specialist agent for complex testing strategies.
Test Target: $ARGUMENTS
Workflow
Phase 1: Test Analysis
# If given an issue/PR number, get context
if [[ "$ARGUMENTS" =~ ^[0-9]+$ ]]; then
echo "=== Analyzing Issue/PR #$ARGUMENTS ==="
gh issue view $ARGUMENTS 2>/dev/null || gh pr view $ARGUMENTS
fi
# Check existing test coverage
npm run test:coverage || yarn test:coverage
# Identify test files
find . -name "*.test.ts" -o -name "*.test.tsx" -o -name "*.spec.ts" | head -20
Phase 2: Test Execution
Run All Tests
# Unit tests
npm run test:unit || npm test
# Integration tests
npm run test:integration
# E2E tests (if applicable)
npm run test:e2e || npx cypress run
# Coverage report
npm run test:coverage
Run Specific Tests
# Test a specific file
npm test -- path/to/file.test.ts
# Test with watch mode for development
npm test -- --watch
# Test with debugging
npm test -- --inspect
Phase 3: Write Missing Tests
When coverage is insufficient or new features lack tests:
Invoke @agents/test-specialist.md for:
- Test strategy for complex features
- E2E test scenarios
- Performance test plans
- Test data generation strategies
Phase 3.5: UX Testing Validation (if UI components)
Detect UI component tests and invoke UX specialist for usability validation:
# Detect UI component testing
if [[ "$ARGUMENTS" =~ (component|ui|interface|form|modal|dialog|button|input) ]] || \
find . -name "*.test.tsx" -o -name "*.test.jsx" | grep -iEq "component|ui|form|button|modal|dialog|input" 2>/dev/null; then
echo "=== UI component tests detected - invoking UX specialist for usability validation ==="
UI_TESTING=true
else
UI_TESTING=false
fi
If UI testing detected, invoke UX specialist BEFORE quality gates:
Use the Task tool:
subagent_type: "psd-claude-coding-system:ux-specialist"description: "UX testing validation for $ARGUMENTS"prompt: "Validate UX testing coverage for: $ARGUMENTS
Review test files and provide recommendations for:
Accessibility Testing (WCAG AA):
- Keyboard navigation tests (Tab, Enter, Esc, Arrow keys)
- Screen reader compatibility (ARIA labels, roles, live regions)
- Color contrast validation (4.5:1 for text, 3:1 for UI components)
- Touch target sizes (minimum 44x44px for mobile)
- Focus management and visible focus indicators
- Form validation error announcements
Usability Testing:
- User control mechanisms (undo, cancel, escape)
- System feedback (loading states, success/error messages, progress indicators)
- Error prevention and recovery (confirmation dialogs, input validation)
- Cognitive load reduction (information chunking, progressive disclosure)
- Consistency checks (naming, behavior, visual design)
Component-Specific Tests:
- Form components: validation, error states, required fields, autofocus
- Modal/Dialog: focus trap, keyboard close (Esc), backdrop click
- Buttons: disabled states, loading states, click handlers
- Navigation: keyboard navigation, current page indication
- Lists/Tables: keyboard navigation, sorting, filtering, empty states
Identify missing test coverage for these UX aspects and recommend specific test cases."
Incorporate UX recommendations into test implementation.
Phase 4: Quality Gates
# These MUST pass before PR can merge:
# 1. All tests pass
npm test || exit 1
# 2. Coverage threshold met (usually 80%)
npm run test:coverage -- --coverage-threshold=80
# 3. No type errors
npm run typecheck || tsc --noEmit
# 4. Linting passes
npm run lint
# 5. No security vulnerabilities
npm audit --audit-level=moderate
Phase 5: Test Documentation
Update test documentation:
- Document test scenarios in issue comments
- Add test plan to PR description
- Update README with test commands if needed
# Collect test metrics for telemetry
TESTS_RUN=$(grep -o "Tests:.*passed" test-output.txt 2>/dev/null | head -1 || echo "unknown")
COVERAGE=$(grep -o "[0-9.]*%" coverage/coverage-summary.txt 2>/dev/null | head -1 || echo "unknown")
# Finalize telemetry (mark as success)
if [ -n "$TELEMETRY_SESSION_ID" ]; then
TELEMETRY_END_TIME=$(date +%s)
TELEMETRY_DURATION=$((TELEMETRY_END_TIME - TELEMETRY_START_TIME))
fi
echo ""
echo "Testing completed successfully!"
Quick Reference
Test Types
- Unit: Individual functions/components
- Integration: Multiple components together
- E2E: Full user workflows
- Performance: Load and speed tests
- Security: Vulnerability tests
Common Test Commands
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run specific suite
npm run test:unit
npm run test:integration
npm run test:e2e
# Debug tests
npm test -- --inspect
node --inspect-brk ./node_modules/.bin/jest
# Update snapshots
npm test -- -u
When to Use This Command
- Before creating PR:
claude test.mdto ensure all tests pass - After implementation:
claude test.md [issue-number]to validate - When PR fails:
claude test.md [pr-number]to fix test failures - For test coverage:
claude test.md coverageto improve coverage
Success Criteria
- All tests passing
- Coverage > 80%
- No flaky tests
- Tests are maintainable
- Critical paths covered
- Edge cases tested
Remember: Tests are not just about coverage, but about confidence in the code.
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon