Borrowing it
Nothing to install: this file belongs to inflexa-ai/inflexa. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/inflexa-ai/inflexa/main/.claude/skills/db-ops/SKILL.mdgit clone --depth 1 https://github.com/inflexa-ai/inflexaWrote 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/inflexa-ai/inflexa/db-ops)<a href="https://agentmods.dev/skills/inflexa-ai/inflexa/db-ops"><img src="https://agentmods.dev/badge/skills/inflexa-ai/inflexa/db-ops/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/inflexa-ai/inflexa/db-ops"><img src="https://agentmods.dev/badge/skills/inflexa-ai/inflexa/db-ops.svg" alt="Reviewed on agentmods" width="80" 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.00042 | $0.02228 |
| Opus 5 | $0.00021 | $0.01114 |
| Sonnet 5 | $0.00008 | $0.00446 |
| Haiku 4.5 | $0.00004 | $0.00223 |
Grade A, and why
db-ops 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 yesterday.
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 — 165 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Database Operations
The storage layer is hand-written SQLite (bun:sqlite) under src/db/. Every function returns
Result<T, DbError> from neverthrow — callers handle both paths. Reads live in primary_query.ts,
writes in primary_mutation.ts, shared helpers in util.ts, the error model in errors.ts, and
the schema in primary_migrations.ts.
Naming → return type
The function name encodes the operation, and the verb fixes the return type. Match these exactly — they are the contract.
| Function | Operation | Returns |
|---|---|---|
get<Entity>(id) |
one row by primary key | Result<Entity | null, DbError> — null = not found |
get<Entity>By<Key>(key) |
one row by a non-PK key (only when a second lookup axis exists) | Result<Entity | null, DbError> |
list<Entity>() / list<Entity>By<Parent>(pid) |
many rows | Result<Entity[], DbError> — [] when none |
count<Entity>(…) |
aggregate count | Result<number, DbError> |
<entity>Exists(…) |
existence check | Result<boolean, DbError> |
create<Entity>(…) |
INSERT, this function mints the id | Result<Entity, DbError> |
insert<Entity>(entity) |
INSERT, caller supplies a fully-formed entity | Result<Entity, DbError> |
update<Entity>(…) / update<Entity><Field>(id, …) |
UPDATE | Result<number, DbError> — rows changed (0 = no such row) |
touch<Entity>(id) |
heartbeat update that must NOT bump updatedAt |
Result<number, DbError> |
delete<Entity>(id) |
hard DELETE | Result<number, DbError> — rows changed |
Rules the table encodes:
getreturns one,listreturns many. A many-row read is alwayslist*, even when keyed by a parent (listAnalysisInputs).- Absence is not an error. A missing single row is
ok(null); a mutation that matches nothing isok(0).DbErroris reserved for genuine failures (connection, exec, constraint, migration) — never "not found". - Mutations report rows changed.
update*/delete*/touch*return the.changescount from.run(), so a caller can detect a no-op (n === 0) without a follow-up read. createvsinsertencodes id ownership.create*mints the id inline withrandomUUIDv7();insert*takes an entity whose id is already fixed by the caller (e.g.insertAnchor— its id is the write-once on-disk marker UUID and must be preserved, not regenerated).
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.
- yesterday First seen · 165 lines · 42 tokens per session scan A a3d90c73d933
db-ops is a skill published in the GitHub repository inflexa-ai/inflexa (33 stars, last pushed today), licensed Apache-2.0. It adds 42 tokens to every session and 2,228 once invoked, about $0.0002 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-09-09.
Other skills, from other repositories
dna-methylation-file-format-handling
Use when you have CpG methylation call files (from Bismark or MethylDackel) and need to load them into R for differential methylation analysis, but anticipate memory constraints or want to avoid loading the entire dataset into memory.
methylkit-database-mode-configuration
Use when when analyzing DNA methylation data from bisulfite sequencing (RRBS, target-capture, or whole-genome) and the dataset is too large to fit comfortably in memory, or when you need to process multiple large samples sequentially without reloading data.
biosymphony-structure-factory
Use when planning structural biology campaigns, binder-design triage, model comparison, structure mapping, RunPod or cloud GPU stage contracts, or Symphony or Linear task packs for long-running biological agent work.
binder-lane-round
Plan and run study-shaped protein-binder rounds with interchangeable toolchains, execution profiles, license gates, output checks, and result boundaries.
esm2
Skill for working with ESM2 protein language models from Meta FAIR. Use this skill whenever the user wants to generate protein embeddings or representations, score variant effects or predict mutation fitness, run contact prediction, or use ESMFold for structure prediction. Also trigger when the user mentions ESM2…
evo2
Skill for genomic sequence modeling and design with Evo2 from Arc Institute. Use this skill when a user wants to model or generate DNA sequences, score variant effects at single-nucleotide resolution, extract genomic embeddings, analyze mutations in non-coding or coding regions, design synthetic genomic elements…