agentsclimarketplace

Skill

Skill mayor01234/solana-tx-skill/skill

Reliable Solana transaction landing. The end-to-end lifecycle of getting a transaction confirmed on mainnet — compute-unit right-sizing, priority-fee estimation, blockhash lifetime, simulation, send-and-confirm with correct retries, Jito bundles for atomic/MEV-protected execution, durable nonces, versioned transactions with Address Lookup Tables, and a diagnose-why-it-didn't-land workflow. Extends solana-dev-skill with a transaction-reliability layer. Stack: @solana/kit (web3.js v2), @solana-program/compute-budget, 2026 RPC + Jito infrastructure.From its SKILL.md

Install
npx -y skills add mayor01234/solana-tx-skill --skill skill

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

11.7 KB, ~2.8k tokens by cl100k_base, as published. Nobody here has run it

Solana Transaction Reliability Skill

Extends: solana-dev-skill — Core Solana development (programs, frontend, testing, security)

Landing a transaction is the single most common operational failure on Solana: dropped transactions, blockhash expiry, under-budgeted compute, mis-bid priority fees, and silent preflight failures. This skill encodes the full "make it land, then prove it landed" lifecycle so an agent writes a robust send path the first time instead of a flaky one.

What This Skill Is For

Use this skill when the user asks about:

Sending & Landing

  • "My transactions keep dropping / timing out / never confirm"
  • Building a production transaction-sending function
  • Retry logic, confirmation, lastValidBlockHeight handling
  • skipPreflight, maxRetries, commitment levels

Fees & Compute

  • Priority fees: how much to pay, how to estimate dynamically
  • Compute unit right-sizing (stop hardcoding 200k / 1.4M)
  • Fee estimation via Helius / Triton / QuickNode / native RPC
  • Cutting overpayment without hurting landing rate

Atomicity & MEV

  • Jito bundles (atomic multi-tx, front-run resistance)
  • Revert protection (bundleOnly)
  • Tip sizing from the Jito tip floor

Transaction Shape

  • Versioned (v0) transactions + Address Lookup Tables (size limits)
  • Durable nonces (offline / delayed signing, no blockhash expiry)
  • Simulation-driven transaction construction

Diagnosis

  • "Why didn't this signature land?" — post-mortem on a failed/dropped tx

Program Authoring (Delegate to Core Skill)

Default Stack Decisions (Opinionated, June 2026)

  1. SDK: @solana/kit (the renamed web3.js v2). Functional, tree-shakeable, factory-based. Use gill when you want a lighter convenience wrapper over Kit. Legacy @solana/web3.js v1 (Connection, Transaction) only when an existing codebase mandates it — see sending-and-confirming.md for the interop note.
  2. Compute budget is mandatory, not optional. Every production transaction sets both a CU limit (from simulation + headroom) and a CU price. Never ship a transaction that relies on the implicit 200k-per-instruction default.
  3. Estimate, don't guess, both numbers. CU limit comes from getComputeUnitEstimateForTransactionMessageFactory (simulation). CU price comes from a fee oracle (Helius getPriorityFeeEstimate or native getRecentPrioritizationFees), scoped to the writable accounts your tx touches — local fee markets are per-account.
  4. Confirmation is blockhash-bounded. A transaction is alive only until its blockhash's lastValidBlockHeight. Retries re-send the same signed transaction within that window; they do not rebuild it. After expiry, rebuild with a fresh blockhash.
  5. Reach for Jito when atomicity or ordering matters (multi-leg arb, liquidations, competitive mints) or when native priority fees stop landing during contention. Otherwise a well-budgeted native transaction is simpler and cheaper.
  6. Always simulate before sending in any non-trivial path. Simulation gives you the CU estimate and surfaces program errors before you spend a fee.

Operating Procedure

1. Classify the Task

GoalSkill File(s)
Understand the fee model / why a tx costs what it doesfundamentals.md
Right-size compute unitscompute-budget.md
Decide / estimate the priority feepriority-fees.md
Build a robust send + confirm + retry pathsending-and-confirming.md
Need atomicity / MEV protection / contention bypassjito-bundles.md
Tx too big / many accountsversioned-tx-luts.md
Offline or delayed signingdurable-nonces.md
Validate a tx before sending / decode an errorsimulation.md
"Why didn't it land?"checklist.md → tx-debugger agent
Build/audit a complete sending pipelinechecklist.md → tx-optimizer agent

2. Apply the Standard Send Pipeline

The reliable path, in order (details in the linked files):

  1. Build the instruction list (your program calls).
  2. Simulate to get a CU estimate → simulation.md, compute-budget.md.
  3. Prepend compute budget: setComputeUnitLimit(estimate × 1.1) then setComputeUnitPrice(fee)compute-budget.md.
  4. Estimate the priority fee scoped to writable accounts → priority-fees.md.
  5. Set fee payer + a fresh blockhash lifetimesending-and-confirming.md.
  6. Sign.
  7. Send + confirm with sendAndConfirmTransactionFactory, or a manual re-send loop bounded by lastValidBlockHeightsending-and-confirming.md.
  8. On expiry: rebuild from a fresh blockhash and retry. On program error: stop and surface it (don't burn fees retrying a deterministic failure).

For atomic/competitive flows, swap steps 6–8 for the Jito bundle path → jito-bundles.md.

3. Verify

  • Confirm the signature reached your target commitment (confirmed/finalized).
  • Check requested-vs-used CU to catch overpayment (the doc's optimization metric).
  • Two-strike rule: if a send fails twice for the same reason, STOP and diagnose with checklist.md, don't loop.

Progressive Disclosure (Read When Needed)

Transaction Reliability (This Skill)

FileRead when…
fundamentals.mdYou need the fee model: base fee, CU, priority-fee formula, local fee markets, limits
compute-budget.mdRight-sizing CU limit/price (Kit + legacy)
priority-fees.mdEstimating the fee dynamically (Helius / Triton / QuickNode / native)
sending-and-confirming.mdSend, confirm, retry, blockhash lifetime, commitment, preflight
jito-bundles.mdAtomic bundles, tips, revert protection, statuses
versioned-tx-luts.mdv0 transactions + Address Lookup Tables, size limits
durable-nonces.mdOffline/delayed signing without blockhash expiry
simulation.mdPre-send validation, error decoding, replaceRecentBlockhash
checklist.mdThe land-it-reliably checklist + the didn't-land decision tree
error-reference.mdError string/code → category → cause → fix lookup
resources.mdSource-of-truth links

Runnable Reference & Tooling

This skill ships an executable companion at examples/reliable-send/ (not just prose):

  • reliableSend() — the standard pipeline as a drop-in, typed primitive.
  • Pure, unit-tested core — CU sizing, fee clamping, and failure classification with a passing test suite and a strict typecheck against the real @solana/kit types. When writing send code, prefer mirroring these tested functions over re-deriving the math.
  • tx-doctor CLInpx tsx bin/tx-doctor.ts <signature> --rpc <url> classifies a real transaction's failure using the same decision tree as checklist.md / error-reference.md. Offline mode: --err '<json>'.

Core Solana Dev Skills (from solana-dev-skill)

Provided by solana-dev-skill — install if not present.


Task Routing Guide

User asks about…Primary file(s)
Transactions dropping / not confirmingsending-and-confirming.md → checklist.md
How much priority fee to paypriority-fees.md
Estimating compute unitscompute-budget.md, simulation.md
setComputeUnitLimit / setComputeUnitPricecompute-budget.md
Helius getPriorityFeeEstimatepriority-fees.md
getRecentPrioritizationFeespriority-fees.md
sendAndConfirmTransactionFactorysending-and-confirming.md
lastValidBlockHeight / blockhash expiredsending-and-confirming.md
skipPreflight / maxRetries / commitmentsending-and-confirming.md
Jito bundle / sendBundlejito-bundles.md
Jito tip amount / tip floorjito-bundles.md
Revert protection / bundleOnlyjito-bundles.md
Front-running / MEV protectionjito-bundles.md
Atomic multi-step (arb, liquidation)jito-bundles.md
"Transaction too large"versioned-tx-luts.md
Address Lookup Tablesversioned-tx-luts.md
v0 vs legacy transaction versionversioned-tx-luts.md
Offline signing / hardware wallet delaydurable-nonces.md
Nonce accountdurable-nonces.md
simulateTransaction / preflight errorsimulation.md
Decode a custom program error codesimulation.md → solana-dev → security.md
Why didn't signature X land?checklist.md
Decode a specific error string/codeerror-reference.md → simulation.md
Diagnose a live signature automaticallyerror-reference.md (tx-doctor CLI)
Audit my sending codechecklist.md → tx-optimizer agent
Writing the program itselfsolana-dev → programs-anchor.md
Wallet adapter / connect buttonsolana-dev → frontend-framework-kit.md

Commands

CommandDescription
/diagnose-txDiagnose why a given signature or error failed to land
/audit-send-pathAudit a repo's transaction-sending code against the reliability checklist

Agents

AgentPurpose
tx-optimizerDesign/refactor a production send pipeline (CU, fees, retries, Jito)
tx-debuggerRoot-cause a dropped/failed transaction and propose the fix

What ships with it: 11 files

47.0 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,149. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.