React Expert logo

React Expert

OrganizationPopular
reactjs
react-expert

Use when researching React APIs or concepts for documentation. Use when you need authoritative usage examples, caveats, warnings, or errors for a React feature.

Overview

Publisherreactjs
Repositoryreact.dev
Skill namereact-expert
Stars
11.8K
Forks
8K
Bundled files
Instructions only
LicenseCC-BY-4.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by reactjs on GitHub. Read the source before you install it.

Installation

Install the React Expert AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/reactjs/react.dev/tree/main/.claude/skills/react-expert
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/reactjs/react.dev.git /tmp/react.dev
mkdir -p .claude/skills
cp -r /tmp/react.dev/.claude/skills/react-expert .claude/skills/react-expert
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable React Expert in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads React Expert on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so React Expert is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

React Expert Research Skill

Overview

This skill produces exhaustive documentation research on any React API or concept by searching authoritative sources (tests, source code, PRs, issues) rather than relying on LLM training knowledge.

Red Flags - STOP if you catch yourself thinking:

  • "I know this API does X" → Find source evidence first
  • "Common pattern is Y" → Verify in test files
  • Generating example code → Must have source file reference

Invocation

/react-expert useTransition
/react-expert suspense boundaries
/react-expert startTransition

Sources (Priority Order)

  1. React Repo Tests - Most authoritative for actual behavior
  2. React Source Code - Warnings, errors, implementation details
  3. Git History - Commit messages with context
  4. GitHub PRs & Comments - Design rationale (via gh CLI)
  5. GitHub Issues - Confusion/questions (react/react + reactjs/react.dev)
  6. React Working Group - Design discussions for newer APIs
  7. Flow Types - Source of truth for type signatures
  8. TypeScript Types - Note discrepancies with Flow
  9. Current react.dev docs - Baseline (not trusted as complete)

No web search - No Stack Overflow, blog posts, or web searches. GitHub API via gh CLI is allowed.

Workflow

Step 1: Setup React Repo

First, ensure the React repo is available locally:

bash
# Check if React repo exists, clone or update
if [ -d ".claude/react" ]; then
  cd .claude/react && git pull origin main
else
  git clone --depth=100 https://github.com/react/react.git .claude/react
fi

Get the current commit hash for the research document:

bash
cd .claude/react && git rev-parse --short HEAD

Step 2: Dispatch 6 Parallel Research Agents

Spawn these agents IN PARALLEL using the Task tool. Each agent receives the skepticism preamble:

"You are researching React's <TOPIC>. CRITICAL: Do NOT rely on your prior knowledge about this API. Your training may contain outdated or incorrect patterns. Only report what you find in the source files. If your findings contradict common understanding, explicitly highlight this discrepancy."

Agentsubagent_typeFocusInstructions
test-explorerExploreTest files for usage patternsSearch .claude/react/packages/*/src/__tests__/ for test files mentioning the topic. Extract actual usage examples WITH file paths and line numbers.
source-explorerExploreWarnings/errors in sourceSearch .claude/react/packages/*/src/ for console.error, console.warn, and error messages mentioning the topic. Document trigger conditions.
git-historianExploreCommit messagesRun git log --all --grep="<topic>" --oneline -50 in .claude/react. Read full commit messages for context.
pr-researcherExplorePRs introducing/modifying APIRun gh pr list -R react/react --search "<topic>" --state all --limit 20. Read key PR descriptions and comments.
issue-hunterExploreIssues showing confusionSearch issues in both react/react and reactjs/react.dev repos. Look for common questions and misunderstandings.
types-inspectorExploreFlow + TypeScript signaturesFind Flow types in .claude/react/packages/*/src/*.js (look for @flow annotations). Find TS types in .claude/react/packages/*/index.d.ts. Note discrepancies.

Step 3: Agent Prompts

Use these exact prompts when spawning agents:

test-explorer
You are researching React's <TOPIC>.

CRITICAL: Do NOT rely on your prior knowledge about this API. Your training may contain outdated or incorrect patterns. Only report what you find in the source files.

Your task: Find test files in .claude/react that demonstrate <TOPIC> usage.

1. Search for test files: Glob for `**/__tests__/**/*<topic>*` and `**/__tests__/**/*.js` then grep for <topic>
2. For each relevant test file, extract:
   - The test description (describe/it blocks)
   - The actual usage code
   - Any assertions about behavior
   - Edge cases being tested
3. Report findings with exact file paths and line numbers

Format your output as:
## Test File: <path>
### Test: "<test description>"
```javascript
<exact code from test>

Behavior:


#### source-explorer

You are researching React's .

CRITICAL: Do NOT rely on your prior knowledge about this API. Only report what you find in the source files.

Your task: Find warnings, errors, and implementation details for .

  1. Search .claude/react/packages/*/src/ for:
    • console.error mentions of
    • console.warn mentions of
    • Error messages mentioning
    • The main implementation file
  2. For each warning/error, document:
    • The exact message text
    • The condition that triggers it
    • The source file and line number

Format your output as:

Warnings & Errors

MessageTrigger ConditionSource
""file:line

Implementation Notes

git-historian
You are researching React's <TOPIC>.

CRITICAL: Do NOT rely on your prior knowledge. Only report what you find in git history.

Your task: Find commit messages that explain <TOPIC> design decisions.

1. Run: cd .claude/react && git log --all --grep="<topic>" --oneline -50
2. For significant commits, read full message: git show <hash> --stat
3. Look for:
   - Initial introduction of the API
   - Bug fixes (reveal edge cases)
   - Behavior changes
   - Deprecation notices

Format your output as:
## Key Commits
### <short hash> - <subject>
**Date:** <date>
**Context:** <why this change was made>
**Impact:** <what behavior changed>
pr-researcher
You are researching React's <TOPIC>.

CRITICAL: Do NOT rely on your prior knowledge. Only report what you find in PRs.

Your task: Find PRs that introduced or modified <TOPIC>.

1. Run: gh pr list -R react/react --search "<topic>" --state all --limit 20 --json number,title,url
2. For promising PRs, read details: gh pr view <number> -R react/react
3. Look for:
   - The original RFC/motivation
   - Design discussions in comments
   - Alternative approaches considered
   - Breaking changes

Format your output as:
## Key PRs
### PR #<number>: <title>
**URL:** <url>
**Summary:** <what it introduced/changed>
**Design Rationale:** <why this approach>
**Discussion Highlights:** <key points from comments>
issue-hunter
You are researching React's <TOPIC>.

CRITICAL: Do NOT rely on your prior knowledge. Only report what you find in issues.

Your task: Find issues that reveal common confusion about <TOPIC>.

1. Search react/react: gh issue list -R react/react --search "<topic>" --state all --limit 20 --json number,title,url
2. Search reactjs/react.dev: gh issue list -R reactjs/react.dev --search "<topic>" --state all --limit 20 --json number,title,url
3. For each issue, identify:
   - What the user was confused about
   - What the resolution was
   - Any gotchas revealed

Format your output as:
## Common Confusion
### Issue #<number>: <title>
**Repo:** <react/react or reactjs/react.dev>
**Confusion:** <what they misunderstood>
**Resolution:** <correct understanding>
**Gotcha:** <if applicable>
types-inspector
You are researching React's <TOPIC>.

CRITICAL: Do NOT rely on your prior knowledge. Only report what you find in type definitions.

Your task: Find and compare Flow and TypeScript type signatures for <TOPIC>.

1. Flow types (source of truth): Search .claude/react/packages/*/src/*.js for @flow annotations related to <topic>
2. TypeScript types: Search .claude/react/packages/*/index.d.ts and @types/react
3. Compare and note any discrepancies

Format your output as:
## Flow Types (Source of Truth)
**File:** <path>
```flow
<exact type definition>

TypeScript Types

File:

typescript
<exact type definition>

Discrepancies

Step 4: Synthesize Results

After all agents complete, combine their findings into a single research document.

DO NOT add information from your own knowledge. Only include what agents found in sources.

Step 5: Save Output

Write the final document to .claude/research/<topic>.md

Replace spaces in topic with hyphens (e.g., "suspense boundaries" → "suspense-boundaries.md")

Output Document Template

markdown
# React Research: <topic>

> Generated by /react-expert on YYYY-MM-DD
> Sources: React repo (commit <hash>), N PRs, M issues

## Summary

[Brief summary based SOLELY on source findings, not prior knowledge]

## API Signature

### Flow Types (Source of Truth)

[From types-inspector agent]

### TypeScript Types

[From types-inspector agent]

### Discrepancies

[Any differences between Flow and TS]

## Usage Examples

### From Tests

[From test-explorer agent - with file:line references]

### From PRs/Issues

[Real-world patterns from discussions]

## Caveats & Gotchas

[Each with source link]

- **<gotcha>** - Source: <link>

## Warnings & Errors

| Message | Trigger Condition | Source File |
|---------|------------------|-------------|
[From source-explorer agent]

## Common Confusion

[From issue-hunter agent]

## Design Decisions

[From git-historian and pr-researcher agents]

## Source Links

### Commits
- <hash>: <description>

### Pull Requests
- PR #<number>: <title> - <url>

### Issues
- Issue #<number>: <title> - <url>

Common Mistakes to Avoid

  1. Trusting prior knowledge - If you "know" something about the API, find the source evidence anyway
  2. Generating example code - Every code example must come from an actual source file
  3. Skipping agents - All 6 agents must run; each provides unique perspective
  4. Summarizing without sources - Every claim needs a file:line or PR/issue reference
  5. Using web search - No Stack Overflow, no blog posts, no social media

Verification Checklist

Before finalizing the research document:

  • React repo is at .claude/react with known commit hash
  • All 6 agents were spawned in parallel
  • Every code example has a source file reference
  • Warnings/errors table has source locations
  • No claims made without source evidence
  • Discrepancies between Flow/TS types documented
  • Source links section is complete

Frequently asked questions

What does the React Expert AI skill do?

Use when researching React APIs or concepts for documentation. Use when you need authoritative usage examples, caveats, warnings, or errors for a React feature.

Why use React Expert on TypingMind?

Because you install it once and use it with any model. React Expert is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install React Expert in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/reactjs/react.dev/tree/main/.claude/skills/react-expert. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use React Expert?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with React Expert?

As many as you like. As long as a model supports skills, you can use React Expert with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the React Expert AI skill free?

Yes. It is published on GitHub by reactjs under the CC-BY-4.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇