Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add gohypergiant/agent-skills --skill accelint-react-testinggit clone --depth 1 https://github.com/gohypergiant/agent-skillsWrote 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/skills/gohypergiant/agent-skills/accelint-react-testing)<a href="https://agentmods.dev/skills/gohypergiant/agent-skills/accelint-react-testing"><img src="https://agentmods.dev/badge/skills/gohypergiant/agent-skills/accelint-react-testing/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/skills/gohypergiant/agent-skills/accelint-react-testing"><img src="https://agentmods.dev/badge/skills/gohypergiant/agent-skills/accelint-react-testing.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00124 | $0.03218 |
| Opus 5.5 | $0.00050 | $0.01287 |
| Sonnet 5.5 | $0.00025 | $0.00644 |
| Haiku 4.5 | $0.00012 | $0.00322 |
Grade A, and why
accelint-react-testing 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 1mo 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 — 172 lines — stays where its author put it; the contents beside it link to each section on GitHub.
React Testing Best Practices
Expert guidance for writing maintainable, user-centric React component tests with Testing Library. Focused on query selection, accessibility-first testing, and avoiding implementation details.
NEVER Do When Writing React Tests
- NEVER query by test IDs before trying accessible queries - Test IDs bypass accessibility verification: a button with
data-testid="submit"but no accessible name works in tests but fails for screen reader users. When tests pass with test IDs, you ship inaccessible UIs. Query hierarchy:getByRole>getByLabelText>getByText>getByTestId. Each step down this list means less confidence your UI is usable. - NEVER use
fireEventfor user interactions whenuserEventis available -fireEventdispatches single DOM events, missing the event sequence real users trigger:fireEvent.click()fires one click event, but real users trigger focus → mousedown → mouseup → click. Components that work with fireEvent break in production when users interact normally.userEvent.click()simulates the full interaction sequence, catching bugs fireEvent misses. - NEVER test implementation details instead of user behavior - Tests that verify "state variable X equals Y" or "function Z was called" create false failures: you refactor from useState to useReducer, all tests fail, yet the UI works identically. Testing implementation details punishes refactoring and provides zero confidence the user experience works. Test what users see and do (rendered output, interaction results), not how your component achieves it internally.
- NEVER query from
containeror use destructured queries after initial render -const { getByText } = render(<Component />)creates stale queries that miss updates: after state changes, destructured queries search the initial DOM snapshot, missing newly rendered elements. This causes "element not found" errors for elements that are actually present. Always usescreen.getByText()which automatically queries the current DOM state. Using screen consistently also makes tests more maintainable - adding a new query doesn't require updating the destructuring. - NEVER add aria-label or role attributes solely for tests - If you're adding
aria-label="submit-button"orrole="button"just so tests can find elements, you're working backwards. Tests should verify the component is already accessible, not make it accessible for tests. Adding test-only ARIA pollutes production code and masks real accessibility problems. Fix the component's semantic HTML and existing ARIA first. - NEVER snapshot entire component trees without specific assertions - Massive snapshots with 500+ lines break on any change (updated classname, new prop, reordered elements), forcing reviewers to approve diffs they can't meaningfully evaluate. When test failures require "just update the snapshot" without understanding why, the test has zero value. Snapshot specific critical structures (error messages, data tables) with targeted assertions for everything else.
- NEVER use
waitForfor actions that return promises -waitFor(() => expect(element).toBeInTheDocument())polls repeatedly until timeout when a promise-basedfindByquery solves it in one shot:await screen.findByText('loaded')waits for the element to appear without polling. Reserve waitFor for assertions that can't use findBy (checking element disappears, waiting for attribute changes). - NEVER perform side effects inside waitFor callback -
waitFor(() => { fireEvent.click(button); expect(text).toBeInTheDocument(); })runs the click multiple times as waitFor retries, causing unpredictable behavior. waitFor is for waiting on assertions, not triggering actions. Perform all actions outside waitFor, then use waitFor only for the assertion:fireEvent.click(button); await waitFor(() => expect(text).toBeInTheDocument());or better yet,await userEvent.click(button); expect(await screen.findByText(text)).toBeInTheDocument();. - NEVER create custom renders without documenting provider requirements - A custom
renderWithReduxfunction with undocumented required store shape breaks for every developer: they callrender(<Component />)instead ofrenderWithRedux(), tests fail with cryptic "Cannot read property of undefined", wasting 15 minutes debugging. Centralize provider setup in test utils with TypeScript types that enforce correct usage, or document required wrappers prominently. - NEVER mix queries from different Testing Library imports - Importing both
@testing-library/reactrender and@testing-library/domqueries creates confusion:screenfrom react package doesn't work withgetByRolefrom dom package, causing "screen.getByRole is not a function" errors. Import all queries from@testing-library/reactfor React components - it re-exports everything from dom with React-specific enhancements.
What ships with it
14 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- AGENTS.md 3.2 KB
- assets/custom-render-template.tsx 4.0 KB
- assets/output-report-template.md 10 KB
- README.md 3.4 KB
- references/accessibility-queries.md 8.5 KB
- references/anti-patterns.md 12 KB
- references/async-testing.md 7.8 KB
- references/custom-render.md 9.2 KB
- references/query-priority.md 7.0 KB
- references/query-variants.md 10 KB
- references/user-events.md 10 KB
- scripts/check-query-priority.sh 2.4 KB runs code
- scripts/detect-wrapper-queries.sh 2.9 KB runs code
- scripts/find-fire-event.sh 2.6 KB runs code
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.
- 1mo ago First seen · 172 lines · 124 tokens per session scan A 9744f94ea0d0
accelint-react-testing is a skill published in the GitHub repository gohypergiant/agent-skills (25 stars, last pushed 9d ago), licensed Apache-2.0. It adds 124 tokens to every session and 3,218 once invoked, about $0.0005 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-08-30.
Other skills, from other repositories
react-native-testing
Write tests using React Native Testing Library (RNTL) v13 and v14 (@testing-library/react-native). Use when writing, reviewing, or fixing React Native component tests. Covers: render, screen, queries (getBy/getAllBy/queryBy/findBy), Jest matchers, userEvent, fireEvent, waitFor, and async patterns. Supports v13 (React…
vitest
Set up Vitest testing in any project — detects type (Cloudflare Workers, React, Node, library), generates vitest.config.ts, test setup, utilities, and a sample test. Covers mocking patterns, coverage config, workspace setup, Jest migration. Use whenever the user mentions adding tests, setting up Vitest, configuring…
verify-work
Verify feature, bug, UI, API, mobile, security, or deployment work against acceptance criteria.
authoring-data-quality-checks
Adds and runs data quality checks (dbt-test style assertions) on a project's warehouse tables and saved-query views, and HogQL catalog metrics: not-null, uniqueness, accepted values, referential integrity, row-count bounds, freshness, and custom HogQL. Metrics support custom SQL checks only. Use when asked to test a…
appbuilder-testing
Generate and run tests for Adobe App Builder actions and UI components. Scaffolds Jest unit tests, integration tests against deployed actions, contract tests for Adobe API interactions, and React component tests using Testing Library. Provides mock helpers for State, Files, Events SDKs, @adobe/aio-lib- clients, ExC…
authoring-benchmarks
Design, implement, run, debug, and interpret browser performance benchmarks for Elements components and utilities. Use whenever the user asks to benchmark or performance-test runtime code, create or update a .test.bench.ts file, compare benchmark results, investigate a browser performance regression, understand Vitest…