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.
git clone --depth 1 https://github.com/oxy-hq/skillsWrote 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/rules/oxy-hq/skills/oxy-etl-builder)<a href="https://agentmods.dev/rules/oxy-hq/skills/oxy-etl-builder"><img src="https://agentmods.dev/badge/rules/oxy-hq/skills/oxy-etl-builder.svg" alt="Measured on agentmods" 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.00000 | $0.01515 |
| Opus 5 | $0.00000 | $0.00758 |
| Sonnet 5 | $0.00000 | $0.00303 |
| Haiku 4.5 | $0.00000 | $0.00152 |
Grade A, and why
oxy-etl-builder 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 6d 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 — 198 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ETL Pipeline Builder
Build ETL (Extract-Transform-Load) pipelines using DLT (data-load-tools). Create robust, maintainable data pipelines that extract from APIs or files and load into data warehouses.
Scenario Detection
Before starting, determine the current state:
New Project (no etl/ directory)
- Set up the core framework first (see Core Setup below)
- Then proceed to source type classification
Existing Project (etl/ directory exists)
Skip directly to source type classification - the framework is already in place.
# Check project state
ls -la etl/core/pipeline.py 2>/dev/null && echo "Core exists" || echo "New project"
Source Type Classification
After scenario detection, classify what you're building:
What type of data source?
├─ Third-party API (Toast, Square, Stripe, etc.)
│ └─ Look for: playbook-api-connectors.md in the skills repo
│
├─ Spreadsheet/File (XLSX, CSV, etc.)
│ └─ Look for: playbook-spreadsheets.md in the skills repo
│
└─ Not sure
└─ Ask: "What is the data source? An API, a file/spreadsheet, or something else?"
Warehouse Handling (Defer + Detect)
Do NOT ask about warehouses upfront. Source code is warehouse-agnostic.
- Generate source code immediately - client.py, source.py, runner.py work with any warehouse
- Detect warehouse when needed - only when generating transforms or DDL:
- Check for existing DLT config (
dlt_secrets.toml,.dlt/) - Check
settings.pyor environment variables - Check
pyproject.tomlfor destination dependencies
- Check for existing DLT config (
- Ask only if undetectable - when transforms/DDL are needed and no config found
Supported warehouses: ClickHouse, Snowflake, MotherDuck/DuckDB, BigQuery
Output Contract
Every ETL pipeline must produce these files:
For API Connectors
etl/
├── sources/<provider>/
│ ├── __init__.py
│ ├── client.py # API client with auth, rate limiting
│ └── <entity>_source.py # DLT source with resources
├── runners/
│ └── <provider>_<entity>.py # Pipeline runner with CLI
└── transforms/ # Optional post-load transforms
└── compute_<entity>_metrics.py
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.
- 6d ago First seen · 198 lines · 0 tokens per session scan A 270006d6f545
oxy-etl-builder is a cursor rule published in the GitHub repository oxy-hq/skills (2 stars, last pushed 1mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,515 tokens. 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 cursor rules, from other repositories
llm-layer
LLM provider implementation patterns.
tensorflow
TensorFlow: Keras, model training, production deployment.
006_Program_of_Thought_Tutorial
DSPY 3 Program of Thought Tutorial - Production code reasoning system from official DSPy 3.0.1 tutorial.
standards-data-eng
Mandatory standards for Python and SQL data pipelines.
ponytail
Ponytail, lazy senior dev mode. Always pick the simplest solution that works.
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.