Bookmark Checker
Automated validation and quality checks for Bookmark Vault.
Available Checks
Type Check
Verifies TypeScript compilation without errors and checks type safety.
- •Runs:
./scripts/check-types.sh - •Checks:
npx tsc --noEmit - •Reports: TypeScript errors, type mismatches
Component Check
Validates component sizes, structure, and pattern compliance.
- •Runs:
./scripts/check-components.sh - •Checks: Component line counts, prop interfaces, naming conventions
- •Reports: Oversized components, pattern violations
Test Check
Runs test suite and reports coverage metrics.
- •Runs:
./scripts/check-tests.sh - •Checks: Jest tests, coverage thresholds
- •Reports: Test results, coverage gaps
Validation Check
Validates Zod schemas and type coverage.
- •Runs:
./scripts/check-validation.sh - •Checks: Schema definitions, validation coverage
- •Reports: Missing schemas, type gaps
Execution Flow
When asked to check the project:
- •
Run checks in order
- •Type Check (catches TypeScript errors)
- •Component Check (validates structure)
- •Validation Check (schema coverage)
- •Test Check (runs tests)
- •
Collect output from each
- •Each script produces structured output
- •Exit codes indicate pass/fail
- •Details included in stdout
- •
Report pass/fail status
- •Summary of which checks passed ✅
- •List of failed checks ❌
- •Issues grouped by severity
- •
Summarize issues found
- •Critical: Blocking issues
- •Warning: Code quality issues
- •Info: Metrics and stats
Script Outputs
All scripts follow standard conventions:
Exit Codes:
- •
0: All checks passed ✅ - •
1: Issues found (non-blocking warnings) - •
2: Critical issues found (blocker errors)
Output Format:
[CHECK_TYPE] Status message PASS: Specific metric (if success) WARN: Issue detail (if warning) ERROR: Critical issue (if error) INFO: Informational stat
Usage Examples
# Run all checks Ask: "Run all checks on bookmark vault" # Run specific check Ask: "Run type check on the project" # Run and report Ask: "Check the bookmark vault and report any issues" # Run and fix Ask: "Run checks and fix any quick issues"
Check Details
Type Check (check-types.sh)
- •Runs TypeScript compiler in noEmit mode
- •Flags strict mode violations
- •Reports unused variables
- •Checks for implicit
anytypes - •Time: ~5-10 seconds
Component Check (check-components.sh)
- •Analyzes each component file
- •Checks line count (max 100 lines per component)
- •Validates props interface exists
- •Verifies "use client" directive where needed
- •Checks naming conventions
- •Time: ~2-3 seconds
Validation Check (check-validation.sh)
- •Counts type definitions in lib/types.ts
- •Counts Zod schemas in lib/validation.ts
- •Reports schema-type alignment
- •Identifies missing schemas
- •Calculates coverage percentage
- •Time: ~1-2 seconds
Test Check (check-tests.sh)
- •Runs Jest test suite
- •Reports test pass/fail count
- •Shows coverage metrics
- •Flags coverage gaps below threshold
- •Time: ~20-30 seconds
Expected Results
When all checks pass:
✅ Type Check: PASS (0 errors, 0 warnings) ✅ Component Check: PASS (72 components, 0 oversized) ✅ Validation Check: PASS (14 schemas, 87.5% coverage) ✅ Test Check: PASS (48 tests, 82% coverage) Overall Status: ALL CHECKS PASSED 🎉
When issues found:
✅ Type Check: PASS ⚠️ Component Check: WARN (2 components >100 lines) ❌ Validation Check: FAIL (7 types missing schemas) ⚠️ Test Check: WARN (coverage below 80% target) Overall Status: 2 WARNING, 1 FAILURE - Review issues
Integration
IDE Integration
Add to VS Code tasks.json:
{
"label": "Bookmark Checker",
"type": "shell",
"command": "bash",
"args": ["${workspaceFolder}/.claude/skills/bookmark-checker/scripts/check-types.sh"],
"problemMatcher": ["$tsc"]
}
Pre-commit Hook
Add to .git/hooks/pre-commit:
#!/bin/bash bash ./.claude/skills/bookmark-checker/scripts/check-types.sh if [ $? -ne 0 ]; then echo "Type checks failed, aborting commit" exit 1 fi
CI/CD Integration
Add to GitHub Actions workflow:
- name: Bookmark Checks
run: |
bash .claude/skills/bookmark-checker/scripts/check-types.sh
bash .claude/skills/bookmark-checker/scripts/check-components.sh
bash .claude/skills/bookmark-checker/scripts/check-validation.sh
bash .claude/skills/bookmark-checker/scripts/check-tests.sh
Troubleshooting
Scripts not executable:
chmod +x ~/.claude/skills/bookmark-checker/scripts/*.sh
Script path errors:
- •Scripts use
cdto navigate to project root - •Ensure run from project directory or provide absolute paths
Command not found errors:
- •Verify npm dependencies installed:
npm install - •Check TypeScript:
npm list typescript - •Check Jest:
npm list jest
When to Use This Skill
✅ Use when:
- •Verifying code quality before commit
- •Validating TypeScript changes
- •Checking component structure changes
- •Running tests after modifications
- •Validating schema coverage
- •Pre-deployment quality gate
❌ Don't use when:
- •Need detailed IDE support (use VS Code extensions)
- •Debugging specific tests (use Jest CLI directly)
- •Need real-time file watching (use npm run dev)
- •Analyzing performance (use profiling tools)
Script Maintenance
Scripts are version-locked to project at:
- •TypeScript config:
tsconfig.json - •Jest config:
jest.config.js - •Component directory:
components/ - •Test directory:
__tests__/
Update scripts if project structure changes.