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 agentmods add skills/srombauts/sqlitecpp/sqlitecpp-testing-practicesnpx skills add SRombauts/SQLiteCpp --skill sqlitecpp-testing-practicesgit clone --depth 1 https://github.com/SRombauts/SQLiteCppWhat 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 | $0.00021 | $0.00455 |
| Opus 5 | $0.00010 | $0.00228 |
| Sonnet 5 | $0.00004 | $0.00091 |
| Haiku 4.5 | $0.00002 | $0.00046 |
Grade A, and why
sqlitecpp-testing-practices 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.
What it actually says
SQLiteCpp Testing Practices
Scope
- Uses GoogleTest (system if found, otherwise
googletest/fallback). - Test files live in
tests/*_test.cpp(seetests/Database_test.cpp). - File headers use
@ingroup tests.
Test File Structure
#include <gtest/gtest.h>
#include <SQLiteCpp/Database.h>
TEST(DatabaseTest, CanOpenReadWriteDatabase)
{
// Arrange: setup test database
SQLite::Database db(":memory:", SQLite::OPEN_READWRITE | SQLite::OPEN_CREATE);
// Act: perform operation
db.exec("CREATE TABLE test (id INTEGER PRIMARY KEY)");
// Assert: verify behavior
EXPECT_EQ(1, db.exec("INSERT INTO test DEFAULT VALUES"));
}
Adding a New Test File
- Create
tests/NewClass_test.cpp. - Register it in
CMakeLists.txtunderSQLITECPP_TESTS. - Register it in
meson.buildundersqlitecpp_test_srcs.
Common Patterns
- Prefer
:memory:databases when possible. - Use file-based databases when testing file I/O behavior (see
tests/Database_test.cpp). - Use
TEST()for independent tests; useTEST_F()only when a shared fixture is needed.
Running Tests
# CMake (from build dir)
ctest --output-on-failure
bin/SQLiteCpp_tests --gtest_filter=Database.*
# Meson
meson test -C builddir
meson test -C builddir --test-args="--gtest_filter=Database.*"
Canonical References
- Test style:
tests/Database_test.cpp - CMake test list:
CMakeLists.txt(SQLITECPP_TESTS) - Meson test list:
meson.build(sqlitecpp_test_srcs)
Cross-References
- Workflow checklist:
sqlitecpp-workflow - Build configuration:
sqlitecpp-build-cmake,sqlitecpp-build-meson
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 · 60 lines · 21 tokens per session scan A ecf54099d33f
sqlitecpp-testing-practices is a skill published in the GitHub repository SRombauts/SQLiteCpp (2,781 stars, last pushed 6d ago), licensed MIT. It adds 21 tokens to every session and 455 once invoked, about $0.0001 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-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…