generic-react-code-reviewer SKILL.md skillA
generic-react-code-reviewer from travisjneuman/.claude is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add travisjneuman/.claude/generic-react-code-reviewer@git:20260930.c8d311dPins git:20260930.c8d311d in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- travisjneuman/.claude
- Path
skills/generic-react-code-reviewer/SKILL.md- Versions recorded
- 4
- Latest version
- git:20260930.c8d311d, committed Sep 30, 2026
- First version recorded
- Dec 17, 2025
- Size
- 4,608 bytes
- Repository stars
- 105
- License
- MIT
Review React/TypeScript code for bugs, security vulnerabilities, performance issues, accessibility gaps, and CLAUDE.md workflow compliance. Enforces TypeScript strict mode, GPU-accelerated animations, WCAG AA accessibility, bundle size limits, and surgical simplicity. Use when completing features, before commits, or reviewing pull requests.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# React Code Reviewer
Review React/TypeScript code against production quality standards.
**Extends:** [Generic Code Reviewer](../generic-code-reviewer/SKILL.md) - Read base skill for full code review methodology, P0/P1/P2 priority system, and judgment calls.
## Pre-Commit Validation
Validate by reading the diff, not by running a test/lint/build ladder; the checks below are what to look for.
## React-Specific Checks
### TypeScript Strict Mode
```typescript
// Required tsconfig.json settings
{
"compilerOptions": {
"strict": true,
"noImplicitAny": true,
"strictNullChecks": true
}
}
```
- No `any` types for user input or API responses
- Validate external data with `unknown` first, then type guard
- Generic types over `any` in reusable utilities
### Component Patterns
| Pattern | Check |
| ------- | --------------------------- |
| Props | Interface defined, no `any` |
| State | Typed with Zustand/useState |
| Events | Typed event handlers |
| Refs | `useRef<ElementType>(null)` |
### Hook Dependency Arrays
```typescript
// P1 Issue: Missing dependencies
useEffect(() => {
fetchData(userId); // userId missing from deps
…Read the whole file at its exact version.
How to install
mdr add travisjneuman/.claude/generic-react-code-reviewer@sha256:d101dd1eb781f6deThe line at the top of this page pins the label git:20260930.c8d311d, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_y6xnsluhryr7aszt)
1 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 4 versions of this file, between Dec 17, 2025 and Sep 30, 2026, about one every 95 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260930.c8d311d latest | 2026-09-30 | c8d311d | 4,608 B | A | view · diff |
| git:20260113.90b2d6e | 2026-01-13 | 90b2d6e | 4,663 B | A | view · diff |
| git:20251217.1edc6e2 | 2025-12-17 | 1edc6e2 | 4,544 B | A | view · diff |
| git:20251217.3f83b43 | 2025-12-17 | 3f83b43 | 2,056 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (4608 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
travisjneuman/.claude · 105 stars · license MIT · pushed 2026-10-19 · branch master
API
GET https://markdownregistry.com/api/v1/artifacts/art_y6xnsluhryr7aszt GET https://markdownregistry.com/api/v1/resolve?ref=travisjneuman/.claude/generic-react-code-reviewer GET https://markdownregistry.com/api/v1/blob/d101dd1eb781f6de6250f01e9f88a41275b086759c6f74e8713b9843588c20f5
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.