duckrun AGENTS.md

duckrun AGENTS.md is an instructions file for Codex, OpenCode from djouallah/duckrun. It costs 631 tokens per session, scanned A, original, MIT.

Instructions for working with duckrun, a dbt adapter that uses DuckDB to run SQL models and Delta Lake tables to store results. dbt is a tool that builds and schedules data transformations, while a monorepo-style project may contain several related packages in one repository.

In plain words
What is it for?
Use it when developing or assisting with duckrun projects, especially models that write Delta tables or run in CI, on a laptop, or in Microsoft Fabric.
Why use it?
It explains duckrun's less obvious defaults, such as in-memory DuckDB, incremental writes, concurrent models, and Fabric authentication, which can otherwise cause silent mistakes.

Instructions file for CodexOpenCode

Install

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.

agentmods
npx agentmods add instructions/djouallah/duckrun/agents-md
Clone the repo
git clone --depth 1 https://github.com/djouallah/duckrun

Made for: Codex, OpenCode.

Per session 631 This file is loaded in full into every session.
When invoked 631 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00631 $0.00631
Opus 5 $0.00316 $0.00316
Sonnet 5 $0.00126 $0.00126
Haiku 4.5 $0.00063 $0.00063

Measured 3d ago against content hash e2ea7fb0753c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

duckrun AGENTS.md 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.

AGENTS.md · 48 lines

How it starts

The opening of the file, as written. The whole thing — 48 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AGENTS.md

Guidance for AI agents working in this repo or helping someone use duckrun.

duckrun is a dbt adapter: DuckDB executes the model SQL, delta-rs writes the result as a Delta Lake table, and dbt orchestrates the DAG. It runs the same on a laptop, in CI, or in a Fabric notebook.

Before helping with a duckrun project, read the skill — it is the authoritative guide:

plugins/duckrun-projects/skills/duckrun-projects/SKILL.md

A few defaults differ from other dbt adapters and cause silent mistakes if you assume the usual behavior:

  • threads: is honored (dbt's default is 1), but every model writes a real table: concurrent writers share one DuckDB memory_limit and a microbatch model's batches always run in order. More threads help many network-bound models; they don't help one big merge.
  • DuckDB is in-memory; there is no database file. The Delta tables are the only state.
  • Incremental strategy defaults depend on unique_key (merge with it, append without). For large tables, merge vs a dedup-in-SQL append (auto-fenced when the model reads {{ this }}) matters a lot.
  • OneLake/Fabric auth is just a bearer token; paths use lakehouse GUIDs, not names.

Consult the SKILL.md before writing profiles.yml or any incremental model.

Working on duckrun itself

Read CONTRIBUTING.md first — it has the full flow and the rules. The short version:

  • Every change lands via a pull request, including the owner's own. Branch off main (fix/, feat/, docs/, ci/, test/), push the branch, open a PR. This repo overrides any general "you own this repo, so commit straight to main" rule you may be carrying — there is no direct-push path here.
  • Never push to main, and never touch the legacy branch. Two things stay on main and are not to be "fixed": CI's own [skip ci] scorecard commits, and the release vX.Y.Z tag push.
  • Never modify a test to make a PR pass. No skip, no xfail, no weakened assertion. A red test means fix the adapter.
  • Don't add new public API without discussing it first. Agents are the ones most likely to invent surface nobody asked for. A question is not a work order.
  • It's fine to run tests locally for this project.
  • Keep duckrun boring: prefer the dull, idiomatic solution. The only intentional bet is the Arrow + delta-rs core, because there's no alternative way to write Delta.

Read the full file on GitHub · 48 lines

Changes

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.

  1. 3d ago First seen · 48 lines · 631 tokens per session scan A e2ea7fb0753c

Subscribe to this mod's changes

duckrun AGENTS.md is an instructions file published in the GitHub repository djouallah/duckrun (48 stars, last pushed 5d ago), licensed MIT. It adds 631 tokens to every session, about $0.0032 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.