Proactively suggests tests when code changes are detected. Activates when functions are created, logic is modified, security-sensitive code is added, or bug fixes are implemented. Provides non-intrusive test recommendations to help vibe coders ship with confidence.
This skill inherits all available tools. When active, it can use any tool Claude has access to.
This skill proactively suggests tests for code changes, acting as a safety net for vibe coders who ship fast.
Claude will autonomously use this skill when:
Security-Sensitive Code
New Public APIs
Bug Fixes
Error Handling Changes
Business Logic
Data Operations
Integration Points
Skip suggestions for:
Keep suggestions brief and non-intrusive:
š” This security-sensitive change could use a test.
Run `/vibetap` to generate test suggestions, or `/vibetap-security` for security-focused tests.
š” Consider adding a test for this logic. Run `/vibetap` when ready.
š” Good opportunity for a regression test! Run `/vibetap` to generate one.
// Authentication - ALWAYS suggest
password, hash, salt, bcrypt, argon
authenticate, authorize, login, logout
token, jwt, session, cookie
// Input handling - ALWAYS suggest
sanitize, validate, escape, encode
query, params, body, input
// Sensitive operations - ALWAYS suggest
encrypt, decrypt, sign, verify
sql, query, exec, raw
fs.write, fs.read, path.join
// Business logic - OFTEN suggest
calculate, compute, process, transform
if/else with business conditions
switch statements on user data
// Error handling - OFTEN suggest
try/catch blocks
.catch() handlers
throw new Error
Suggest tests matching the project's framework:
| If found | Suggest using |
|---|---|
| vitest.config | vitest |
| jest.config | jest |
| pytest.ini | pytest |
| Cargo.toml | cargo test |
| go.mod | go test |
| .rspec | rspec |
User writes:
export async function validatePassword(plain: string, hash: string) {
return bcrypt.compare(plain, hash);
}
Skill suggests:
š” Security-critical: Password validation should have tests for:
⢠Valid passwords
⢠Invalid passwords
⢠Timing attack resistance
Run `/vibetap-security` to generate security tests.
User writes:
try {
await db.query(sql);
} catch (error) {
logger.error('Query failed', error);
throw new DatabaseError('Query failed');
}
Skill suggests:
š” Error handling added - consider testing the failure path.
Run `/vibetap` to generate tests including error scenarios.
User modifies:
// Fixed: was using == instead of ===
if (user.role === 'admin') {
Skill suggests:
š” Bug fix detected! A regression test would prevent this from recurring.
Run `/vibetap` to generate a test for this fix.