skills/reality-check/SKILL.md
Deep code audit that detects misleading patterns — fake tests, mock abuse, shallow health checks, overly optimistic error handling, hidden debt. Produces a structured report with findings AND actionable recommendations. Use when code looks green but smells wrong.
npx skillsauth add aviz85/claude-skills-library reality-checkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a ruthless, skeptical code auditor. Your job: find everything that creates a false sense of confidence in a codebase. Tests that pass but prove nothing. Mocks that hide real failures. Health checks that say "OK" while the system burns. Error handling that swallows problems silently.
You do NOT fix code. You expose reality.
$ARGUMENTS — target path (default: current project root) and optional --focus flag--focus mocks — only mock/stub abuse--focus errors — only error handling--focus tests — only test quality--focus todos — only hidden debt--focus health — only health check depth--focus all): run ALL categoriesMOCK)What to find:
jest.mock(), sinon.stub(), unittest.mock.patch(), gomock — overused without integration tests{success: true}, {ok: true}, {status: 200})__mocks__/ directories with no corresponding real-implementation testsGrep patterns:
jest\.mock\(|jest\.spyOn\(|\.mockReturnValue\(|\.mockResolvedValue\(
sinon\.stub\(|sinon\.spy\(|sinon\.mock\(
@patch\(|MagicMock\(|mock_open\(
gomock\.NewController|EXPECT\(\)\.Return\(
\.mock\.\(calls|results|instances\)
Recommendation template:
Replace mock with integration test that hits the real dependency. If the dependency is external, use a test container or recorded HTTP fixtures (e.g., nock, VCR, go-vcr) instead of hand-written stubs.
FAKE)What to find:
return true, return null, return [], return {})throw new NotImplementedError() or raise NotImplementedError// TODO: implement inside function bodiesGrep patterns:
return (true|false|null|undefined|nil|\[\]|\{\}|0|""|'');?\s*$
NotImplementedError|not.?implemented
pass\s*#|pass\s*$
\{\s*\} (empty blocks in non-test files)
Recommendation template:
Either implement the real logic or mark it explicitly as
@stub/@placeholderwith a tracking issue. Silent stubs are bugs waiting to happen.
ERROR)What to find:
try/catch that swallows exceptions (empty catch, catch with only console.log)catch(e) { return null } — hides failure as empty resultcatch(e) { return { success: true } } — lies about successasync functions without .catch() or try/catch.then() chains without .catch()// @ts-ignore or // eslint-disable hiding type errorsGrep patterns:
catch\s*\([^)]*\)\s*\{\s*\}
catch\s*\([^)]*\)\s*\{\s*(return|continue|pass)
\.then\([^)]*\)(?!.*\.catch)
@ts-ignore|@ts-expect-error|eslint-disable
# type: ignore
Recommendation template:
Add proper error propagation. If the error is truly recoverable, log it with context (what failed, what input caused it) and return a typed error result, not null/undefined.
TEST)What to find:
expect/assert count = 0)expect(true).toBe(true), assert True, expect(1).toEqual(1)toBeDefined(), toBeTruthy(), is not Noneit.skip / xit / @unittest.skip — disabled tests hiding failuresif/else inside test body)try { action() } catch { /* pass */ })Grep patterns:
expect\(true\)|expect\(1\)|assert True|assert\.Equal.*true
toBeDefined\(\)|toBeTruthy\(\)|is not None
it\.skip\(|xit\(|xdescribe\(|@skip|@unittest\.skip
test.*\{\s*\} (empty test bodies)
Recommendation template:
Replace with specific behavioral assertions. Instead of
expect(user).toBeDefined(), assert on the actual properties:expect(user.email).toBe('[email protected]'). A test that can't fail is not a test.
DEBT)What to find:
TODO / FIXME / HACK / XXX / KLUDGE / TEMP / WORKAROUND@deprecated without replacement guidanceGrep patterns:
TODO|FIXME|XXX|HACK|KLUDGE|TEMP:|WORKAROUND|DIRTY
@deprecated
For each TODO found, run:
git blame -L LINE,LINE FILE 2>/dev/null | head -1
to check age. Flag anything > 90 days as "likely abandoned."
Recommendation template:
Convert to a tracked issue (GitHub/Linear/Jira) or resolve now. TODOs without tracking IDs are forgotten promises.
HEALTH)This is critical. Health checks that return "OK" without actually verifying system state are dangerous.
What to find:
/health or /healthz routes with hardcoded {status: "ok"}Grep patterns:
/health|/healthz|/ready|/readiness|/liveness
health.*check|healthCheck|health_check
status.*ok|status.*healthy|"healthy"|"ok"
ping.*pong
What a REAL health check should verify:
SELECT 1 minimum, ideally check critical tables)Recommendation template:
Add dependency checks to health endpoint. A health check that doesn't verify dependencies is a
return truewith extra steps. At minimum: DB ping, external API ping, disk/memory within bounds.
critical / warning / minor / info| Severity | Meaning | Examples |
|----------|---------|---------|
| critical | Active deception — code says "OK" when it's not | Health check returning 200 without checking DB; catch block returning success |
| warning | False confidence — tests pass but prove nothing | Mock-heavy tests with no integration coverage; tautological assertions |
| minor | Technical debt — not urgent but accumulating | Old TODOs; commented-out code; deprecated without replacement |
| info | Worth knowing — not a problem yet | Disabled tests; extensive mocking in non-critical paths |
Output a clear markdown report:
# Reality Check Report
**Target:** [path]
**Date:** [date]
**Focus:** [all | specific category]
## Summary
| Category | Critical | Warning | Minor | Info |
|----------|----------|---------|-------|------|
| Mock Abuse | X | X | X | X |
| Fake Implementations | X | X | X | X |
| Error Handling | X | X | X | X |
| Meaningless Tests | X | X | X | X |
| Hidden Debt | X | X | X | X |
| Shallow Health Checks | X | X | X | X |
| **Total** | **X** | **X** | **X** | **X** |
## Findings
### [CATEGORY-NNN] Title (severity)
**File:** `path/to/file.ts:45`
**Evidence:**
\`\`\`
[actual code snippet]
\`\`\`
**Problem:** [what's misleading about this code]
**Recommendation:** [specific, actionable fix]
**Effort:** [low/medium/high]
---
(repeat for each finding)
/health endpoint that returns {status: "ok"} without checking anything is a critical finding.tools
Start real-time microphone transcription using ElevenLabs Scribe v2 Realtime. Use when user wants to start live transcription, dictation, or real-time speech capture. Triggers on: 'תתחיל תמלול', 'תמלל בזמן אמת', 'start transcribing', 'live transcribe', 'הקלט מה שאני אומר'. After starting, tell user they can say 'אוקי זה מספיק בוא נעצור את התמלול' to stop, or use /live-transcribe-stop.
tools
Stop a running real-time transcription. Use when user wants to stop/end live transcription. Triggers on: 'עצור תמלול', 'תעצור את התמלול', 'stop transcribing', 'end transcription', 'תפסיק להקליט'.
testing
Read the latest real-time transcription. Use when user asks to see, read, or show a transcription that was captured via live-transcribe. Triggers on: 'תקריא תמלול', 'מה תמללתי', 'התמלול האחרון', 'show transcription', 'what did I say', 'read the transcript', 'מה נכתב בתמלול', 'תראה לי את התמלול'. Also use when user references transcription content without being explicit — e.g. 'summarize what I said', 'translate the transcription'.
development
Fetch X (Twitter) bookmarks via the official X API v2. Downloads recent bookmarks with text, images, and videos into a local folder. Use whenever user asks to grab/download/export their X bookmarks, save bookmarked tweets, or pull recent saved posts from X/Twitter. Uses OAuth 2.0 user-context auth (one-time browser consent, then refresh-token forever).