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.
npx agentmods add skills/tanstack/ai/build-prisma-adapternpx skills add TanStack/ai --skill build-prisma-adaptergit clone --depth 1 https://github.com/TanStack/aiWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00071 | $0.04713 |
| Opus 5 | $0.00036 | $0.02357 |
| Sonnet 5 | $0.00014 | $0.00943 |
| Haiku 4.5 | $0.00007 | $0.00471 |
Grade A, and why
ai-persistence/build-prisma-adapter 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 3d 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.
How it starts
The opening of the file, as written. The whole thing — 519 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Prisma Chat Persistence
The deliverable is one file in the app — src/lib/chat-persistence.ts —
exporting a ChatPersistence built from the app's existing PrismaClient. Plus
four models added to the app's existing schema.prisma and a migration created
with the app's own prisma migrate.
Do not create a package, a second client, a datasource block, a generator, or a hand-written SQL migration. The app has those.
Read the Store Reference
(docs/persistence/store-reference.md) for the store contracts and
invariants, and ai-persistence/stores for the shape rules. Every
store below mirrors the reference in-memory backend in
@tanstack/ai-persistence (memory.ts); the shared conformance testkit is the
proof.
1. Read the app before writing anything
| Find | Where to look | What it decides |
|---|---|---|
| Schema location | prisma/schema.prisma, or a multi-file prisma/schema/ dir |
Append to the existing file, or add one new .prisma file |
| Provider | the datasource block |
Whether Json is available; nothing else changes |
| Client singleton | src/lib/prisma.ts, src/db.ts, globalThis dev cache |
What chat-persistence.ts imports — never new PrismaClient() |
| Generated client | the generator client block (output, prisma-client-js vs prisma-client) |
Where ChatRun/ChatInterrupt row types come from |
| Existing model names | the schema | Whether Message/Run are taken — prefix if so |
| Migration flow | prisma/migrations/, or db push in scripts |
prisma migrate dev vs prisma db push |
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.
- 3d ago First seen · 519 lines · 71 tokens per session scan A 19ad5b9c61dd
ai-persistence/build-prisma-adapter is a skill published in the GitHub repository TanStack/ai (3,056 stars, last pushed today), licensed MIT. It adds 71 tokens to every session and 4,713 once invoked, about $0.0004 per session on Opus 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.
Other skills, from other repositories
database-migration-helper
Create and manage database migrations safely with rollback support. Use when modifying database schema, adding indexes, or managing database changes.
query-optimizer
Optimize SQL queries for performance with indexing strategies, query rewriting, and execution plan analysis. Use when queries are slow, optimizing database performance, or analyzing query execution.
schema-designer
Design database schemas with proper normalization, relationships, constraints, and indexes. Use when creating database tables, modeling data relationships, or designing database structure.
backend-patterns
Backend architecture patterns, API design, database optimization, and server-side best practices for Node.js, Express, and Next.js API routes.
cachibot-full-stack-entity
Add a complete full-stack entity to CachiBot spanning database table, repository, Pydantic models, API routes, TypeScript types, API client, and Zustand store. Use this skill when adding a new data entity or resource that needs persistence and CRUD across the entire stack — e.g., "add bookmarks", "add a reminders…
notion
Notion API for creating and managing pages, databases, and blocks. Use when the user wants to create a Notion page, query a Notion database, update Notion properties, search Notion, add content to Notion, manage Notion blocks, or interact with Notion data sources and workspaces via the API.