🎯

busirocket-react

🎯Skill

from busirocket/agents-skills

VibeIndex|
What it does

Applies React best practices with Zustand state management, enforcing component structure, hook extraction, and efficient state handling across React applications.

πŸ“¦

Part of

busirocket/agents-skills(15 items)

busirocket-react

Installation

Quick InstallInstall with npx
npx skills add BusiRocket/agents-skills
Quick InstallInstall with npx
npx add-skill BusiRocket/agents-skills
Quick InstallInstall with npx
npx skills add
πŸ“– Extracted from docs: busirocket/agents-skills
16Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Overview

# React (Components, Hooks, State)

Reusable patterns for scalable React codebases, including Zustand state

management.

When to Use

Use this skill when:

  • Writing or refactoring .tsx components
  • Extracting hooks into hooks//useXxx.ts
  • Removing helpers from components/hooks into utils/
  • Removing inline types into types/
  • Implementing global UI state (modals, progress indicators)
  • Managing shared data across components or avoiding prop drilling
  • Setting up cross-component communication with Zustand

Non-Negotiables (MUST)

Components and Hooks

  • Exactly one exported component per .tsx file.
  • Exactly one exported hook per hook file (hooks//useXxx.ts).
  • No helper functions inside components or hooks; extract helpers to

utils/.

  • No inline types inside components or hooks; import from types/.
  • Prefer server-side rendering boundaries wisely (avoid 'use client' for large

subtrees).

State (Zustand)

  • One store per domain (e.g., uiStore, workspaceStore, statusLogStore).
  • Keep stores focused; split when they grow too large.
  • Use selectors to minimize re-renders:

useStore((state) => state.specificValue).

  • Actions should be defined in the store, not in components.
  • Modals should read their visibility state from stores, not receive as props.

Rules

Component Patterns

  • react-one-component-per-file - One component per file (STRICT)
  • react-client-vs-server - Client vs Server Components (App Router)
  • react-folder-namespacing - Folder namespacing for complex components
  • react-performance - Performance optimization (memo, useCallback)
  • react-accessibility - Accessibility best practices
  • react-component-testing - Component tests in __tests__, React Testing

Library

Hooks Best Practices

  • react-one-hook-per-file - One hook per file (STRICT)
  • react-no-helpers-in-hooks - No helpers inside hooks (STRICT)
  • react-no-types-in-hooks - No types inside hooks (STRICT)
  • react-stable-api - Stable API for hooks
  • react-side-effects - Side effects in hooks

State (Zustand)

  • zustand-when-to-use - When to use Zustand (modals, global UI state, shared

data)

  • zustand-store-organization - Store organization (one store per domain,

selectors, actions)

  • zustand-modal-pattern - Modal pattern with Zustand (read visibility from

store)

  • zustand-avoiding-prop-drilling - Use Zustand stores instead of prop drilling

Related Skills

  • busirocket-core-conventions - General file structure and boundaries
  • busirocket-typescript-standards - TypeScript and type conventions
  • busirocket-nextjs - Server vs Client Components (detailed)

How to Use

Read individual rule files for detailed explanations and code examples:

```

rules/react-one-component-per-file.md

rules/react-one-hook-per-file.md

rules/react-client-vs-server.md

rules/zustand-store-organization.md

rules/zustand-modal-pattern.md

```

Each rule file contains:

  • Brief explanation of why it matters
  • Code examples (correct and incorrect patterns)
  • Additional context and best practices

More from this repository10

🎯
busirocket-tailwindcss-v4🎯Skill

busirocket-tailwindcss-v4 skill from busirocket/agents-skills

🎯
busirocket-refactor-workflow🎯Skill

Enforces strict TypeScript/React refactoring workflow with quality gates, file splitting rules, and mandatory post-refactor checks.

🎯
busirocket-rust🎯Skill

Enforces strict Rust coding standards, ensuring maintainable codebases with modular, clean, and separated concerns.

🎯
busirocket-tauri🎯Skill

Enforces Tauri desktop app standards by guiding command creation, invoke handler configuration, and Rust project layout.

🎯
busirocket-typescript-standards🎯Skill

Enforces strict TypeScript standards for maintainable codebases, focusing on one-thing-per-file, type conventions, and Next.js export exceptions.

🎯
busirocket-supabase🎯Skill

Enforces strict Supabase access boundaries by centralizing database interactions in a dedicated service layer, preventing direct external calls.

🎯
busirocket-nextjs🎯Skill

Generates standardized, thin Next.js route handlers with input validation, proper HTTP status codes, and consistent JSON response patterns.

🎯
busirocket-react-components-and-hooks🎯Skill

busirocket-react-components-and-hooks skill from busirocket/agents-skills

🎯
busirocket-react-state-management-zustand🎯Skill

Provides opinionated Zustand state management conventions and best practices for React applications, focusing on clean, scalable store creation, state manipulation, and predictable global state han...

🎯
busirocket-nextjs-route-handlers🎯Skill

Generates and structures thin, type-safe Next.js route handlers with standardized validation, error handling, and consistent response patterns for API endpoints.