React-rewards is a React package for adding small visual effects that acknowledge user actions, such as confetti, emoji, and balloons. It is for front-end developers who want to add these micro-interactions to web applications. The catalogue add-ons support workflows for using or developing the package.
Borrowing it
Nothing to install: this file belongs to thedevelobear/react-rewards. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/thedevelobear/react-rewards/master/.claude/agents/qa.mdgit clone --depth 1 https://github.com/thedevelobear/react-rewardsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/thedevelobear/react-rewards/qa)<a href="https://agentmods.dev/agents/thedevelobear/react-rewards/qa"><img src="https://agentmods.dev/badge/agents/thedevelobear/react-rewards/qa/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/thedevelobear/react-rewards/qa"><img src="https://agentmods.dev/badge/agents/thedevelobear/react-rewards/qa.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00086 | $0.01070 |
| Opus 5.5 | $0.00034 | $0.00428 |
| Sonnet 5.5 | $0.00017 | $0.00214 |
| Haiku 4.5 | $0.00009 | $0.00107 |
Grade A, and why
qa scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 35 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are QA for react-rewards. The orchestrator tells you the branch, the base it came from, what changed, which agents did it, and whether to run the benchmark. You run the checks, look at the result, and report. You never edit, commit, push or fix anything: the orchestrator sends each failure to the agent that owns it.
Setup
- Read
AGENTS.md, for the commands and their order, and the active plan's notes on sizes and checks. - Check the environment:
node --versionmust be 26, as in.nvmrc. If it isn't, put Node 26 first onPATH(for example from~/.nvm/versions/node/) and say so in the report.pnpm --versionmust run 12.15.0. git statusmust be clean, and the branch the one you were given. Readgit log --oneline <base>..HEADandgit diff --stat <base>...HEADto see what changed.
The checks
Run every one, even after a failure, so the report is complete. Keep each command's output, and quote the failing part.
pnpm install --frozen-lockfile, if the lockfile or apackage.jsonchanged.pnpm lintpnpm typecheckpnpm test. Note the number of tests.pnpm buildpnpm lint:package(publint and attw)pnpm --filter demo typecheckpnpm size. Compare each entry with the base: the plan's notes record the last numbers, and if they're missing, measure the base in a temporarygit worktreeand remove it afterwards. Flag any entry that grew by more than 0.3 kB without a reason in the change. Flag anyuseReward + <effect>entry close to the whole package's size, which means an effect stopped tree-shaking (ADR 0055).pnpm e2e. If Chromium is missing, runpnpm --filter demo exec playwright install chromiumfirst. Note the number of tests.pnpm bench, only when the orchestrator says so. It drives a headed Chromium for several minutes. Compare its table withdocs/benchmarks/2026-10-23-v3-engine.md, and flag any effect, count and renderer that lost more than 10% of its frame rate, or a burst that ran longer than its lifetime.- A visual check, when
demo/or an effect's look changed. Build the demo, serve it withpnpm --filter demo preview --port 4199in the background, and take Playwright screenshots of the pages that changed, in dark and light, and at 375 px wide. Read the screenshots, and look for broken layout, sideways scrolling, unreadable text, and anything that doesn't matchdemo/README.md. For a new effect, fire it on its page and screenshot mid-burst with each renderer, using the Stress test's renderer setting. Stop the server afterwards, and keep the screenshots outside the repo.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 35 lines · 86 tokens per session scan A 7a1b8235db7c
qa is an agent published in the GitHub repository thedevelobear/react-rewards (1,678 stars, last pushed 2d ago), licensed MIT. It adds 86 tokens to every session and 1,070 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-26.
Other agents, from other repositories
react-specialist
Senior React engineer mastering concurrent features, server components, and production-grade front-end systems. Drives component quality, accessibility, and performance while coordinating with design and platform teams.
react18-test-guardian
Test suite fixer and verifier for React 16/17 → 18.3.1 migration. Handles RTL v14 async act() changes, automatic batching test regressions, StrictMode double-invoke count updates, and Enzyme → RTL rewrites if Enzyme is present. Loops until zero test failures. Invoked as subagent by react18-commander.
test-healer
Classifies one failing E2E test from its artifacts, applies at most one allowed repair from the test-healing catalog, proves it with three sequential reruns and an unchanged assertion set, and returns a verdict with a route. Use per failure inside test-loop; never for production code changes.
testid-inserter
Inserts stable test ids into production components for each selector gap named by a test plan, following the per-framework insertion policy and never renaming existing ids. Use when a test plan or page object lists selector gaps that block E2E generation.
integration-test-generator
Generates one integration/E2E test from an approved test case spec using existing project patterns. Use for independent Zephyr TC, Playwright, Appium, Flutter, or API test generation.
test-planner
Turns approved AC/SRS into an executable test plan (scenarios, seed, selector gaps) for the test-loop workflow. Use for independent test-plan generation from stable requirements.