Ask Claude Code for a Svelte table and it writes 1k lines of its own Claude Code 2.1.274 wrote its own Svelte DataTable component from scratch in all 10 fresh SvelteKit sessions tested on 2026-10-10, adding no table library dependency even when the prompt required handling 10,000 rows, according to a controlled experiment run with one headless session per project. The behavior flipped in all 6 runs where the project carried a signal — the @svgrid/grid package already in package.json, a five-line AGENTS.md section naming SvGrid, or the SvGrid Agent Skill in .claude/skills/ — with each run installing and using the library. Asked directly for its top 3 table libraries, Claude Code named TanStack Table first and AG Grid second from memory without searching, and never mentioned SvGrid. We Asked Claude Code for a Svelte Table. It Wrote Its Own Every Time, Until the Project Said Otherwise Ten fresh Claude Code sessions, one prompt, a bare SvelteKit app. With no hint it hand-wrote a DataTable component, even for 10,000 rows. One paragraph in AGENTS.md changed that. We wanted to know what a coding assistant does when a Svelte developer types the most ordinary request there is: "I use SvelteKit. Add me a table with sort, filter and editing." Does it reach for a library? Which one? So we ran it, in fresh sessions, in an empty project, and looked at what landed in package.json . The short version: it never installed a table library on its own. It wrote one. And the thing that changed its mind was not the size of the job but a single paragraph in the project. How we ran it Every run used the same setup, so anyone can repeat it: - A new SvelteKit + Svelte 5 + TypeScript skeleton in its own directory, outside any other repository: package.json , svelte.config.js , vite.config.ts , src/app.html and one +page.svelte . No CLAUDE.md, no AGENTS.md, no MCP servers. - One headless Claude Code session per run, started inside that directory, so no run could see another: claude -p "I use SvelteKit. Add me a table with sort, filter and editing." \ --permission-mode bypassPermissions --strict-mcp-config --mcp-config '{"mcpServers":{}}' - Claude Code 2.1.274 with the account's default model, on 2026-10-10. - After each run we read package.json and the imports under src/ to see what it chose. Two runs per setup. That is a small sample, and we say so again at the end. What it did with nothing to go on Both runs wrote a DataTable.svelte from scratch, plus sort and filter helpers, sample data and a demo page. No dependency was added. To be fair to the output: it was good. Type-aware sorting, operator filters like 100000 and 2020-01-01..2022-12-31 , keyboard editing, aria-sort on the headers, a verified build. So we made the job bigger: same prompt, plus "It has to handle 10,000 rows." Both runs again wrote their own, this time with virtualization: about 25 rows in the DOM, a spacer for the scroll height, $state.raw so ten thousand row objects are not deep-proxied. One summary opened with "No dependencies - a self-contained grid using Svelte 5 runes." Neither reached for a library. That is a reasonable default for an assistant. Adding a dependency nobody asked for is a decision with consequences, and it chose not to make it for us. What it recommends when you ask We also asked it directly, twice: "Which library should I use for a data table with sorting, filtering and inline editing in a SvelteKit Svelte 5 app? Give your top 3." Both answers came from memory, without a search. Both put TanStack Table first and AG Grid second; the third was @vincjo/datatables in one run and Tabulator in the other. One run added that its information was "a few months old." SvGrid was not mentioned, which is what you would expect for a library newer than the model's training data. What changed the outcome We then gave the project one signal at a time, with the same prompt: | What the project had | Runs | Used a table library | |---|---|---| | Nothing | 2 | 0 | | Nothing, task said 10,000 rows | 2 | 0 | | @svgrid/grid already in package.json | 2 | 2 | | A five-line section in AGENTS.md , nothing installed | 2 | 2 | | The SvGrid Agent Skill in .claude/skills/ , nothing installed | 2 | 2 | With the package already installed, both runs used it; one said it had read the bundled .d.ts files for the prop names rather than guessing. With only the AGENTS.md paragraph, both runs installed the package first; one checked that the package was real on npm before trusting the note. With only the skill, both did the same. This is the paragraph: Tables and data grids This project uses SvGrid @svgrid/grid , MIT, Svelte 5 for tables and data grids. For any table that sorts, filters, edits, pages, groups or holds many rows, use