CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

upstash-search-js

Work with the @upstash/search TypeScript/JavaScript SDK, a serverless full-text and semantic search database with built-in reranking. Use when adding search to an app or site, creating a search index, upserting documents with searchable content and filterable metadata, running keyword, semantic, or hybrid search queries, reranking results, filtering with SQL-like or structured filter syntax, paginating with range, fetching or deleting documents, resetting an index, or checking index info. Also use when the user asks for site search, product, document, or knowledge-base search, or a managed search service that needs no cluster to run.

Quality

84%

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

SKILL.md
Quality
Evals
Security

Quality

Content

75%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.

A well-structured, efficient overview body: an executable quick start, a smart pointer to the package's bundled docs and source, and clearly signaled delegation of details to sibling skill files. All dimensions sit solidly at 4 — each has minor, specific gaps (redundant bullets, single-example coverage, no error-recovery guidance, unlinked references) that keep it from 5.

Suggestions

Add one short inline example for the next most common case after upsert+search — e.g., a filtered search using the SQL-like or structured filter syntax — so actionability covers the common cases without waiting on the referenced files.

Replace the redundant 'Basic steps' bullet list (which restates the code) with a one-line pointer, and compress the seven-bullet enumeration of quick-start's contents to a single sentence; this trims the body closer to 'every token earns its place'.

Tighten workflow clarity by adding a brief error-recovery note (e.g., verify UPSTASH_SEARCH_REST_URL/TOKEN are set and what to check on auth or not-found errors) and resolving the mismatch where 'Create an index' is listed as a step but never appears in the code.

DimensionReasoningScore

Conciseness

The body is lean with no explanations of concepts Claude already knows and a genuinely useful pointer to bundled docs and source in node_modules. However, the 'Basic steps' bullets merely restate the code example above them, and the seven-bullet enumeration of quick-start's contents could be trimmed to a one-line pointer — minor padding that keeps it below 'every token earns its place'.

4 / 5

Actionability

The quick start is fully executable — 'npm install @upstash/search' plus a complete, correct client setup with env vars, upsert, and search — but only the upsert+search path is exemplified. Delete, fetch, info, range, reset, and filtering/pagination are only enumerated by name with no inline example, so coverage of common cases has minor gaps.

4 / 5

Workflow Clarity

A clear linear happy path (install → create client → upsert → search) with copy-paste code, and the destructive operations (reset, delete) are delegated to reference files so the missing-validation cap is not triggered. Minor gaps: the 'Create an index' bullet has no corresponding code step, and there is no guidance for error recovery (e.g., missing credentials or failed requests).

4 / 5

Progressive Disclosure

Good overview structure: the quick start is inline and details are split into one-level-deep, clearly signaled sibling skill files ('## Other Skill Files' with per-file content descriptions). Minor gaps: the references are bare headings with no file paths or links, and the two referenced files overlap in scope (sdk-overview already includes getting-started).

4 / 5

Total

16

/

20

Passed

Description

88%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.

A strong description: it names the specific SDK, comprehensively lists concrete capabilities, and provides explicit 'Use when…' triggers with natural phrasings. Its only weaknesses are a couple of missing common trigger synonyms and slightly broad 'add search to an app' phrasing that could compete with other search-provider skills.

DimensionReasoningScore

Specificity

The description enumerates over ten concrete actions — 'creating a search index, upserting documents with searchable content and filterable metadata, running keyword, semantic, or hybrid search queries, reranking results, filtering with SQL-like or structured filter syntax, paginating with range, fetching or deleting documents, resetting an index, or checking index info' — which comprehensively covers the SDK's surface with no meaningful gaps.

5 / 5

Completeness

It explicitly answers both 'what' ('Work with the @upstash/search TypeScript/JavaScript SDK, a serverless full-text and semantic search database with built-in reranking') and 'when' with two explicit trigger clauses ('Use when adding search to an app or site… Also use when the user asks for site search…'), matching the anchor-5 example structure exactly.

5 / 5

Trigger Term Quality

It includes many natural user phrases ('adding search to an app or site', 'site search', 'product, document, or knowledge-base search', 'full-text', 'semantic', 'hybrid') but misses a few common variations such as 'search engine', 'vector search', or 'AI-powered search'. This sits between anchor 4 (good coverage, few missing) and anchor 5 (comprehensive including synonyms), so the even score applies.

4 / 5

Distinctiveness Conflict Risk

The niche is clear and product-anchored (@upstash/search, serverless, 'needs no cluster to run'), but the broad trigger 'adding search to an app or site' creates minor overlap risk with other search-backend skills, placing it between anchors 4 and 5 rather than at clear minimal-conflict 5.

4 / 5

Total

18

/

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository

upstash/skills

Path

skills/upstash-search-js/SKILL.md

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.