VerifiedPlugin
Testing
expect
Expect tests your agent's code in a real browser
Your agent writes bad React. This catches it
$ npx -y skills add millionco/react-doctor --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: millionco/react-doctor
What's inside
packages/react-doctor/README.md
.agents/
skills/
benchmark-fp-fn-audit/
agents/
openai.yaml
references/
benchmark-artifacts.md
SKILL.md
deslop/
SKILL.md
find-similar-functions/
SKILL.md
fuzz/
SKILL.md
product-thinking/
SKILL.md
rde-eval/
SKILL.md
react-doctor/
references/
explain.md
SKILL.md
rule-research/
SKILL.md
rule-validate/
SKILL.md
rule-writing/
SKILL.md
run-parity/
agents/
openai.yaml
scripts/
baseline-cache-provenance.mjs
baseline-cache-provenance.test.mjs
build-parity-index.mjs
compare-parity-indexes.mjs
compare-parity-performance.mjs
compare-parity-performance.test.mjs
compare-parity.mjs
compare-parity.test.mjs
find-impacted-rules.mjs
find-impacted-rules.test.mjs
parity-index.test.mjs
validate-parity-input.jq
validate-parity-input.test.mjs
verify-matrix-artifact.mjs
verify-matrix-artifact.test.mjs
SKILL.md
ship/
SKILL.md
writing-guidelines/
SKILL.md
.changeset/
config.json
faster-project-batches.md
newer-oxc-toolchain.md
README.md
.claude
.cursor-plugin/
plugin.json
.gitattributes
.github/
workflows/
action-version-bump.yml
ci.yml
code-quality.yml
delta-audit.yml
publish-any-commit.yml
publish.yml
react-doctor.yml
terminal-recording.yml
.gitignore
.npmrc
.prettierignore
.vite-hooks/
pre-commit
action.yml
AGENTS.md
assets/
react-doctor-readme-logo-dark.svg
react-doctor-readme-logo-light.svg
CLAUDE.md
docs/
HOW_TO_WRITE_A_RULE.md
json-report.md
mobx-rule-research.md
react-router-rule-research.md
rule-candidates-backlog.md
zustand-rule-research.md
LICENSE
package.json
packages/
api/
CHANGELOG.md
package.json
src/
build-diagnose-project-plan.ts
diagnose.ts
index.ts
tests/
build-diagnose-project-plan.test.ts
diagnose.test.ts
tsconfig.json
vite.config.ts
core/
CHANGELOG.md
package.json
src/
apply-ignore-overrides.ts
apply-severity-controls.ts
batch-include-paths.ts
build-diagnostic-pipeline.ts
build-json-report-error.ts
build-json-report.ts
build-rule-severity-controls.ts
build-skipped-checks.ts
calculate-score.ts
can-oxlint-extend-config.ts
check-dead-code.ts
check-expo-project.ts
check-pnpm-hardening.ts
check-react-native-project.ts
check-react-server-components-advisory.ts
check-reduced-motion.ts
check-security-scan.ts
check-supply-chain.ts
checks/
expo/
check-dependency-overrides.ts
check-env-local-files.ts
check-flagged-dependencies.ts
check-gitignore.ts
check-lockfile.ts
check-metro-config.ts
check-package-json-conflicts.ts
check-reanimated-new-arch.ts
check-router-react-navigation.ts
check-updates-config.ts
check-vector-icons.ts
expo-check-context.ts
utils/
build-expo-diagnostic.ts
find-local-module-native-files.ts
get-direct-dependency-names.ts
is-expo-sdk-at-least.ts
read-expo-app-config.ts
react-native/
check-android-release-shrinking.ts
check-babel-plugin-order.ts
check-library-dependencies.ts
check-metro-babel-preset.ts
utils/
build-react-native-diagnostic.ts
read-android-release-shrinking.ts
read-static-babel-plugin-names.ts
security-scan/
build-security-scan-diagnostic.ts
collect-security-scan-files.ts
constants.ts
classify-file-context.ts
collect-ignore-patterns.ts
compute-diagnostic-delta.ts
constants.ts
dead-code/
collect-dead-code-patterns.ts
dead-code-result-cache.ts
dead-code-worker-slots.ts
knip-config-filenames.ts
detect-foreign-disable-near-miss.ts
detect-user-lint-config.ts
diagnostic-surface.ts
editor-scan.ts
errors.ts
evaluate-suppression.ts
explicit-lint-include-paths.ts
filter-for-surface.ts
find-enclosing-jsx-opener.ts
find-jsx-opener-span.ts
find-stacked-disable-comments.ts
foreign-disable-patterns.ts
format-error-chain.ts
get-diagnostic-rule-identity.ts
get-diff-files.ts
highlighter.ts
index.ts
is-compiler-rule-foreign-disabled.ts
is-ignored-file.ts
is-rule-listed-in-comment.ts
is-test-file.ts
load-config.ts
materialize-source-tree.ts
merge-and-filter-diagnostics.ts
neutralize-disable-directives.ts
observability.ts
parse-changed-line-ranges.ts
parse-gitattributes-linguist.ts
project-info/
capabilities.ts
collect-project-facts.ts
constants.ts
count-source-files.ts
dependencies.ts
detect-framework.ts
detect-nextjs-static-export.ts
detect-pre-es2023-target.ts
detect-react-compiler.ts
detect-target-blank-opener-protection.ts
discover-project.ts
discover-react-subprojects.ts
errors.ts
find-nearest-ancestor-package-json.ts
fs-utils.ts
get-preferred-dependency-version.ts
get-styled-components-version.ts
get-tanstack-query-version.ts
has-i18n-dependency.ts
index.ts
is-analyzable-project.ts
is-local-module-specifier.ts
monorepo-root.ts
package-json.ts
react-compiler-config-evaluator.ts
resolve-installed-react-version.ts
rn-metadata.ts
ssr-metadata.ts
version.ts
workspaces.ts
read-file-lines-node.ts
read-ignore-file.ts
refs.ts
request-score.ts
resolve-compatible-node.ts
resolve-config-root-dir.ts
resolve-diagnose-target.ts
resolve-lint-include-paths.ts
resolve-rule-severity-override.ts
resolve-scan-target.ts
rule-key-aliases.ts
rule-metadata.ts
run-inspect.ts
run-oxlint.ts
runners/
oxlint/
collect-unplugin-auto-import-global-scopes.ts
compute-ruleset-hash.ts
config.ts
file-lint-cache.ts
parse-output.ts
plugin-resolution.ts
resolve-paths.ts
resolve-sidecar-probe-answer.ts
resolve-toolchain-versions.ts
resolve-use-call-binding.ts
should-suppress-compiler-finding-in-worklet.ts
should-suppress-local-use-hook-diagnostic.ts
sidecar-lint-cache.ts
spawn-batches.ts
spawn-oxlint.ts
suppress-memoization-in-bailed-out-functions.ts
validate-rule-registration.ts
schemas.ts
services/
config.ts
dead-code.ts
files.ts
git.ts
linter.ts
node-resolver.ts
progress.ts
project.ts
reporter.ts
score.ts
staged-files.ts
supply-chain.ts
summarize-diagnostics.ts
tokenize-rule-list.ts
types/
config.ts
dead-code.ts
diagnose.ts
diagnostic.ts
git.ts
handle-error.ts
index.ts
inspect.ts
observability.ts
project-info.ts
prompts.ts
run-inspect.ts
run-oxlint.ts
score.ts
utils/
ancestor-directories.ts
anonymize-text.ts
append-reanimated-shared-value-hint.ts
assign-fix-groups.ts
atomic-write-file.ts
atomic-write-json.ts
build-oxlint-child-env.ts
build-profiled-node-arguments.ts
build-rule-docs-url.ts
classify-package-role.ts
collect-git-linguist-ignored-paths.ts
collect-project-index-module-sources.ts
collect-source-file-counts-by-directory.ts
collect-source-files-by-directory.ts
collect-typescript-emit-duplicate-js-paths.ts
column-of-utf8-offset.ts
compute-config-fingerprint.ts
contains-three-module-import.ts
create-oxlint-spawn-slots.ts
create-worker-slots.ts
dead-code-may-surface.ts
dedupe-diagnostics.ts
dedupe-related-diagnostics.ts
define-config.ts
detect-ai-training-environment.ts
estimate-args-length.ts
fail-open-read-json.ts
filter-paths-outside-directories.ts
fingerprint-file-contents.ts
get-import-module-source.ts
get-typescript-script-kind.ts
group-by.ts
has-ignored-path-segment.ts
has-published-fix-recipe.ts
has-react-runtime.ts
hash-file-contents.ts
import-default-export.ts
is-errno-exception.ts
is-ignored-directory-name.ts
is-large-minified-file.ts
is-lintable-source-file.ts
is-minified-source.ts
is-path-git-ignored.ts
is-path-inside-directory.ts
is-project-boundary.ts
is-record.ts
is-scan-complete.ts
jsx-text-component-matchers.ts
line-of-utf8-offset.ts
list-source-files.ts
lower-child-process-priority.ts
make-scrubbing-tracer.ts
map-prepared-source-labels.ts
map-prepared-source-span.ts
map-with-concurrency.ts
match-glob-pattern.ts
merge-react-doctor-configs.ts
message-from-unknown.ts
plan-lint-batches.ts
prepare-html-script-source.ts
prepare-lint-sources.ts
read-cgroup-memory-limit-bytes.ts
read-json5-file.ts
read-positive-env-ms.ts
read-system-concurrency-facts.ts
redact-sensitive-text.ts
remaining-deadline-budget-ms.ts
resolve-auto-scan-concurrency.ts
resolve-candidate-read-path.ts
resolve-dead-code-concurrency.ts
resolve-dead-code-timeout.ts
resolve-github-actions-score-metadata.ts
resolve-lint-batch-ordering.ts
resolve-react-doctor-cache-dir.ts
resolve-scan-concurrency.ts
sanitize-terminal-text.ts
scrub-sensitive-paths.ts
should-enable-rule-by-default-status.ts
sort-diagnostics-stable.ts
strip-utf8-bom.ts
to-canonical-path.ts
to-normalized-relative-path.ts
to-relative-path.ts
unwrap-typescript-expression.ts
utf8-offset-from-source-position.ts
walk-source-tree-files.ts
warn-config-issue.ts
yield-to-event-loop.ts
validate-config-types.ts
tests/
append-reanimated-shared-value-hint.test.ts
apply-severity-controls.test.ts
assign-fix-groups.test.ts
build-capabilities.test.ts
build-json-report.test.ts
build-oxlint-child-env.test.ts
build-profiled-node-arguments.test.ts
build-rule-docs-url.test.ts
build-rule-severity-controls.test.ts
build-skipped-checks.test.ts
calculate-score.test.ts
can-oxlint-extend-config.test.ts
check-dead-code.test.ts
check-expo-project.test.ts
check-pnpm-hardening.test.ts
check-react-native-project.test.ts
check-react-server-components-advisory.test.ts
check-reduced-motion.test.ts
... 1600 moreShowing a partial view of a very large repo.
Expect tests your agent's code in a real browser
FAQ
react-doctor is a Claude Code plugin with 2 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes improve-react, react-doctor. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.