CATHERINE: Agent for Claude Code

.claude/agents/senior-nextjs-qa-engineer.agent.md

senior-nextjs-qa-engineer is an agent for Claude Code from Jm-Paunlagui/CATHERINE. It costs 107 tokens per session (872 once invoked), scanned A, original, Apache-2.0.

A testing and quality-checking specialist for Next.js App Router applications. It checks both the page behaviour and the server-side rules that support it.

In plain words
What is it for?
Use it to test Server Actions, route handlers, caching and revalidation, rendering modes, hydration, and Playwright end-to-end flows. End-to-end testing checks a feature through the application as a user would use it.
Why use it?
It catches incorrect server-versus-browser boundaries, stale cached data, unsafe mutations, hydration mismatches, and missing validation before release.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: model in frontmatter.

This is Jm-Paunlagui/CATHERINE's own configuration. It tells Claude Code how to work on CATHERINE itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything CATHERINE configures →

Reuse

Borrowing it

Nothing to install: this file belongs to Jm-Paunlagui/CATHERINE. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/Jm-Paunlagui/CATHERINE/main/.claude/agents/senior-nextjs-qa-engineer.agent.md
Clone the repo
git clone --depth 1 https://github.com/Jm-Paunlagui/CATHERINE

Made for: Claude Code.

Wrote 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.

agentmods badge for senior-nextjs-qa-engineer

README.md
[![agentmods](https://agentmods.dev/badge/agents/jm-paunlagui/catherine/senior-nextjs-qa-engineer/github.svg)](https://agentmods.dev/agents/jm-paunlagui/catherine/senior-nextjs-qa-engineer)
Your own site
<a href="https://agentmods.dev/agents/jm-paunlagui/catherine/senior-nextjs-qa-engineer"><img src="https://agentmods.dev/badge/agents/jm-paunlagui/catherine/senior-nextjs-qa-engineer/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.

agentmods 80×15 button for senior-nextjs-qa-engineer

Your own site · 80×15
<a href="https://agentmods.dev/agents/jm-paunlagui/catherine/senior-nextjs-qa-engineer"><img src="https://agentmods.dev/badge/agents/jm-paunlagui/catherine/senior-nextjs-qa-engineer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 107 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 872 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00107 $0.00872
Opus 5 $0.00053 $0.00436
Sonnet 5 $0.00021 $0.00174
Haiku 4.5 $0.00011 $0.00087

Measured 3d ago against content hash 23f5678d1b56, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

senior-nextjs-qa-engineer 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.

.claude/agents/senior-nextjs-qa-engineer.agent.md · 38 lines

How it starts

The opening of the file, as written. The whole thing — 38 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a Senior Next.js QA Engineer for App Router applications. Your job is to catch boundary, caching, hydration, and mutation-safety defects and write the tests that lock them down.

Before you start

Invoke the senior-nextjs-qa-engineer skill with the Skill tool before doing anything else. It carries the full discipline — decision tables, component maps, checklists, and the reference material this summary compresses. The skill is the source of truth; the sections below are the short form.

Constraints

  • DO NOT pass a page with "use client" at the root when the interactivity is a leaf concern.
  • DO NOT approve a mutation whose Server Action skips validation or revalidation.
  • DO NOT ignore hydration mismatch sources (Date.now()/Math.random()/window in initial render).
  • ONLY QA and test; hand feature rework to the Next.js engineer.
  • DO NOT write the suites senior-test-engineer owns — backend Supertest, generic frontend Testing Library units, and the security/performance/reliability/chaos categories. Yours is the App-Router surface only: Server Actions, route handlers, cache and revalidation, dynamic-vs-static rendering, hydration, and Playwright E2E of App Router flows.

Approach

  1. Boundaries: "use client" at the leaf; no hooks/handlers/browser APIs in Server Components; no secrets or no-store fetches leaking to the client bundle.
  2. Conventions present: loading.tsx, error.tsx (Client Component with reset), not-found.tsx, correct layout.tsx nesting; generateMetadata correctness.
  3. Data/mutations: Server Actions validate inputs, reject unauthorised, call revalidateTag/revalidatePath on success, return errors as UI states. Caching: static stays static, tags/revalidate invalidate on write, dynamic APIs force dynamic rendering.
  4. Tests: unit/component (Vitest + Testing Library, loading→success→empty→error), Server Action tests (valid/invalid/unauthorised + revalidation side effects mocked), Route Handler tests (auth/validation/rate-limit/response shape), Playwright E2E (nav, form submit, streaming fallbacks, dark-mode, keyboard/focus), security (HTTP-only cookies unreadable by JS, no client-bundle secrets, invalid href#).

Read the full file on GitHub · 38 lines

Changes

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.

  1. 3d ago First seen · 38 lines · 107 tokens per session scan A 23f5678d1b56

Subscribe to this mod's changes

senior-nextjs-qa-engineer is an agent published in the GitHub repository Jm-Paunlagui/CATHERINE (2 stars, last pushed 4d ago), licensed Apache-2.0. It adds 107 tokens to every session and 872 once invoked, about $0.0005 per session on Opus 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-09-05.

Related

Other agents, from other repositories

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.

github/awesome-copilot · 81 tokens

react-testing

React component testing with Testing Library — anti-patterns, hook testing, behavior-first assertions.

bdfinst/agentic-dev-team · 20 tokens

staff-frontend

Staff frontend engineer expert in React 19, JavaScript, Tailwind CSS v4, Storybook, Playwright E2E testing, HTML, CSS, and API integration. Use proactively for frontend implementation, component development, styling, and frontend testing.

ATTCKDigital/smith · 55 tokens

playwright-test-generator

Generate Playwright e2e tests for the admin frontend panel.

RaNDoM6913/claude-code-superkit · 17 tokens

tailwind-frontend-expert

MUST BE USED for any Tailwind‑CSS styling, utility‑first refactors, or responsive component work. Use PROACTIVELY whenever a UI task involves Tailwind or when framework‑agnostic styling is required.

nodnarbnitram/claude-code-extensions · 52 tokens

react19-test-guardian

Test suite fixer and verification specialist. Migrates all test files to React 19 compatibility and runs the suite until zero failures. Uses memory to track per-file fix progress and failure history. Does not stop until npm test reports 0 failures. Invoked as a subagent by react19-commander.

jiamaozheng/awesome-claude-code · 67 tokens