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-modelnpx skills add rilldata/agent-skills --skill rill-modelgit 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.00015 | $0.10735 |
| Opus 5 | $0.00008 | $0.05368 |
| Sonnet 5 | $0.00003 | $0.02147 |
| Haiku 4.5 | $0.00002 | $0.01073 |
Grade A, and why
rill-model 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 3d 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 — 1,412 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Instructions for developing a model in Rill
Introduction
Models are resources that specify ETL or transformation logic, outputting a tabular dataset to one of the project's connectors. They are typically found near the root of the project's DAG, referencing only connectors and other models.
By default, models output data as a table with the same name as the model in the project's default OLAP connector. The core of a model is usually a SELECT SQL statement, which Rill executes as CREATE TABLE <name> AS <SELECT statement>. The SQL should be a plain SELECT query without a trailing semicolon.
Models in Rill are similar to models in dbt, but support additional advanced features:
- Different input and output connectors: Run a query in one database (e.g., BigQuery) and output results to another (e.g., DuckDB or ClickHouse).
- Stateful incremental ingestion: Track state and load only new or changed data.
- Partition support: Define explicit partitions (e.g., Hive-partitioned files in S3) for scalable, idempotent incremental runs.
- Scheduled refresh: Use cron expressions to automatically refresh data on a schedule.
Model categories
When reasoning about a model, consider these attributes:
- Source model: References external data, typically reading from a SQL database or object store connector and writing to an OLAP connector.
- Derived model: References other models, usually performing joins or formatting columns to prepare denormalized tables for metrics views and dashboards.
- Incremental model: Contains logic for incrementally loading data, processing only new or changed records.
- Partitioned model: Loads data in well-defined increments (e.g., daily partitions), enabling scalability and idempotent incremental runs.
- Materialized model: Outputs a physical table rather than a SQL view.
Performance considerations
Models are usually expensive resources that can take a long time to run. Create or edit them with caution.
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.
- 3d ago First seen · 1,412 lines · 15 tokens per session scan A 43227b99a72d
rill-model is a skill published in the GitHub repository rilldata/agent-skills (0 stars, last pushed 11d ago), licensed Apache-2.0. It adds 15 tokens to every session and 10,735 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
cognee-community
Use when the user needs something that ships outside cognee core — community database adapters (Qdrant, Milvus, Weaviate, Redis, Pinecone, FalkorDB, Memgraph, DuckDB, NetworkX, …), data-source connectors (Slack, Gmail, Notion, Confluence, Google Drive), custom tasks/pipelines/retrievers (Exa, ScrapeGraph, codify)…
bigquery-ai-ml
Skill for BigQuery AI and Machine Learning queries using standard SQL and AI. functions (preferred over dedicated tools).
cocoindex
This skill should be used when building data processing pipelines with CocoIndex, a Python library for incremental data transformation. Use when the task involves processing files/data into databases, creating vector embeddings, building knowledge graphs, ETL workflows, or any data pipeline requiring automatic change…
data-quality-frameworks
Implement data quality validation with Great Expectations, dbt tests, and data contracts. Use when building data quality pipelines, implementing validation rules, or establishing data contracts.
fabriciq-ontology-cli
Manages Fabric IQ Ontology items, including entity and relationship types, data bindings, and definition updates, plus schema, lineage, grounding, and graph-walk exploration. Use for ontology modelling and traversal. For natural-language questions over a Power BI report use fabriciq.
lineage-diff
Compare column-level lineage between two versions of a SQL query to show added, removed, and changed data flow edges.