designing-application-transactions

A guide to building correct and efficient database transactions in CockroachDB, including how long they should stay open and how applications should retry them after conflicts.

In plain words
What is it for?
Use it to choose transaction boundaries, implement retries, select concurrency controls, configure connection pools, and move business rules into SQL.
Why use it?
It helps prevent errors, unnecessary contention, slow requests, and fragile read-then-write code when multiple users update data at once.

Skill for Claude CodeCodex

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 skills/cockroachdb/cursor-plugin/designing-application-transactions
Any agent
npx skills add cockroachdb/cursor-plugin --skill designing-application-transactions
Clone the repo
git clone --depth 1 https://github.com/cockroachdb/cursor-plugin

Made for: Claude Code, Codex.

Per session 102 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,159 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 100% copy Near-identical to another mod 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.00102 $0.05159
Opus 5 $0.00051 $0.02580
Sonnet 5 $0.00020 $0.01032
Haiku 4.5 $0.00010 $0.00516

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

Security

Grade A, and why

designing-application-transactions 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 2d 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.

Origin

This is a copy

100% identical to designing-application-transactions — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

skills/cockroachdb-application-development/designing-application-transactions/SKILL.md · 594 lines

How it starts

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

Designing Application Transactions

Guides application developers through the design principles and implementation patterns needed to build correct, performant, and resilient applications on CockroachDB. Covers the full spectrum from transaction scoping and retry logic to connection pooling and observability.

Complement to SQL skills: For SQL syntax, schema design, and query optimization, see cockroachdb-sql. For benchmarking transaction formulations under contention, see benchmarking-transaction-patterns.

When to Use This Skill

  • Designing transaction boundaries for a CockroachDB application
  • Implementing client-side retry logic with exponential backoff
  • Deciding between implicit and explicit transactions
  • Choosing between optimistic and pessimistic concurrency control
  • Replacing read-modify-write loops with atomic SQL
  • Configuring connection pools (HikariCP, pgbouncer, etc.)
  • Implementing keyset pagination instead of OFFSET/LIMIT
  • Using follower reads for reporting and analytics queries
  • Separating business orchestration from database transactions
  • Using prepared statements for performance and security
  • Selecting explicit column projections instead of SELECT *
  • Testing application behavior under concurrency
  • Monitoring application-level database performance

Prerequisites

  • Familiarity with CockroachDB's SERIALIZABLE isolation level
  • Understanding of ACID transaction semantics
  • Access to application source code for transaction design changes
  • SQL connection to a CockroachDB cluster (for testing and validation)

Steps

1. Keep Transactions Short-Lived

Transactions must include only the minimal set of SQL operations needed for one atomic state change. Do not place remote API calls, service-to-service requests, loops, expensive computation, or artificial waits inside a CockroachDB transaction.

Long-lived transactions increase intent lifetime, contention, and retry probability in CockroachDB's distributed, optimistic-concurrency architecture.

Read the full file on GitHub · 594 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 2d ago First seen · 594 lines · 102 tokens per session scan A cab9641fca14

Subscribe to this mod's changes

designing-application-transactions is a skill published in the GitHub repository cockroachdb/cursor-plugin (1 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 102 tokens to every session and 5,159 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to designing-application-transactions, differing in 0 lines, and is treated as a copy.

Related

Other skills, from other repositories

designing-application-transactions

Guides application developers in designing correct and performant transaction patterns for CockroachDB, covering transaction lifetime, implicit vs explicit transactions, retry handling with exponential backoff, pushing invariants into SQL, selective pessimistic locking, set-based operations, connection pooling…

cockroachdb/claude-plugin · 102 tokens

profiling-transaction-fingerprints

Analyzes transaction fingerprints using aggregated statistics from crdbinternal.transactionstatistics to identify high-retry transactions, contention patterns, and commit latency issues. Provides historical transaction-level analysis to understand which statement combinations are causing retries, contention, or…

cockroachdb/claude-plugin · 80 tokens

auditing-cloud-cluster-security

Audits the security posture of a CockroachDB cluster (Cloud or self-hosted) across network, authentication, authorization, encryption, audit logging, and backup dimensions. Use when assessing cluster security readiness, preparing for compliance reviews, or investigating security configuration gaps.

cockroachdb/claude-plugin · 59 tokens

configuring-sso-and-scim

Configures SSO authentication and SCIM 2.0 provisioning for CockroachDB across four distinct layers — Cloud Console SSO (SAML/OIDC), DB Console SSO (OIDC), SQL/Cluster SSO (JWT or LDAP/AD), and SCIM 2.0 automated provisioning. Use when enabling centralized identity management, setting up SSO for compliance, or…

cockroachdb/claude-plugin · 91 tokens

analyzing-range-distribution

Analyzes CockroachDB range distribution across tables and indexes using SHOW RANGES to identify range count, size patterns, leaseholder placement, and replication health. Use when investigating hotspots, uneven data distribution, range fragmentation, or validating zone configuration effects without DB Console access.

cockroachdb/claude-plugin · 60 tokens

auditing-table-statistics

Audits optimizer table statistics for staleness, missing coverage, and data quality issues using SHOW STATISTICS. Use when diagnosing poor query performance, unexpected plan changes, or after bulk data changes to identify stale statistics requiring refresh via CREATE STATISTICS.

cockroachdb/claude-plugin · 55 tokens