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 skills add sanity-io/next-sanity --skill tsdowngit clone --depth 1 https://github.com/sanity-io/next-sanityWrote 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/skills/sanity-io/next-sanity/tsdown)<a href="https://agentmods.dev/skills/sanity-io/next-sanity/tsdown"><img src="https://agentmods.dev/badge/skills/sanity-io/next-sanity/tsdown/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.
<a href="https://agentmods.dev/skills/sanity-io/next-sanity/tsdown"><img src="https://agentmods.dev/badge/skills/sanity-io/next-sanity/tsdown.svg" alt="Reviewed on agentmods" width="80" 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.00041 | $0.03319 |
| Opus 5 | $0.00020 | $0.01659 |
| Sonnet 5 | $0.00008 | $0.00664 |
| Haiku 4.5 | $0.00004 | $0.00332 |
Grade A, and why
tsdown 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 9d 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.
This is a copy
86% identical to tsdown — 166 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 429 lines — stays where its author put it; the contents beside it link to each section on GitHub.
tsdown - The Elegant Library Bundler
Blazing-fast bundler for TypeScript/JavaScript libraries powered by Rolldown and Oxc.
When to Use
- Building TypeScript/JavaScript libraries for npm
- Generating TypeScript declaration files (.d.ts)
- Bundling for multiple formats (ESM, CJS, IIFE, UMD)
- Optimizing bundles with tree shaking and minification
- Migrating from tsup with minimal changes
- Building React, Vue, Solid, or Svelte component libraries
Quick Start
# Install
pnpm add -D tsdown
# Basic usage
npx tsdown
# With config file
npx tsdown --config tsdown.config.ts
# Watch mode
npx tsdown --watch
# Migrate from tsup
npx tsdown-migrate
Basic Configuration
import {defineConfig} from 'tsdown'
export default defineConfig({
entry: ['./src/index.ts'],
format: ['esm', 'cjs'],
dts: true,
clean: true,
})
Core References
| Topic | Description | Reference |
|---|---|---|
| Getting Started | Installation, first bundle, CLI basics | guide-getting-started |
| Configuration File | Config file formats, multiple configs, workspace | option-config-file |
| CLI Reference | All CLI commands and options | reference-cli |
| Migrate from tsup | Migration guide and compatibility notes | guide-migrate-from-tsup |
| Plugins | Rolldown, Rollup, Unplugin support | advanced-plugins |
| Hooks | Lifecycle hooks for custom logic | advanced-hooks |
| Programmatic API | Build from Node.js scripts | advanced-programmatic |
| Rolldown Options | Pass options directly to Rolldown | advanced-rolldown-options |
| CI Environment | CI detection, 'ci-only' / 'local-only' values |
advanced-ci |
What ships with it
41 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- LICENSE.md 1.1 KB
- README.md 1.9 KB
- references/advanced-benchmark.md 265 B
- references/advanced-ci.md 2.1 KB
- references/advanced-hooks.md 6.9 KB
- references/advanced-plugins.md 6.6 KB
- references/advanced-programmatic.md 5.9 KB
- references/advanced-rolldown-options.md 2.3 KB
- references/guide-getting-started.md 2.6 KB
- references/guide-introduction.md 1.5 KB
- references/guide-migrate-from-tsup.md 4.4 KB
- references/option-cjs-default.md 1.9 KB
- references/option-cleaning.md 4.7 KB
- references/option-config-file.md 5.1 KB
- references/option-css.md 6.1 KB
- references/option-dependencies.md 7.3 KB
- references/option-dts.md 5.0 KB
- references/option-entry.md 3.6 KB
- references/option-exe.md 4.1 KB
- references/option-lint.md 3.4 KB
- references/option-log-level.md 1.9 KB
- references/option-minification.md 3.5 KB
- references/option-output-directory.md 4.5 KB
- references/option-output-format.md 3.7 KB
- references/option-package-exports.md 5.2 KB
- references/option-platform.md 5.4 KB
- references/option-root.md 1.8 KB
- references/option-shims.md 5.4 KB
- references/option-sourcemap.md 5.5 KB
- references/option-target.md 4.0 KB
- references/option-tree-shaking.md 5.0 KB
- references/option-unbundle.md 5.6 KB
- references/option-watch-mode.md 4.5 KB
- references/README.md 4.7 KB
- references/recipe-react.md 5.9 KB
- references/recipe-solid.md 927 B
- references/recipe-svelte.md 1.4 KB
- references/recipe-vue.md 6.4 KB
- references/recipe-wasm.md 2.9 KB
- references/reference-cli.md 7.3 KB
- SYNC.md 140 B
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.
- 9d ago First seen · 429 lines · 41 tokens per session scan A 0e9348c1699d
tsdown is a skill published in the GitHub repository sanity-io/next-sanity (949 stars, last pushed today), licensed MIT. It adds 41 tokens to every session and 3,319 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. It is 86% identical to tsdown, differing in 166 lines, and is treated as a copy.
Other skills, from other repositories
client-setup
Create a vanilla tRPC client with createTRPCClient (), configure link chain with httpBatchLink/httpLink, dynamic headers for auth, transformer on links (not client constructor). Infer types with inferRouterInputs and inferRouterOutputs. AbortController signal support. TRPCClientError typing.
adapter-express
Mount tRPC as Express middleware with createExpressMiddleware() from @trpc/server/adapters/express. Access Express req/res in createContext via CreateExpressContextOptions. Mount at a path prefix like app.use('/trpc', ...). Avoid global express.json() conflicting with tRPC body parsing for FormData.
trpc-router
Entry point for all tRPC skills. Decision tree routing by task: initTRPC.create(), t.router(), t.procedure, createTRPCClient, adapters, subscriptions, React Query, Next.js, links, middleware, validators, error handling, caching, FormData.
fast-typescript-check
Keep www-sacred's TypeScript fast to type-check and fast to run. Use when touching the ASCII/canvas animation components (the only real per-frame code here), tightening type-check wall-clock, or auditing a change for runtime or compiler regressions. Scoped to this repo — a React 19 / Next.js 16 component library plus…
port-sacred-terminal-ui-to-typescript-cli
Take a React Window.tsx (or any sacred component) and produce a terminal CLI screen written in TypeScript that uses Simulacrum — the sacred CLI framework in scripts/cli/lib/.
typescript-language
Apply modern TypeScript standards for type safety and maintainability. Use when working with types, interfaces, generics, enums, unions, or tsconfig settings.