graphql-n-plus-one-remediation SKILL.md skillA

graphql-n-plus-one-remediation from testland/qa is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add testland/qa/graphql-n-plus-one-remediation@git:20260813.0ecb572

Pins git:20260813.0ecb572 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
testland/qa
Path
plugins/qa-graphql/skills/graphql-n-plus-one-remediation/SKILL.md
Versions recorded
3
Latest version
git:20260813.0ecb572, committed Aug 13, 2026
First version recorded
Jul 20, 2026
Size
13,292 bytes
Repository stars
11
License
MIT

Detects and fixes the GraphQL N+1 pattern: scans a repo, PR diff, or schema type for list-returning resolvers (grep-driven detection workflow), traces the resolver tree to locate the fan-out (one parent query returns N rows, then a child field resolver fires once per row), classifies every child field resolver as safe or N+1 risk, and applies one of three fixes: per-request DataLoader batching, eager projection in the parent resolver, or selection-set-aware prefetch. Use when reviewing a PR…

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# graphql-n-plus-one-remediation

## What N+1 looks like in a resolver tree

One field returns a list of N rows. The executor then invokes the resolver
for each inner field once per row, so if `Query.topReviews` returns ten
reviews the executor resolves `Review.product` ten times, and a data-source
call in that child field becomes ten calls
([apollographql.com](https://www.apollographql.com/docs/graphos/schema-design/guides/handling-n-plus-one)).
So 1 outer query plus N inner queries equals N+1.

```typescript
// Parent resolver fetches N posts
posts: () => db.posts.findMany({ limit: 50 })

// Inner field-resolver fires once per post (50 DB calls)
Post: {
  author: (post) => db.users.findOne({ where: { id: post.authorId } }),
}
```

GraphQL makes the pattern easy to hit because the resolver tree, not the
caller, decides how many times a child field runs.

Observable symptoms (practitioner heuristics, not standardised
thresholds):

- Tail latency on a list field grows roughly in proportion to the number
  of rows the list returns.
- Database connection pool exhaustion under modest GraphQL request rates.
- A resolver-level trace shows the child field resolved once per parent
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add testland/qa/graphql-n-plus-one-remediation@sha256:6fa0306b7c977f74

The line at the top of this page pins the label git:20260813.0ecb572, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_qmyocpbf4lkff7qt.svg)](https://markdownregistry.com/a/art_qmyocpbf4lkff7qt)

1 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 3 versions of this file, between Jul 20, 2026 and Aug 13, 2026, about one every 12 days.

versioncommittedcommitsizeaudit
git:20260813.0ecb572 latest2026-08-13 0ecb572 13,292 BA view · diff
git:20260728.1bce4242026-07-28 1bce424 12,354 BA view · diff
git:20260720.22d020c2026-07-20 22d020c 17,662 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (13292 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

testland/qa · 11 stars · license MIT · pushed 2026-10-20 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_qmyocpbf4lkff7qt
GET https://markdownregistry.com/api/v1/resolve?ref=testland/qa/graphql-n-plus-one-remediation
GET https://markdownregistry.com/api/v1/blob/6fa0306b7c977f74c3a3b0e92b7fa19e0c6a38f072af66d8dc4a171aa4c3d524

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from testland/qa

CLAUDE.md CLAUDE.md file
testland/qa · CLAUDE.md
git:20261011.164aa71 · audit A · 11 stars
a11y-violation-gate SKILL.md skill
testland/qa · plugins/qa-accessibility/skills/a11y-violation-gate/SKILL.md · Builds a CI gate that fails the build on **new** WCAG / a11y violations introduced by a PR while grandfathering…
git:20260813.84b37f4 · audit A · 11 stars
aria-authoring-patterns SKILL.md skill
testland/qa · plugins/qa-accessibility/skills/aria-authoring-patterns/SKILL.md · Reference for the W3C ARIA Authoring Practices Guide (APG) - covers the 31 canonical interactive-widget patterns…
git:20260813.84b37f4 · audit A · 11 stars
axe-a11y SKILL.md skill
testland/qa · plugins/qa-accessibility/skills/axe-a11y/SKILL.md · Automated accessibility scanning across the five engines - axe-core (primary), pa11y, Lighthouse a11y, WAVE, and IBM…
git:20260813.84b37f4 · audit B · 11 stars
screen-reader-test-author SKILL.md skill
testland/qa · plugins/qa-accessibility/skills/screen-reader-test-author/SKILL.md · Builds the full manual-accessibility artifact surface: step-by-step screen-reader test scripts for NVDA (Windows), JAWS…
git:20260813.84b37f4 · audit A · 11 stars
wcag-color-contrast SKILL.md skill
testland/qa · plugins/qa-accessibility/skills/wcag-color-contrast/SKILL.md · Reference for WCAG 2.2 color-contrast conformance - covers SC 1.4.3 Contrast (Minimum, AA), 1.4.6 Contrast (Enhanced…
git:20260813.84b37f4 · audit A · 11 stars
wcag-compliance-reporter SKILL.md skill
testland/qa · plugins/qa-accessibility/skills/wcag-compliance-reporter/SKILL.md · Builds a per-page WCAG 2.2 compliance score report by aggregating output from one or more accessibility scanners…
git:20260813.84b37f4 · audit A · 11 stars
wcag-keyboard-navigation SKILL.md skill
testland/qa · plugins/qa-accessibility/skills/wcag-keyboard-navigation/SKILL.md · Reference catalog for WCAG 2.2 keyboard-navigation conformance - covers SC 2.1.1 (Keyboard), 2.1.2 (No Keyboard Trap)…
git:20260813.84b37f4 · audit A · 11 stars
ai-spec-coverage-mapper SKILL.md skill
testland/qa · plugins/qa-ai-assisted/skills/ai-spec-coverage-mapper/SKILL.md · Build-an-X workflow that uses an LLM to map existing tests to spec sections - given a spec doc + the test suite, the…
git:20260813.83125c6 · audit A · 11 stars
ai-test-generator SKILL.md skill
testland/qa · plugins/qa-ai-assisted/skills/ai-test-generator/SKILL.md · Generates tests from natural-language specs (acceptance criteria, user stories, requirements) using an LLM, with…
git:20260813.83125c6 · audit A · 11 stars
model-based-test-graph-author SKILL.md skill
testland/qa · plugins/qa-ai-assisted/skills/model-based-test-graph-author/SKILL.md · Build-an-X workflow for model-based testing (MBT) per the canonical definition - authors a state-machine model of the…
git:20260813.099f6f5 · audit A · 11 stars
api-chaos-runner SKILL.md skill
testland/qa · plugins/qa-api-testing/skills/api-chaos-runner/SKILL.md · Runs the project's existing API tests under injected network chaos - latency, timeouts, dropped connections, bandwidth…
git:20260726.19ddd36 · audit A · 11 stars

Every file in testland/qa

Browse by kind, by grade A, or by owner.