CtrlK
BlogDocsLog inGet started
Tessl Logo

nextjs-use-search-params-suspense

Pattern for using useSearchParams hook with Suspense boundary in Next.js. Covers the required combination of 'use client' directive and Suspense wrapper when accessing URL query parameters in client components. Use when building search interfaces, filters, pagination, or any feature that needs to read/manipulate URL query parameters client-side.

64

Quality

77%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/nextjs-use-search-params-suspense/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is highly actionable with complete executable examples and a clear checklist, but it is padded with many repetitive code blocks and unnecessary conceptual explanations for a simple pattern. Tightening the examples and trimming known-concept explanations would significantly improve token efficiency.

Suggestions

Consolidate the seven-plus near-duplicate example files into one canonical example plus a couple of short variations, removing repetitive boilerplate.

Cut explanations of concepts Claude already knows (e.g., what Suspense does for SSR/hydration) and keep only the Next.js-specific requirement and rationale.

Split the extended examples (product filters, pagination, debounce) into a separate references file linked from a concise main body to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The body restates the same 'use client' + Suspense pattern across seven-plus largely repetitive full code blocks and explains concepts Claude already knows (e.g., "Next.js uses React 18's Suspense to handle the async nature..."), making it noticeably verbose for a simple single-purpose pattern.

2 / 5

Actionability

All examples are complete, executable, copy-paste-ready TypeScript covering the common cases (reading, updating, debouncing, pagination, multiple filters) with correct imports and usage.

5 / 5

Workflow Clarity

The single pattern is unambiguous and supported by an explicit Quick Checklist, but URL-mutating flows via router.push lack explicit validation checkpoints, leaving a minor validation gap.

4 / 5

Progressive Disclosure

The single SKILL.md is well-organized into clearly headed sections with a comparison table and checklist, though the heavy volume of inlined examples could be trimmed or split rather than kept all inline.

4 / 5

Total

15

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is clear, specific, and answers both what the skill does and when to use it with concrete trigger phrases. Trigger-term coverage is strong with only minor synonym gaps.

DimensionReasoningScore

Specificity

Names the domain and several concrete scenarios ("search interfaces, filters, pagination", "read/manipulate URL query parameters") plus the specific 'use client' + Suspense combination, with only minor gaps in lower-level action detail.

4 / 5

Completeness

Explicitly answers both what (the 'use client' + Suspense pattern for useSearchParams) and when ("Use when building search interfaces, filters, pagination...") with concrete trigger phrases.

5 / 5

Trigger Term Quality

Includes natural user-facing terms ("search interfaces, filters, pagination", "URL query parameters", "Next.js") but is missing some common synonyms like "query string" or "URL params".

4 / 5

Distinctiveness Conflict Risk

Targets a clear Next.js App Router niche with distinct triggers, making overlap with other skills minimal.

5 / 5

Total

18

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (574 lines); consider splitting into references/ and linking

Warning

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

Total

14

/

16

Passed

Repository
AzizBelhassan/timeverse
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.