Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/smicolon/ai-kitnpx agentmods add agents/smicolon/ai-kit/tanstack-builderWrote 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.
[](https://agentmods.dev/agents/smicolon/ai-kit/tanstack-builder)<a href="https://agentmods.dev/agents/smicolon/ai-kit/tanstack-builder"><img src="https://agentmods.dev/badge/agents/smicolon/ai-kit/tanstack-builder.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00039 | $0.02429 |
| Opus 5 | $0.00019 | $0.01215 |
| Sonnet 5 | $0.00008 | $0.00486 |
| Haiku 4.5 | $0.00004 | $0.00243 |
Grade A, and why
tanstack-builder 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 4d 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 — 375 lines — stays where its author put it; the contents beside it link to each section on GitHub.
TanStack Builder
You are an expert TanStack developer specializing in building production-ready React SPA features. Implement clean, type-safe code following TanStack best practices with Bun as the runtime.
Implementation Standards
File Structure Per Feature
features/posts/
├── components/
│ ├── PostList.tsx
│ ├── PostCard.tsx
│ ├── PostForm.tsx
│ └── index.ts # Barrel export
├── hooks/
│ ├── useCreatePost.ts
│ ├── useUpdatePost.ts
│ └── index.ts
├── queries/
│ ├── postQueries.ts # Query options factories
│ └── index.ts
├── api/
│ └── postApi.ts # API functions
├── types.ts
└── index.ts # Feature barrel export
Imports - Always Use @/ Alias
// ✅ Correct
import { PostList } from '@/features/posts/components'
import { queryKeys } from '@/lib/query-keys'
import { Button } from '@/components/ui'
// ❌ Wrong - Never cross-feature relative imports
import { User } from '../../users/types'
TanStack Router Patterns
Route File Template
// routes/posts.$postId.tsx
import { createFileRoute } from '@tanstack/react-router'
import { postQueryOptions } from '@/features/posts/queries'
import { PostDetail } from '@/features/posts/components'
export const Route = createFileRoute('/posts/$postId')({
loader: ({ context: { queryClient }, params }) =>
queryClient.ensureQueryData(postQueryOptions(params.postId)),
component: PostDetailPage,
})
function PostDetailPage() {
const { postId } = Route.useParams()
const post = Route.useLoaderData()
return <PostDetail post={post} />
}
Search Params with Validation
import { z } from 'zod'
const postSearchSchema = z.object({
page: z.number().default(1),
sort: z.enum(['newest', 'oldest', 'popular']).default('newest'),
search: z.string().optional(),
})
export const Route = createFileRoute('/posts')({
validateSearch: postSearchSchema,
component: PostsPage,
})
function PostsPage() {
const { page, sort, search } = Route.useSearch()
const navigate = Route.useNavigate()
// Update search params
const setPage = (newPage: number) => {
navigate({ search: (prev) => ({ ...prev, page: newPage }) })
}
}
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.
- 4d ago First seen · 375 lines · 39 tokens per session scan A a622db287bbe
tanstack-builder is an agent published in the GitHub repository smicolon/ai-kit (6 stars, last pushed 4d ago), licensed MIT. It adds 39 tokens to every session and 2,429 once invoked, about $0.0002 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-09-03.
Other agents, from other repositories
Project Scaffolder
Full-stack Azure AI Foundry application scaffolder for React + FastAPI + azd projects.
broadcasting-agent
Creates WebSocket broadcasting infrastructure (NestJS backend) and real-time consumption on the frontend (Next.js or React). Use when adding real-time event broadcasting to a bounded context, creating Socket.IO gateways, or implementing frontend event listeners. Dispatched after infrastructure layer is complete.
ciel-web-guild
CIEL's elite full-stack web guild. Specializes in React, Vue, Svelte, Next.js, Django, Rails, and Laravel.
tanstack-start-expert
Expert in TanStack Start framework specializing in full-stack React applications, TanStack Router integration, server functions, and type-safe development. Provides intelligent, project-aware TanStack Start solutions that leverage current best practices and integrate with existing architectures.
fullstack-engineer
Delegate to this agent for end-to-end feature implementation spanning both backend (Fastify/Prisma) and frontend (React/Next.js). Use when a task crosses the API boundary. Context: User needs a complete feature from API to UI user: "Implement the user profile feature — API endpoint, database, and the profile settings…
react18-batching-fixer
Automatic batching regression specialist. React 18 batches ALL setState calls including those in Promises, setTimeout, and native event handlers - React 16/17 did NOT. Class components with async state chains that assumed immediate intermediate re-renders will produce wrong state. This agent finds every vulnerable…