fuzzy-ranking

fuzzy-ranking is a skill for Claude Code, Codex from TanStack/table. It costs 62 tokens per session (833 once invoked), scanned A, original, MIT.

A guide to ranking search results by how closely they resemble a query, including partial matches and spelling differences. Fuzzy matching is search that can find approximate rather than only exact text matches.

In plain words
What is it for?
Use it to search names, emails, or other object fields, filter out weak matches, and sort matching table rows by relevance.
Why use it?
It avoids writing separate logic to decide which results match, how well they match, and how to order them.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to search names, emails, or other object fields, filter out weak matches, and sort matching table rows by relevance.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/tanstack/table/fuzzy-ranking
About the project

TanStack Table is a headless table library: it supplies table and datagrid logic while leaving the markup, styling, and components to the application. Developers use it with JavaScript and TypeScript frameworks to build customizable tables with features such as sorting, filtering, grouping, aggregation, and row selection. Its catalogue skills provide version-matched guidance for coding agents working with the library.

TanStack/table · 28,491 stars · on GitHub · tanstack.com

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add TanStack/table --skill fuzzy-ranking
Clone the repo
git clone --depth 1 https://github.com/TanStack/table

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for fuzzy-ranking

README.md
[![agentmods](https://agentmods.dev/badge/skills/tanstack/table/fuzzy-ranking/github.svg)](https://agentmods.dev/skills/tanstack/table/fuzzy-ranking)
Your own site
<a href="https://agentmods.dev/skills/tanstack/table/fuzzy-ranking"><img src="https://agentmods.dev/badge/skills/tanstack/table/fuzzy-ranking/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for fuzzy-ranking

Your own site · 80×15
<a href="https://agentmods.dev/skills/tanstack/table/fuzzy-ranking"><img src="https://agentmods.dev/badge/skills/tanstack/table/fuzzy-ranking.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 62 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 833 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • Snyk pass 7 Sept 2026
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00062 $0.00833
Opus 5.5 $0.00025 $0.00333
Sonnet 5.5 $0.00012 $0.00167
Haiku 4.5 $0.00006 $0.00083

Measured 11d ago against content hash 4933cb8507b5, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

fuzzy-ranking scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

packages/match-sorter-utils/skills/fuzzy-ranking/SKILL.md · 96 lines

How it starts

The opening of the file, as written. The whole thing — 96 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Setup

import { compareItems, rankItem, rankings } from '@tanstack/match-sorter-utils'

const query = 'tan'
const values = ['table', 'tanner', 'router']
export const ranked = values
  .map((value) => ({
    value,
    info: rankItem(value, query, { threshold: rankings.MATCHES }),
  }))
  .filter((entry) => entry.info.passed)
  .sort((a, b) => compareItems(a.info, b.info))

Core Patterns

Separate ranking, filtering, and sorting

Call rankItem once, filter on info.passed, retain the RankingInfo, then order matching results with compareItems.

Rank object fields through accessors

type Person = { name: string; email: string }
const person: Person = { name: 'Ada Lovelace', email: '[email protected]' }
const info = rankItem(person, 'lov', {
  accessors: [(item) => item.name, (item) => item.email],
})

Accessor options can set a per-accessor threshold plus minRanking/maxRanking bounds.

Store ranking as Table filter metadata

In a Table filterFn, call addMeta?.({ itemRank }). Register the corresponding meta shape with filterMeta: metaHelper<{ itemRank: RankingInfo }>(). A related sortFn reads row.columnFiltersMeta[columnId]?.itemRank and uses compareItems, falling back to an ordinary comparator for ties or absent metadata. For the primary Table composition, load @tanstack/table-core#table-features and read its global-filtering reference. Register the fuzzy filter under filterFns for globalFilterFn: 'fuzzy'.

Common Mistakes

HIGH Numeric rank used as pass flag

Wrong: if (rankItem(value, query).rank) include(value).

Correct: test rankItem(value, query).passed.

Ranks below the configured threshold can still be nonzero; passed records the threshold decision.

Source: TanStack/table:packages/match-sorter-utils/src/index.ts

HIGH Ranking recomputed during sorting

Wrong: call rankItem for both rows on every comparator invocation.

Correct: retain RankingInfo during filtering and pass the stored values to compareItems.

Read the full file on GitHub · 96 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago Changed · +1 lines 4933cb8507b5
  2. 1mo ago First seen · 95 lines · 62 tokens per session scan A 1fd9ab0346ba

Subscribe to this mod's changes

fuzzy-ranking is a skill published in the GitHub repository TanStack/table (28,491 stars, last pushed 4d ago), licensed MIT. It adds 62 tokens to every session and 833 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

igniteui-react-migrate-grid-lite-to-premium

Covers migrating from Grid Lite (IgrGridLite) to the premium Ignite UI for React Data Grid (IgrGrid): imports, theme CSS, column and template API changes, sorting and filtering, remote data replacing dataPipelineConfiguration, and the toolbar and export APIs. WHEN TO USE: the user wants to upgrade from Grid Lite to…

IgniteUI/igniteui-react · 191 tokens

igniteui-react-customize-theme

Covers theming Ignite UI for React with CSS custom properties: brand palette, dark mode, size, spacing and roundness, per-component tokens, and scoped themes, optionally through the igniteui-theming MCP server. WHEN TO USE: applying brand colors, switching between light and dark, changing a component's appearance…

IgniteUI/igniteui-react · 155 tokens

skill-authoring

Provides rules for writing or updating a SKILL.md in this repository: frontmatter validation for license, name and description, the WHEN TO USE and WHEN NOT TO USE description format, the 500-line body budget with progressive disclosure into reference files, and the extra constraints on public skills that ship in the…

IgniteUI/igniteui-react · 163 tokens

webgl-expert

Expert guide for WebGL API development including 3D graphics, shaders (GLSL), rendering pipeline, textures, buffers, performance optimization, and canvas rendering. Use when working with WebGL, 3D graphics, canvas rendering, shaders, GPU programming, or when user mentions WebGL, OpenGL ES, GLSL, vertex shaders…

12-Studio/Tackl · 87 tokens

lenis-react

Integrate Lenis smooth scroll into React and Next.js projects. Use when the user wants smooth scrolling, scroll-linked animations, parallax effects, GSAP ScrollTrigger sync, Framer Motion sync, programmatic scroll-to navigation, or scroll event listening in a React app. Covers ReactLenis provider setup, useLenis hook…

12-Studio/Tackl · 84 tokens

gsap-tackl

Implements and orchestrates GSAP in Tackl — useAnimation, useGSAP, ScrollTrigger, Lenis sync, page transitions, and reduced-motion fallbacks. Use when the user mentions GSAP, tweens, timelines, ScrollTrigger, scrub, matchMedia, Lenis, smooth scroll, page transitions, motion design, or enter/exit animations.

12-Studio/Tackl · 79 tokens