用途
react-expert 是一个 React 研究技能,用于针对任意 React API 或概念生成详尽的文档研究。它通过检索权威来源(测试、源码、PR、Issue)来获取信息,而不是依赖 LLM 的训练知识。适用于需要权威用法示例、注意事项、警告或错误信息的场景。
主要能力
- 从 React 仓库的测试文件中提取实际用法示例,附带文件路径和行号。
- 从源码中查找 console.error、console.warn 和错误消息,记录触发条件。
- 通过 git log 查找相关提交信息,了解设计决策和变更历史。
- 通过 gh CLI 检索 GitHub PR,获取设计理由和讨论要点。
- 检索 facebook/react 和 reactjs/react.dev 的 Issue,揭示常见困惑和误解。
- 对比 Flow 类型(作为事实来源)与 TypeScript 类型签名,记录差异。
使用方式
调用格式:
/react-expert useTransition
/react-expert suspense boundaries
/react-expert startTransition
工作流程:
-
设置 React 仓库:检查 .claude/react 是否存在,若存在则执行 git pull origin main,否则执行 git clone --depth=100 https://github.com/facebook/react.git .claude/react。然后获取当前提交哈希:cd .claude/react && git rev-parse --short HEAD。
-
并行派发 6 个研究代理(使用 Task 工具),每个代理接收怀疑性前言,强调不要依赖先验知识,只报告源文件中发现的内容。代理类型和焦点:
- test-explorer(Explore):在 .claude/react/packages/*/src/tests/ 中搜索测试文件,提取用法示例、断言和边界情况。
- source-explorer(Explore):在 .claude/react/packages/*/src/ 中搜索 console.error、console.warn 和错误消息,记录触发条件。
- git-historian(Explore):运行 git log --all --grep="<topic>" --oneline -50,阅读完整提交信息。
- pr-researcher(Explore):运行 gh pr list -R facebook/react --search "<topic>" --state all --limit 20,阅读关键 PR 描述和评论。
- issue-hunter(Explore):在 facebook/react 和 reactjs/react.dev 中搜索 Issue,寻找常见问题和误解。
- types-inspector(Explore):查找 Flow 类型(@flow 注解)和 TypeScript 类型(index.d.ts),对比差异。
-
每个代理有详细的提示词,要求输出格式包含文件路径、行号、精确代码、行为说明等。
-
综合结果:所有代理完成后,将发现合并为单一研究文档。不得添加来自自身知识的信息,只包含代理在来源中找到的内容。
-
保存输出:将最终文档写入 .claude/research/<topic>.md,主题中的空格替换为连字符(例如 "suspense boundaries" → "suspense-boundaries.md")。
输出文档模板包含:摘要、API 签名(Flow 类型、TypeScript 类型、差异)、用法示例(来自测试、来自 PR/Issue)、注意事项与陷阱、警告与错误表格、常见困惑、设计决策、来源链接(提交、PR、Issue)。
适用场景
- 研究 React API 或概念,需要权威的用法示例和注意事项。
- 需要了解某个 React 特性的警告、错误和触发条件。
- 需要追溯某个 API 的设计决策和历史变更。
- 需要对比 Flow 和 TypeScript 类型签名的差异。
- 需要发现社区中常见的困惑和误解。
限制
- 不使用网络搜索:不允许 Stack Overflow、博客文章或网络搜索。仅允许通过 gh CLI 访问 GitHub API。
- 不依赖先验知识:如果“知道”某个 API 的行为,仍必须找到源证据。
- 每个代码示例必须来自实际源文件,不能生成示例代码。
- 所有 6 个代理必须运行,每个提供独特视角。
- 每个声明都需要 file:line 或 PR/Issue 引用。
- 最终文档前需检查:React 仓库位于 .claude/react 且提交哈希已知;所有 6 个代理已并行派发;每个代码示例有源文件引用;警告/错误表格有源位置;没有无源证据的声明;Flow/TS 类型差异已记录;来源链接部分完整。
常见错误避免
- 信任先验知识。
- 生成示例代码。
- 跳过代理。
- 无来源总结。
- 使用网络搜索。