CtrlK
BlogDocsLog inGet started
Tessl Logo

you-might-not-need-url-state

Analyze and fix URL/query-param state anti-patterns — manual useSearchParams reads, hand-built query mutations, view-state trapped in useState, and objects in the URL

55

Quality

62%

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/you-might-not-need-url-state/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

66%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 body is a well-structured, dense instruction set that assumes Claude's competence and points to a clear source-of-truth rule file. Its main weaknesses are the absence of a validation checkpoint in the fix workflow and no inline code examples for the named wirings.

Suggestions

Add an explicit verification step to the workflow, e.g. 'After applying fixes, run typecheck/build and confirm no remaining useSearchParams reads or hand-built query mutations in the scope.'

Include one or two short copy-paste code snippets showing the canonical search-params.ts + useUrlSort / useDebouncedSearchSetter wiring to make the guidance fully executable.

Move the detailed helper catalog and the anti-pattern enumeration into a co-located reference file, keeping SKILL.md as a tighter overview.

DimensionReasoningScore

Conciseness

The body is dense and mostly assumes Claude's competence — it names the helpers, carve-outs, and conventions without explaining what React Query or useState is — with only a few phrases that could be tightened further.

4 / 5

Actionability

It names concrete imports and functions to use (createSortParams, useUrlSort, useDebouncedSearchSetter, useSettingsSearch, createSearchParamsCache) and exact replacement targets, but provides no code snippets showing the wiring, leaving minor execution gaps.

4 / 5

Workflow Clarity

The four-step sequence is clear, but this is a fix-applying (potentially batch/destructive) workflow that lacks an explicit validate/verify checkpoint before or after applying fixes, so per the rubric cap it cannot exceed 3.

3 / 5

Progressive Disclosure

Structure is good with clear sections and a one-level-deep References list (the rule file plus nuqs doc URLs) that is clearly signaled; the only gap is that several inlined helper/import catalogs might be better split into a reference file.

4 / 5

Total

15

/

20

Passed

Description

58%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 specific and clearly distinct, naming concrete anti-patterns rather than vague capabilities. Its main weakness is the missing explicit 'Use when...' trigger clause and reliance on internal API terms over natural user phrases.

Suggestions

Add an explicit trigger clause such as 'Use when reviewing or refactoring URL/query-param state, or when the user mentions URL state, shareable filters, or deep-linkable view-state.'

Include natural user-facing synonyms (e.g., 'shareable filters', 'deep links', 'URL sync') alongside the internal API names like useSearchParams.

Consider grouping the listed anti-patterns under a single capability framing so the description reads as discrete actions rather than a long enumerated phrase.

DimensionReasoningScore

Specificity

Names the domain (URL/query-param state) and lists multiple concrete actions — 'manual useSearchParams reads', 'hand-built query mutations', 'view-state trapped in useState', and 'objects in the URL' — though these are anti-patterns to fix rather than discrete capabilities, leaving minor coverage gaps.

4 / 5

Completeness

It gives a clear 'what' (analyze and fix specific URL/query-param anti-patterns) but provides no explicit 'Use when...' trigger clause, which the rubric caps at 3.

3 / 5

Trigger Term Quality

It contains technically relevant terms (useSearchParams, query-param, useState, URL state) but these are internal API names rather than the natural phrases a user would say when they need the skill, and it lacks common synonyms users actually speak.

3 / 5

Distinctiveness Conflict Risk

The niche is distinct — nuqs-backed URL view-state migration — with triggers tied to specific anti-patterns, so overlap risk with other skills is minor despite some generality of the 'state' framing.

4 / 5

Total

14

/

20

Passed

Validation

93%

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

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
simstudioai/sim
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.