async-io-model
Explanations of common asynchronous patterns used in tursodb. Involves IOResult, state machines, re-entrancy pitfalls,…
General Correctness rules, Rust patterns, comments, avoiding over-engineering. When writing code always take these into account
Claude Code
$ npx -y skills add tursodatabase/turso --skill code-quality --agent claude-code
Codex
$ npx skills add tursodatabase/turso --skill code-quality -a codex -y
Cursor
$ npx skills add tursodatabase/turso --skill code-quality -a cursor -y
Gemini CLI
$ npx skills add tursodatabase/turso --skill code-quality -a gemini-cli -y
GitHub Copilot
$ npx skills add tursodatabase/turso --skill code-quality -a github-copilot -y
OpenCode
$ npx skills add tursodatabase/turso --skill code-quality -a opencode -y
Windsurf
$ npx skills add tursodatabase/turso --skill code-quality -a windsurf -y
name: code-quality description: General Correctness rules, Rust patterns, comments, avoiding over-engineering. When writing code always take these into account
Production database. Correctness paramount. Crash > corrupt.
1. **No workarounds or quick hacks.** Handle all errors, check invariants 2. **Assert often.** Never silently fail or swallow edge cases 3. **Crash on invalid state** if it risks data integrity. Don't continue in undefined state 4. **Consider edge cases.** On long enough timeline, all possible bugs will happen
Wrong:
if condition {
// happy path
} else {
// "shouldn't happen" - silently ignored
}Right:
// If only one branch should ever be hit:
assert!(condition, "invariant violated: ...");
// OR
return Err(LimboError::InternalError("unexpected state".into()));
// OR
unreachable!("impossible state: ...");Use if-statements only when both branches are expected paths.
When code involves index inserts, deletes, or conflict resolution, double-check the ordering against SQLite. Wrong ordering causes index inconsistencies. and easy to miss.
If a helper function has no meaning outside of a single use case, move it inside the function that uses it:
fn do_something() {
something_specific();
fn something_specific() {
}
}A SQL database in Rust: SQLite-compatible, now also speaking Postgres (experimental). The LLVM of databases.
Explanations of common asynchronous patterns used in tursodb. Involves IOResult, state machines, re-entrancy pitfalls,…
Change Data Capture - architecture, entrypoints, bytecode emission, sync engine integration, tests
How to debug tursodb using Bytecode comparison, logging, ThreadSanitizer, deterministic simulation, and corruption analysis tools
Information about the differential fuzzer tool, how to run it and use it catch bugs in Turso. Always load this skill when running…
Generate hierarchical AGENTS.md knowledge base for a codebase. Creates root + complexity-scored subdirectory documentation.
How to benchmark and analyze memory usage in Turso using the memory-benchmark crate and dhat heap profiler. Use this skill…
Use this skill to extract structured Markdown/JSON from PDFs and document images—tables with cell-level precision, formulas as…
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps,…