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 kensaurus/cursor-kenji --skill data-pipelinegit clone --depth 1 https://github.com/kensaurus/cursor-kenjiWrote 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/kensaurus/cursor-kenji/data-pipeline)<a href="https://agentmods.dev/skills/kensaurus/cursor-kenji/data-pipeline"><img src="https://agentmods.dev/badge/skills/kensaurus/cursor-kenji/data-pipeline/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/kensaurus/cursor-kenji/data-pipeline"><img src="https://agentmods.dev/badge/skills/kensaurus/cursor-kenji/data-pipeline.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00068 | $0.01755 |
| Opus 5.5 | $0.00027 | $0.00702 |
| Sonnet 5.5 | $0.00014 | $0.00351 |
| Haiku 4.5 | $0.00007 | $0.00176 |
Grade A, and why
data-pipeline 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 — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Data Pipeline Correctness
Degree of freedom: MIXED. Layering and window design [HIGH freedom];
idempotency, atomic writes, overlap lock, and the DoD [LOW freedom — run exactly].
How to reason
- Observe — job, retry path, write targets, schedule
- Interpret — at-least-once vs atomic vs contract vs overlap
- Classify — upsert / window-recompute / quarantine / lock / watermark
- Severity — retry double-count outranks a missing metric
Worked example
Observe: nightly
refresh_order_statsdoescount = count + 1; cron overlapped twice; dashboard totals jumped. Interpret: at-least-once delivery + non-idempotent delta. Classify: recompute-and-replace the day window;pg_try_advisory_lock; persist a watermark. Verify: re-run the same window → identical rows; overlap skipped;pipeline_runsrecorded.
Self-critique before reporting
- Idempotent — same-window re-run proven identical, not assumed
- Atomic — mid-fail leaves no half-written batch
- Locked — the scheduled job has an overlap guard
- Right owner — schema/constraints →
audit-db-schema; post-hoc corruption hunt →plan-data-integrity
Pipelines fail silently: a retry double-counts, a partial write corrupts a table, a schema drift poisons a dashboard, and nobody notices until the numbers are wrong. This skill bakes correctness in at build time. It complements post-hoc data-integrity audit skills (which detect these after the fact) and the Supabase plugin (DB/Edge Functions/RLS).
When this fires
Any job that moves, transforms, or aggregates data: ingestion/ETL/ELT, scheduled aggregations, edge-function workers, pg_cron jobs, queue consumers, webhook processors, backfills, materialized-view refreshes.
Non-negotiables (the 5 that prevent silent corruption) [LOW freedom — run exactly]
- Idempotency — running the same job twice must not change the result. Retries, at-least-once queues, and overlapping cron fires are guaranteed, not hypothetical.
- Use
INSERT ... ON CONFLICT (natural_key) DO UPDATE(upsert), not blindINSERT. - Derive a deterministic dedup key from the source event, not
now()or a random id. - For aggregates: recompute-and-replace a window, or use idempotent deltas — never
count = count + 1on a path that can retry.
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 Changed · +4 lines · -13 tokens per session 2e627ca1074c
- 1mo ago First seen · 106 lines · 81 tokens per session scan A a609252f1351
data-pipeline is a skill published in the GitHub repository kensaurus/cursor-kenji (9 stars, last pushed 26d ago), licensed MIT. It adds 68 tokens to every session and 1,755 once invoked, about $0.0003 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-09-03.
Other skills, from other repositories
python-dev
Python backend conventions for this project. Use when implementing or modifying API endpoints, database models/migrations, services, schemas, or backend tests.
ai-evals-builder
Build AI evals using the Husain-Shankar framework (error analysis, open/axial coding, LLM-as-judge). Use when a user needs to create, improve, or debug evals for an AI product — including defining failure modes, building LLM judges, or setting up production monitoring for an LLM application.
firebase-ai
Use when setting up firebaseai, generating text/chat with Gemini, streaming AI output, building multimodal prompts, or handling AI errors.
firebase-cloud-functions
Use when calling callable functions (httpsCallable), passing data to server-side logic, handling function errors/timeouts, configuring regions, or testing with the Emulator Suite.
developing-genkit-dart
Use when building AI agents in Dart, implementing Genkit flows or tools, integrating LLMs into Dart or Flutter applications, or using Genkit Dart plugins.
create-handler
Create a new API handler following the handler pattern. Use when the user asks to create an endpoint, handler, or route.