CtrlK
BlogDocsLog inGet started
Tessl Logo

ai-persistence

Durability and state persistence for TanStack AI chats with @tanstack/ai-persistence. Routes to server chat persistence (withPersistence), client persistence (localStorage/IndexedDB), the store contracts, and adapter recipes. Distinguishes delivery durability (resumable streams) from conversation state. Use when conversations must survive reloads, multi-device, approvals, or server restarts — NOT for stream reconnect alone.

75

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

87%

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

The body is lean, actionable, and well-structured with strong progressive disclosure, but workflow clarity is held back by an implicit rather than explicit validation checkpoint for the database-adapter work that the skill directs users to perform.

Suggestions

Promote the conformance testkit into an explicit numbered step in the production-stack workflow (e.g. "5. Validate: run runPersistenceConformance against your adapter; if it fails, fix and re-run") so the validate→fix→retry loop is visible.

Add a short adapter-writing checklist that sequences implement-stores → run-conformance → wire-withPersistence, mirroring the destructive/batch feedback-loop pattern the skill implies but does not spell out.

Surface the GET/hydrate route (reconstructChat) as an explicit step alongside the POST sketch so the server-authoritative load path is sequenced, not just mentioned in prose.

DimensionReasoningScore

Conciseness

The body is table-driven and dense with no filler — it never explains what TanStack AI or databases are, and every line (contracts table, halves table, authoritative-history contract, critical rules) earns its place.

3 / 3

Actionability

Two copy-paste-ready TS/TSX blocks (server POST handler, client useChat) plus concrete named exports and specific do/don't rules ("saveThread is full overwrite", "createOrResume is insert-if-absent") give fully executable guidance.

3 / 3

Workflow Clarity

The "Recommended production stack" is a numbered sequence and "Critical rules" act as a checklist, but the conformance testkit is named rather than embedded as an explicit validate→fix→retry checkpoint, leaving validation implicit for database/batch adapter work.

2 / 3

Progressive Disclosure

No bundle files are present (references/scripts/assets absent), and the body is a well-organized overview that routes to one-level-deep sibling skills via clearly signaled tables, keeping inline content appropriately lean.

3 / 3

Total

11

/

12

Passed

Description

100%

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, trigger-rich, complete, and self-disambiguating, with concrete named APIs and both positive and negative use-when guidance. It scores at the top of every dimension.

DimensionReasoningScore

Specificity

Names concrete capabilities and APIs — "server chat persistence (withPersistence), client persistence (localStorage/IndexedDB), the store contracts, and adapter recipes" — listing multiple specific actions rather than vague language.

3 / 3

Completeness

Clearly answers what ("Durability and state persistence for TanStack AI chats...") and when ("Use when conversations must survive reloads, multi-device, approvals, or server restarts"), with an explicit negative trigger ruling out stream-reconnect alone.

3 / 3

Trigger Term Quality

Natural user-facing triggers like "conversations must survive reloads, multi-device, approvals, or server restarts" read as things a developer would actually say; the unavoidable API jargon is balanced by these plain-language triggers.

3 / 3

Distinctiveness Conflict Risk

"NOT for stream reconnect alone" explicitly disambiguates delivery durability from state persistence, carving a clear niche unlikely to trigger sibling skills.

3 / 3

Total

12

/

12

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
TanStack/ai
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.