Claude-skill-registry component-tester
Run Vitest tests for a specific component with coverage. Use when making changes to React components to ensure tests pass and coverage is maintained.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/component-tester" ~/.claude/skills/majiayu000-claude-skill-registry-component-tester && rm -rf "$T"
manifest:
skills/data/component-tester/SKILL.mdsource content
Component Tester Skill
This Skill automatically runs Vitest tests when React components are modified to ensure code quality and test coverage.
When to Activate
- After creating a new React component
- When modifying existing component implementation
- Before creating a pull request with component changes
- When fixing bugs in components
Actions Performed
- Identify Component: Determine which component was created or modified
- Run Tests: Execute
without watch modepnpm test -- <component-path> - Check Coverage: Verify test coverage meets project thresholds
- Report Results: Provide clear feedback on:
- Test pass/fail status
- Coverage percentages (statements, branches, functions, lines)
- Specific failing tests with error messages
- Coverage gaps requiring additional tests
Example Usage
// User modifies: src/app/blog/_components/progress-bar.tsx // Skill automatically runs: // pnpm test -- src/app/blog/_components/progress-bar // Output: // ✓ should render progress bar with correct width // ✓ should update progress on scroll // ✓ should hide when not scrolled // Coverage: 95% statements, 90% branches, 100% functions, 95% lines
Tools Used
- Read: Examine component files and test files
- Grep: Locate related test files
- Bash: Execute
commandspnpm test
Test Naming Convention
All tests should follow the "should" convention:
- ✅ "should render title and children"
- ✅ "should display empty state when data is empty"
- ❌ "renders title and children"
Coverage Thresholds
Flag components with coverage below:
- Statements: 80%
- Branches: 75%
- Functions: 80%
- Lines: 80%
Related Files
- Test location:
directories next to components__tests__/ - Test suffix:
or.test.ts.test.tsx - Configuration:
in project rootvitest.config.ts