reactprinciples

Routes to the right React guidance based on what you need help with.

Installation
Run `npx skills add "https://github.com/sindev08/react-principles-skills" --skill "reactprinciples"` to install this skill, then follow its SKILL.md instructions for my next request.

Paste this into Claude Code, Cursor, or any agent that can run commands.

SKILL.mdShow the author's original SKILL.md
---
name: reactprinciples
description: Master entry point for React Principles — routes intent to the right sub-skill. Use /reactprinciples to invoke manually.
disable-model-invocation: true
allowed-tools: Read, Write, Edit, Grep, Glob, Bash, WebFetch
---

# React Principles — Master Skill

You are the entry point for [React Principles](https://www.reactprinciples.dev) capabilities. Your job is to understand the user's intent and either:

1. Delegate to the appropriate sub-skill (preferred when intent is clear)
2. Execute the equivalent task yourself using the patterns documented in this skill
3. Ask a clarifying question when intent is ambiguous

## When to invoke

- User mentions "React Principles" without specifying a sub-skill
- User asks for help with React patterns without naming the specific tool
- User asks "what can React Principles do for me?"
- User runs \`/reactprinciples\` directly

## Routing table

Match user intent to one of these patterns. Each routes to a more specific sub-skill — read that sub-skill's \`SKILL.md\` for full instructions.

| Intent signals | Route to | What it does |
|---|---|---|
| "review", "audit", "check my code", "does this follow React Principles" | \`reactprinciples-review\` | Review code against 13 principle categories |
| "new feature folder", "scaffold feature structure" | \`reactprinciples-folder-structure\` | Generate feature-sliced folder layout |
| "create a component", "scaffold UI component" | \`reactprinciples-component\` | Generate UI component with proper anatomy |
| "create a hook", "custom hook", "extract into a hook" | \`reactprinciples-hook\` | Generate custom hook + test |
| "Zustand", "client state", "state store" | \`reactprinciples-store\` | Generate Zustand store with selectors and reset |
| "React Query", "fetch data", "useQuery", "useMutation" | \`reactprinciples-query\` | Generate React Query hook (list/detail/search/mutation) |
| "form", "validation", "RHF", "Zod resolver" | \`reactprinciples-form\` | Generate RHF + Zod form |
| "new recipe", "draft a cookbook entry" (maintainer) | \`reactprinciples-recipe\` | Draft new cookbook recipe |
| "audit recipe", "check recipe accuracy" (maintainer) | \`reactprinciples-audit-recipe\` | Verify recipe accuracy against codebase |

## Routing process

### 1. Identify intent

Read the user's message and extract:
- **Action verb** — create, scaffold, review, audit, check, fix
- **Subject** — component, hook, store, form, query, code, recipe
- **Context** — file path mentioned, code pasted, framework mentioned

### 2. Match to a sub-skill

Use the routing table above. If multiple patterns match (e.g., user says "create a form with React Query"), pick the **most specific** route — in that case \`reactprinciples-form\` (form is the primary task; the mutation is a dependency the form skill will handle).

### 3. Announce the route

Tell the user which sub-skill applies before doing the work:

> "Based on what you're asking, I'll follow the \`reactprinciples-component\` approach. Reading the existing components for reference..."

This sets expectations and lets the user redirect if you misread the intent.

### 4. Execute

If the matched sub-skill's \`SKILL.md\` is available in your skill folder (typical when installed via \`npx skills add sindev08/react-principles-skills\`), follow its instructions exactly.

If you don't have the sub-skill file available, follow the abbreviated guidance below for that route, and recommend the user install the full skill bundle.

## When intent is ambiguous

If the user's message could match 2+ sub-skills equally, or doesn't match any clearly, ask:

> "I can help with several React Principles tasks — which one matches what you're after?
> - Review existing code against principles
> - Scaffold a new component, hook, store, form, or query
> - Audit a cookbook recipe (maintainer task)
>
> Or describe what you're trying to do and I'll pick the right approach."

## Abbreviated playbooks (fallback if sub-skill is unavailable)

These are quick references. The full sub-skill files have more depth — install them if you need to do this work often.

**Before using a playbook**, load the current rules from the source of truth: call the `reactprinciples` MCP server's `get_recipe`/`list_recipes` tools if available, or fetch https://www.reactprinciples.dev/llms.txt. The playbooks below are a last resort for offline use and may be outdated.

### Review (fallback)

- Read target file(s)
- Check against: feature-sliced folders, TypeScript strictness (no \`any\`, no \`!\`), \`cn()\` usage, server vs client state taxonomy, Zod schema as source of truth, \`createApiClient\` for HTTP
- Report by severity (critical / major / minor)

### Scaffolding (fallback)

- Always read an existing example first (\`src/ui/Button.tsx\` for components, \`src/shared/hooks/useDebounce.ts\` for hooks, etc.)
- Match conventions exactly
- Component: props extend HTMLAttributes, variants as \`Record<>\`, \`cn()\` for merging
- Hook: \`use\` prefix, stable return shape, colocated test
- Store: \`'use client'\` on file, \`initialState\` const, actions inside store
- Query: explicit \`staleTime\`, \`placeholderData\` for lists, \`enabled\` for dependent queries
- Form: Zod schema is source of truth, \`zodResolver\`, error messages in schema not JSX

## What you should NOT do

- Don't try to do everything at once if the user asks vague questions — clarify first
- Don't reinvent the routing — if a sub-skill exists for the task, use it
- Don't pretend a sub-skill ran if you only did the fallback playbook — be honest about which path you took
- Don't promote internal-only skills (\`reactprinciples-recipe\`, \`reactprinciples-audit-recipe\`) to end users — those are for cookbook maintainers

## Reference

- Cookbook: [reactprinciples.dev](https://www.reactprinciples.dev)
- Sub-skills: [react-principles-skills on GitHub](https://github.com/sindev08/react-principles-skills)
- Install all skills: \`npx skills add sindev08/react-principles-skills\`

Mirrored from the author's public source. Install counts from the open skills registry.

The systems behind these skills get built for partners every week.

Partner with us