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 Kage0x3B/svelte-advanced-datatable --skill svelte-advanced-datatable-interactionsgit clone --depth 1 https://github.com/Kage0x3B/svelte-advanced-datatableWrote 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/kage0x3b/svelte-advanced-datatable/svelte-advanced-datatable-interactions)<a href="https://agentmods.dev/skills/kage0x3b/svelte-advanced-datatable/svelte-advanced-datatable-interactions"><img src="https://agentmods.dev/badge/skills/kage0x3b/svelte-advanced-datatable/svelte-advanced-datatable-interactions/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/kage0x3b/svelte-advanced-datatable/svelte-advanced-datatable-interactions"><img src="https://agentmods.dev/badge/skills/kage0x3b/svelte-advanced-datatable/svelte-advanced-datatable-interactions.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.00142 | $0.02828 |
| Opus 5.5 | $0.00057 | $0.01131 |
| Sonnet 5.5 | $0.00028 | $0.00566 |
| Haiku 4.5 | $0.00014 | $0.00283 |
Grade A, and why
svelte-advanced-datatable-interactions 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 1mo 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 — 267 lines — stays where its author put it; the contents beside it link to each section on GitHub.
svelte-advanced-datatable — selection, actions, modals, export
How users interact with rows: selection, actions (per-row dropdown + bulk toolbar), what happens on row click (modal / callback / link), and exporting the visible dataset.
1. Actions — DataTableAction<Data>[]
Declaring even one action lights up the entire selection UI: a leading checkbox column, a trailing three-dot per-row dropdown, and a bulk toolbar that slides in beside the search field when ≥1 row is selected. Selection persists across pagination — cross-page bulk ops work out of the box.
import type { DataTableAction, DataTableConfig, SelectionId } from 'svelte-advanced-datatable';
const config: DataTableConfig<UserData> = {
// ...
actions: [
{ key: 'edit', icon: PencilIcon, onSingle: (item) => openEditDialog(item) },
{ key: 'archive', icon: ArchiveIcon, primary: true, onMulti: (ids) => archiveUsers(ids) },
{ key: 'delete', icon: TrashIcon, primary: true, variant: 'destructive', onMulti: (ids) => deleteUsers(ids) }
],
messageConfig: {
// ...column labels...
actions: { edit: 'Edit', archive: 'Archive', delete: 'Delete' }
}
};
| Property | Type | Default | Notes |
|---|---|---|---|
key |
string |
required | Stable id. Used as list key AND as messageConfig.actions.<key> lookup for the label. |
icon |
Component |
— | Svelte icon component. Size via tailwind (e.g. class="size-4"). |
variant |
'default' | 'primary' | 'destructive' |
'default' |
destructive = red. |
primary |
boolean |
false |
Render as standalone button in the bulk toolbar (else in "More" overflow). Cap: primaryActionsCount. |
hideInRow |
boolean |
false |
Suppress in the per-row dropdown. |
hideInBulk |
boolean |
false (implicit when no onMulti) |
Suppress in the bulk toolbar. |
rowVisible |
(item) => boolean |
— | Per-row gate for the row dropdown. |
onSingle |
(item) => void | Promise<void> |
— | Row-dropdown handler. Receives the full row. |
onMulti |
(ids: SelectionId[]) => void | Promise<void> |
— | Bulk-toolbar handler. Receives IDs only — cross-page rows aren't loaded. |
refreshAfter |
boolean |
true |
Call dataSource.refresh() after the handler resolves. |
clearSelectionAfter |
boolean |
true bulk / false single |
Wipe selection after the handler resolves. |
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.
- 1mo ago First seen · 267 lines · 142 tokens per session scan A 2df18a0a2391
svelte-advanced-datatable-interactions is a skill published in the GitHub repository Kage0x3B/svelte-advanced-datatable (5 stars, last pushed 1mo ago), licensed MIT. It adds 142 tokens to every session and 2,828 once invoked, about $0.0006 per session on Opus 5.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-31.
Other skills, from other repositories
oat-css
Our preferred CSS framework — ultra-lightweight, semantic HTML UI library (8KB). Style web UIs with semantic HTML and minimal classes. Override with app-level SCSS only when necessary.
pwa
Use when the user asks to make a site installable, turn it into a PWA, add a service worker, add a web app manifest, enable "add to home screen", or support offline. Also use when adding favicon/app icons, iOS home-screen support (apple-mobile-web-app meta tags), or verifying PWA installability.
docker
Docker Compose conventions — short service names, no root, no host ports in base compose, override files for local customisations.
pb-extend
Extend PocketBase with custom hooks and routes in JS or Go. Use when user wants to add custom API routes, modify PocketBase behavior, or add server-side logic.
pb-api
Operate PocketBase via its REST API. Use for CRUD operations on collections, authentication, querying records with filters, and managing PocketBase data.
code-reuse
Use when building a UI component, PocketBase hook, page, or app feature and there is proven code to copy from the reference repos. Check here BEFORE writing UI components, PB hooks/routes, form controls, dialogs, auth flows, pagination, or realtime stores from scratch. Catalogs reusable code from…