Claude-skill-registry code-review-js
JavaScript-specific code review guidelines focusing on functional patterns and modern APIs
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/code-review-js" ~/.claude/skills/majiayu000-claude-skill-registry-code-review-js && rm -rf "$T"
manifest:
skills/data/code-review-js/SKILL.mdsource content
JavaScript Code Review
Includes all guidelines from code-review skill, plus JavaScript-specific rules.
Prefer Functional Over OO
The reviewer SHOULD:
- Prefer pure functions and data transforms over classes when state is not required.
- Encourage small, composable utilities instead of deep inheritance trees.
The reviewer MUST:
- Flag new classes that only wrap stateless helpers or act as namespaces.
Acceptable:
const formatUser = (user) => `${user.firstName} ${user.lastName}`;
Discouraged:
class UserFormatter { format(user) { return `${user.firstName} ${user.lastName}`; } }
Use switch
for Enum-like Values
switchThe reviewer MUST:
- Flag
chains that branch on the same enum-like value when aif/else if
is clearer.switch
Preferred:
switch (status) { case "idle": return renderIdle(); case "running": return renderRunning(); case "failed": return renderFailed(); default: return assertNever(status); }
Discouraged:
if (status === "idle") return renderIdle(); if (status === "running") return renderRunning(); if (status === "failed") return renderFailed();
Avoid Duplicated Code
The reviewer MUST:
- Flag duplicated logic and suggest extracting helpers or shared utilities.
The reviewer SHOULD:
- Prefer a single source of truth for calculations and formatting.
Use Modern JavaScript APIs When Available
The reviewer SHOULD:
- Prefer modern APIs like
,Object.hasOwn
,Array.prototype.at
,flatMap
,replaceAll
,URL
, andAbortController
when they improve clarity.Promise.any - Confirm runtime targets or polyfills before requiring newer APIs.