skills/juniors-best-practice/SKILL.md
Juniors-focused React and TypeScript best practices. Use this skill when writing or reviewing code to enforce clear, consistent, and maintainable patterns across common scopes like React, TypeScript, styling, devtools, assets, and Git.
npx skillsauth add siberiacancode/agent-skills juniors-best-practiceInstall 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.
Juniors-focused best practices for React and TypeScript projects. The rules are short, practical, and organized by scope to guide consistent code reviews, refactoring, and new feature work.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
| -------- | -------------------- | ---------- | ------------- |
| 1 | Beginner Foundations | HIGH | beginner- |
| 2 | TypeScript | MEDIUM | typescript- |
| 3 | React | MEDIUM | react- |
| 4 | Styling | MEDIUM | styling- |
| 5 | Devtools | MEDIUM | devtools- |
| 6 | Assets | LOW-MEDIUM | assets- |
| 7 | Git | LOW | git- |
| 8 | REST | MEDIUM | rest- |
beginner-early-return - Prefer early returns to reduce nestingbeginner-double-negation - Avoid !isNotX patternsbeginner-unnecessary-destructuring - Keep objects intact for claritybeginner-const-vs-let - Default to constbeginner-nullish-vs-or - Use ?? for defaultsbeginner-useless-return-arrow - Remove redundant returnbeginner-uppercase-constants - Use UPPER_CASE only for stable constantstypescript-alias-naming - Use safe path alias prefixestypescript-flat-translations - Prefer flat translation keys to reduce duplicationreact-string-props - Use string literals when possiblereact-children-prop - Use children for compositionreact-extends-component - Extend native element propsreact-props-typing - Keep props typing readablestyling-classnames-function - Use clsx for conditional classesstyling-css-states - Prefer CSS selectors for component statesdevtools-formatter-linter - Use formatter and linterdevtools-sorting-imports - Keep imports ordered and groupeddevtools-package-manager-lock - Use a single package managerassets-svg-files - Use SVGs as componentsgit-commit-convention - Use consistent commit conventionsrest-scalability-abstractions - Build REST layer around reusable transport abstractionsrest-naming-openapi - Keep REST naming aligned with OpenAPI contractsRead individual rule files for detailed explanations and examples:
rules/beginner-early-return.md
rules/react-props-typing.md
Each rule file contains:
For the complete guide with all rules expanded: AGENTS.md
development
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
development
Practical playbook for React teams to choose and apply reactuse hooks across state, async flows, browser APIs, and UI interactions. Use it when replacing custom hook logic with production-ready patterns that stay compatible with SSR and Next.js.
development
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.