MCPInstall

docs-voice

Use when writing any React documentation. Provides voice, tone, and style rules for all doc types.

Installs
68
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/reactjs/react.dev --skill docs-voice
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads docs-voice automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

React Docs Voice & Style

Universal Rules

  • Capitalize React terms when referring to the React concept in headings or as standalone concepts:
    • Core: Hook, Effect, State, Context, Ref, Component, Fragment
    • Concurrent: Transition, Action, Suspense
    • Server: Server Component, Client Component, Server Function, Server Action
    • Patterns: Error Boundary
    • Canary: Activity, View Transition, Transition Type
    • In prose: Use lowercase when paired with descriptors: "state variable", "state updates", "event handler". Capitalize when the concept stands alone or in headings: "State is isolated and private"
    • General usage stays lowercase: "the page transitions", "takes an action"
  • Product names: ESLint, TypeScript, JavaScript, Next.js (not lowercase)
  • Bold for key concepts: state variable, event handler
  • Italics for new terms being defined: event handlers
  • Inline code for APIs: useState, startTransition, <Suspense>
  • Avoid: "simple", "easy", "just", time estimates
  • Frame differences as "capabilities" not "advantages/disadvantages"
  • Avoid passive voice and jargon

Tone by Page Type

TypeToneExample
LearnConversational"Here's what that looks like...", "You might be wondering..."
ReferenceTechnical"Call useState at the top level...", "This Hook returns..."
BlogAccurateFocus on facts, not marketing

Note: Pitfall and DeepDive components can use slightly more conversational phrasing ("You might wonder...", "It might be tempting...") even in Reference pages, since they're explanatory asides.

Avoiding Jargon

Pattern: Explain behavior first, then name it.

✅ "React waits until all code in event handlers runs before processing state updates. This is called batching."

❌ "React uses batching to process state updates atomically."

Terms to avoid or explain:

JargonPlain Language
atomicall-or-nothing, batched together
idempotentsame inputs, same output
deterministicpredictable, same result every time
memoizeremember the result, skip recalculating
referentially transparent(avoid - describe the behavior)
invariantrule that must always be true
reify(avoid - describe what's being created)

Allowed technical terms in Reference pages:

  • "stale closures" - standard JS/React term, can be used in Caveats
  • "stable identity" - React term for consistent object references across renders
  • "reactive" - React term for values that trigger re-renders when changed
  • These don't need explanation in Reference pages (readers are expected to know them)

Use established analogies sparingly—once when introducing a concept, not repeatedly:

ConceptAnalogy
Components/ReactKitchen (components as cooks, React as waiter)
Render phasesRestaurant ordering (trigger/render/commit)
State batchingWaiter collecting full order before going to kitchen
State behaviorSnapshot/photograph in time
State storageReact storing state "on a shelf"
State purposeComponent's memory
Pure functionsRecipes (same ingredients → same dish)
Pure functionsMath formulas (y = 2x)
PropsAdjustable "knobs"
Children prop"Hole" to be filled by parent
KeysFile names in a folder
Curly braces in JSX"Window into JavaScript"
Declarative UITaxi driver (destination, not turn-by-turn)
Imperative UITurn-by-turn navigation
State structureDatabase normalization
Refs"Secret pocket" React doesn't track
Effects/Refs"Escape hatch" from React
ContextCSS inheritance / "Teleportation"
Custom HooksDesign system

Common Prose Patterns

Wrong vs Right code:

\`\`\`js
// 🚩 Don't mutate state:
obj.x = 10;
\`\`\`

\`\`\`js
// ✅ Replace with new object:
setObj({ ...obj, x: 10 });
\`\`\`

Table comparisons:

| passing a function | calling a function |
| `onClick={handleClick}` | `onClick={handleClick()}` |

Linking:

[Read about state](/learn/state-a-components-memory)
[See `useState` reference](/reference/react/useState)

Code Style

  • Prefer JSX over createElement
  • Use const/let, never var
  • Prefer named function declarations for top-level functions
  • Arrow functions for callbacks that need this preservation

Version Documentation

When APIs change between versions:

Starting in React 19, render `<Context>` as a provider:
\`\`\`js
<SomeContext value={value}>{children}</SomeContext>
\`\`\`

In older versions:
\`\`\`js
<SomeContext.Provider value={value}>{children}</SomeContext.Provider>
\`\`\`

Patterns:

  • "Starting in React 19..." for new APIs
  • "In older versions of React..." for legacy patterns

FAQ

What does the docs-voice skill do?

Use when writing any React documentation. Provides voice, tone, and style rules for all doc types.

How do I install docs-voice?

Run npx skills add https://github.com/reactjs/react.dev --skill docs-voice in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/docs-voice/ (personal) or .claude/skills/docs-voice/ (project).

Which AI agents can use docs-voice?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is docs-voice safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains docs-voice?

It is published by reactjs in reactjs/react.dev. It has 68 recorded installs.

More from reactjs/react.dev

View all →

react-expert

reactjs/react.dev

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

Frontend & Design1.3K installs

docs-components

reactjs/react.dev

Comprehensive MDX component patterns (Note, Pitfall, DeepDive, Recipes, etc.) for all documentation types. Authoritative source for component usage, examples, and heading conventions.

Docs & Writing88 installs

docs-sandpack

reactjs/react.dev

Use when adding interactive code examples to React docs.

Docs & Writing83 installs

review-docs

reactjs/react.dev

Open the skill to read its SKILL.md instructions.

docs-writer-learn

reactjs/react.dev

Open the skill to read its SKILL.md instructions.

Docs & Writing70 installs

docs-writer-reference

reactjs/react.dev

Reference page structure, templates, and writing patterns for src/content/reference/. For components, see /docs-components. For code examples, see /docs-sandpack.

Docs & Writing70 installs

Popular docs & writing skills

View category →

grill-with-docs

mattpocock/skills

A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.

Docs & Writing1.2M installs

lark-markdown

open.feishu.cn

飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。

Docs & Writing778.7K installs

writing-beats

mattpocock/skills

Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.

Docs & Writing490.7K installs

writing-shape

mattpocock/skills

Writing, exploit: shape raw material into an article, paragraph by paragraph.

Docs & Writing490.2K installs

writing-fragments

mattpocock/skills

Writing, explore: mine raw fragments, no structure yet.

Docs & Writing489.6K installs

writing-for-agents

mattpocock/skills

Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.

Docs & Writing479.3K installs