Senior QA
alirezarezvani/claude-skills
Generates unit tests, integration tests, and E2E tests for React/Next.js applications.
Scaffolds URL-state filters for a Next.js page — typed searchParams.ts parser map and a <Filters / client component backed by useQueryStates.
$ npx skills add pproenca/dot-skills --skill nuqs-scaffolder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pproenca/dot-skills nuqs-scaffolder --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/nuqs-scaffolder .claude/skills/nuqs-scaffolder && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "nuqs-scaffolder" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.curated/nuqs-scaffolder into .claude/skills/nuqs-scaffolder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nuqs-scaffolder", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/pproenca/dot-skills/tree/master/skills/.curated/nuqs-scaffolderType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add pproenca/dot-skills --skill nuqs-scaffolder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pproenca/dot-skills nuqs-scaffolder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/.curated/nuqs-scaffolder .agents/skills/nuqs-scaffolder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "nuqs-scaffolder" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.curated/nuqs-scaffolder into .agents/skills/nuqs-scaffolder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nuqs-scaffolder", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pproenca/dot-skills --skill nuqs-scaffolder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pproenca/dot-skills nuqs-scaffolder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/.curated/nuqs-scaffolder .cursor/skills/nuqs-scaffolder && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "nuqs-scaffolder" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.curated/nuqs-scaffolder into .cursor/skills/nuqs-scaffolder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nuqs-scaffolder", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/pproenca/dot-skills.git --path skills/.curated/nuqs-scaffolder--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add pproenca/dot-skills --skill nuqs-scaffolder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pproenca/dot-skills nuqs-scaffolder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/.curated/nuqs-scaffolder .gemini/skills/nuqs-scaffolder && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "nuqs-scaffolder" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.curated/nuqs-scaffolder into .gemini/skills/nuqs-scaffolder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nuqs-scaffolder", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install pproenca/dot-skills nuqs-scaffolderInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add pproenca/dot-skills --skill nuqs-scaffolder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/.curated/nuqs-scaffolder .github/skills/nuqs-scaffolder && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "nuqs-scaffolder" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.curated/nuqs-scaffolder into .github/skills/nuqs-scaffolder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nuqs-scaffolder", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pproenca/dot-skills --skill nuqs-scaffolder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pproenca/dot-skills nuqs-scaffolder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/.curated/nuqs-scaffolder .opencode/skills/nuqs-scaffolder && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "nuqs-scaffolder" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.curated/nuqs-scaffolder into .opencode/skills/nuqs-scaffolder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nuqs-scaffolder", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
nuqs-scaffolderScaffolds URL-state filters for a Next.js page — typed searchParams.ts parser map and a <Filters / client component backed by useQueryStates.
Nuqs Scaffolder is an agent skill from pproenca/dot-skills. Scaffolds URL-state filters for a Next.js page — typed searchParams.ts parser map and a <Filters / client component backed by useQueryStates. From a single JSON spec, generates four files in lockstep — client parser map, server loader/cache/serializer, client component, and Vitest test — all sharing the same parser definitions per the nuqs Standard Schema pattern. Trigger even when the user only says "add filters to /search" or "I need a typed query string for this page" — both are exactly this skill's job.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including reference files and assets (for example `AGENTS.md`, `config.json` and `gotchas.md`).
It sits in Testing & QA, covering Project scaffolding and Unit testing. It works with Next.js and Vitest. The repository describes itself as: A collection of AI agent skills following the Agent Skills open format. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit cf93c57. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are jsonc).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Nuqs Scaffolder loads about 1.8k tokens when it runs, and up to ~3.5k if it reads all its reference files. Until then it costs about 134 tokens; SKILL.md has 605 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from pproenca/dot-skills at commit cf93c57, republished under its MIT licence (© pproenca). 605 words, ~1,803 tokens.
.claude/skills/nuqs-scaffolder/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Generate a coherent set of nuqs files from one spec. The skill is template-driven — you read the spec, copy the templates, and substitute placeholders. No build step, no codegen runtime; the templates ARE the artifact.
Use this skill when:
useState filters onto nuqssearchParams.server.ts already exports the schemaIf the codebase has legacy nuqs patterns instead, run the nuqs-codemod-runner skill first.
assets/templates/spec.template.json and fill in name, module, and params. See "Spec Format" below.config.json (overridable per-call).The agent does the rendering — Claude is the templating engine. Each template is annotated with markers (/*= ... =*/) that name the placeholder slot and document the substitution rule.
{
"name": "Search", // PascalCase — drives the exported symbol names
"module": "search", // kebab-case — drives file paths and the "module" folder
"params": {
"q": { "type": "string", "default": "" },
"page": { "type": "integer", "default": 1 },
"limit": { "type": "integer", "default": 10 },
"categories": { "type": "array-of-string-native", "default": [] },
"sort": { "type": "string-literal", "values": ["asc","desc"], "default": "asc" },
"minPrice": { "type": "float", "default": null },
"lastSeen": { "type": "iso-date", "default": null }
}
}type valuestype | Parser used | Notes |
|---|---|---|
string | parseAsString | |
integer | parseAsInteger | |
float | parseAsFloat | |
boolean | parseAsBoolean | |
iso-date | parseAsIsoDate | Date-only |
iso-date-time | parseAsIsoDateTime | Date + time |
timestamp | parseAsTimestamp | ms since epoch |
hex | parseAsHex | Numeric value, hex URL form |
index | parseAsIndex | 0-based in code, 1-based in URL |
array-of-string | parseAsArrayOf(parseAsString) | ?tags=a,b,c |
array-of-string-native | parseAsNativeArrayOf(parseAsString) | ?tag=a&tag=b — requires nuqs ≥ 2.7 |
string-literal | parseAsStringLiteral(values) | Requires values: string[] |
number-literal | parseAsNumberLiteral(values) | Requires values: number[] |
json | parseAsJson(SchemaName.parse) | Generates a Zod schema stub; mark default separately |
If default is null, the param is nullable; otherwise the template uses .withDefault(...).
| Template | Renders to (default) | Loaded when |
|---|---|---|
searchParams.ts.template | lib/{module}-search-params.ts | Always |
searchParams.server.ts.template | lib/{module}-search-params.server.ts | Always |
filters.tsx.template | components/{module}/{name}-filters.tsx | Always |
filters.test.tsx.template | components/{module}/{name}-filters.test.tsx | If config.generate_tests is true |
spec.json.template | Anywhere — starter for the user | First-run prompt |
Template files end in .template so editors don't apply syntax highlighting to placeholder markers — the original extension is preserved as the suffix-before-.template so you can still tell at a glance what the rendered file will be.
Paths are configurable in config.json — override globs, file naming style (kebab vs PascalCase), and whether tests are emitted.
All templates use the same placeholder syntax. The agent substitutes them in one pass:
| Placeholder | Source | Example |
|---|---|---|
__NAME__ | spec.name | Search |
__name__ | camelCase form of spec.name | search |
__module__ | spec.module | search |
/*= PARSERS =*/ | Iterate spec.params → key: parseAsXxx.withDefault(...) lines | see template |
/*= COMPONENT_FIELDS =*/ | Iterate spec.params → one input/select per type | see template |
/*= TEST_CASES =*/ | Iterate spec.params → one assertion per default | see template |
/*= NULLABLE_IMPORTS =*/ | Add Nullable helper import if any param is nullable | conditional |
/*= ZOD_SCHEMAS =*/ | For json type params, emit a Zod schema stub | conditional |
/*= ... =*/ markers are instructions to the agent, not literal substitutions. Replace the entire marker (including the /*= =*/ delimiters) with the expanded content.
Read references/conventions.md for:
app/config.json is pre-populated with sensible Next.js App Router defaults. Override only if your repo uses different conventions:
{
"lib_dir": "lib",
"components_dir": "components",
"generate_tests": true,
"test_runner": "vitest"
}On first use, the agent should ask the user for the spec via AskUserQuestion if no spec file is provided.
nuqs — Best-practice reference these templates encode. Read it to understand WHY the templates are shaped this way.nuqs-codemod-runner — Run BEFORE this skill if migrating an existing page from pre-v2.5 nuqs.See gotchas.md for edge cases discovered during use.
© pproenca, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (references, assets) in skills/.curated/nuqs-scaffolder of pproenca/dot-skills.
Open the folder on GitHubat commit cf93c57
Nuqs Scaffolder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Nuqs Scaffolder this skillpproenca/dot-skills | 215 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Senior QAalirezarezvani/claude-skills | 28k | 1 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Npx CLIjwynia/agent-skills | 166 | — | ~2.4k | Automated safety check: Pass | None | |
| VitestAsymmetric-al/core | 381 | — | ~1.1k | Automated safety check: Pass | AGPL-3.0 | |
| Test GenerationEmeaAppGbb/spec2cloud | 100 | — | ~5.5k | Automated safety check: Pass | MIT | |
| Senior QAborghei/Claude-Skills | 881 | — | ~1.6k | Automated safety check: Pass | MIT |
alirezarezvani/claude-skills
Generates unit tests, integration tests, and E2E tests for React/Next.js applications.
jwynia/agent-skills
Build and publish npx-executable CLI tools using Bun as the primary toolchain with npm-compatible output.
Asymmetric-al/core
Write, review, filter, mock, and debug Core unit tests with the repository's installed Vitest 4 configuration.
EmeaAppGbb/spec2cloud
Generate BDD test code from Gherkin scenarios. An agent skill from EmeaAppGbb/spec2cloud.
borghei/Claude-Skills
Testing for React/Next.js with Jest, React Testing Library, and Playwright.
HoangNguyen0403/agent-skills-standard
Write Jest or Vitest unit tests with React Testing Library and Playwright E2E tests for Next.js projects.
pproenca/dot-skills
Audio forensics and voice recovery guidelines for CSI-level audio analysis.
pproenca/dot-skills
Guided, scripted pipeline for running JSX/TSX/React codemods safely across large legacy codebases.
pproenca/dot-skills
Create well-structured RFCs and technical proposals for software projects.
pproenca/dot-skills
Developer-experience friction auditing and fixing — slow onboarding, repeated manual setup steps, missing bootstrap/reset/seed scripts, undiscoverable conventions.
pproenca/dot-skills
Turn a rough idea for a language into a complete, implementable specification — a DSL, query, config/data, template, or protocol language — by interviewing the author dimension by dimension until…
pproenca/dot-skills
Drafting Python Enhancement Proposals (PEPs) — proposing a Python language feature, a standard library change, an interoperability standard, or an informational/process document for the Python…
Categories
Scaffolds URL-state filters for a Next.js page — typed searchParams.ts parser map and a <Filters / client component backed by useQueryStates. Nuqs Scaffolder is an agent skill from pproenca/dot-skills.ts parser map and a <Filters / client component backed by useQueryStates.
Nuqs Scaffolder fits situations like: even when the user only says add filters to /search; I need a typed query string for this page — both are exactly this skills job.
Run `npx skills add pproenca/dot-skills --skill nuqs-scaffolder -a claude-code`. Or copy the skill folder (skills/.curated/nuqs-scaffolder in pproenca/dot-skills) into .claude/skills/nuqs-scaffolder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pproenca/dot-skills --skill nuqs-scaffolder -a codex`. Or copy the skill folder (skills/.curated/nuqs-scaffolder in pproenca/dot-skills) into .agents/skills/nuqs-scaffolder in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pproenca/dot-skills --skill nuqs-scaffolder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nuqs-scaffolder, .gemini/skills/nuqs-scaffolder, .github/skills/nuqs-scaffolder and .opencode/skills/nuqs-scaffolder in your project.
SKILL.md names no scripts, command-line tools or credentials: Nuqs Scaffolder is instructions for the agent only. Our summary lists: Node.js.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Nuqs Scaffolder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Nuqs Scaffolder: Senior QA (alirezarezvani/claude-skills, 28k stars), Npx CLI (jwynia/agent-skills, 166 stars), Vitest (Asymmetric-al/core, 381 stars) and Test Generation (EmeaAppGbb/spec2cloud, 100 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pproenca (a GitHub user) maintains it in pproenca/dot-skills, which has 215 GitHub stars. The repository holds 41 skills in this directory. The repository was last updated on August 15, 2026.
Source: pproenca/dot-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.