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/rilldata/agent-skills/rill-developmentnpx skills add rilldata/agent-skills --skill rill-developmentgit clone --depth 1 https://github.com/rilldata/agent-skillsWhat 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.00013 | $0.05026 |
| Opus 5 | $0.00006 | $0.02513 |
| Sonnet 5 | $0.00003 | $0.01005 |
| Haiku 4.5 | $0.00001 | $0.00503 |
Grade A, and why
rill-development 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 2d 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 — 286 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Instructions for developing a Rill project
This document is intended for data engineering agents specialized in developing projects in the Rill business intelligence platform.
Introduction to Rill
Rill is a business intelligence platform built around the following principles:
- Code-first: configure projects using versioned and reproducible source code in the form of YAML and SQL files.
- Full stack: go from raw data sources to user-friendly dashboards powered by clean data with a single tool.
- Declarative: describe your business logic and Rill automatically runs the infrastructure, migrations and services necessary to make it real.
- OLAP databases: you can easily provision a fast analytical database and load data into it to build dashboards that stay interactive at scale.
Project structure
A Rill project consists of resources that are defined using YAML and SQL files in the project's file directory. Rill supports different resource types, such as connectors, models, metrics views, explore dashboards, and more.
Here is an example listing of files for a small Rill project:
.env
connectors/duckdb.yaml
connectors/s3.yaml
models/events_raw.yaml
models/events.sql
metrics/events.yaml
dashboards/events.yaml
rill.yaml
Let's start with the project-wide files at the root of the directory:
rill.yamlis a required file that contains project-wide configuration. It can be compared topackage.jsonin Node.js ordbt_project.ymlin dbt..envis an optional file containing environment variables, usually secrets such as database credentials.
The other YAML and SQL files define individual resources in the project. They follow a few rules:
- The YAML files must contain a
type:property that identifies the resource type. The other properties in the file are specific to the selected resource type. - SQL files are a convenient way of creating model resources. They are equivalent to a YAML file with
type: modeland asql:property. - Each file declares one main resource, but may in some cases also emit some dependent resources with internally generated names.
- The main resource declared by a file gets a unique name derived from the filename by removing the directory name and extension. For example,
connectors/duckdb.yamldefines a connector calledduckdb. - Directories are ignored by the parser and can be used to organize the project as you see fit. Small projects often have one directory per resource type.
- Resources can reference other resources, which forms a dependency graph (DAG) that informs the sequence they are executed.
- Resource names are unique within a resource type. For example, only one model can be named
events(regardless of directory), but it is possible for both a model and a metrics view to be calledevents. - Clear resource names are important as they are widely used as unique identifiers throughout the platform (e.g. in CLI commands, URL slugs, API calls). They are usually lowercase and snake case, but that is not enforced.
- Any resource can carry a top-level
tags:list (free-form labels) for organizing and filtering resources across a project. Distinct from dimension/measure tags inside a metrics view.
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.
- 2d ago First seen · 286 lines · 13 tokens per session scan A 9dd3a4594584
rill-development is a skill published in the GitHub repository rilldata/agent-skills (0 stars, last pushed 11d ago), licensed Apache-2.0. It adds 13 tokens to every session and 5,026 once invoked, about $0.0001 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
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
auto-perf-optimize
Run agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
chat-perf
Run chat perf benchmarks and memory leak checks against the local dev build or any published VS Code version. Use when investigating chat rendering regressions, validating perf-sensitive changes to chat UI, or checking for memory leaks in the chat response pipeline.
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…