Skip to content

Guide · Agent skill

How to use the SQLite Expert agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The SQLite Expert skill is a written guide that teaches an AI agent how to work with SQLite well: setting up WAL mode and busy timeouts, designing indexes, checking query plans, and writing advanced SQL such as FTS5 search, JSON queries, recursive CTEs and window functions. This page explains what a skill is, how to install sqlite-expert, how to ask for help in plain language, and where it is and is not the right tool. By the end you will have the skill loaded and know what kinds of requests will activate it.

SQLite ExpertRightNow-AI/openfang · Apache-2.0

Quick start

  1. 1Download the ZIP. Download the sqlite-expert ZIP from this page. It contains SKILL.md.
  2. 2Choose an install location. Pick ~/.claude/skills/ for personal use or .claude/skills/ inside a project.
  3. 3Unzip the skill. Unzip the file so the sqlite-expert folder with SKILL.md sits in the chosen skills folder.
  4. 4Or upload in the Claude apps. In the Claude apps, go to Settings → Capabilities → Skills and upload the ZIP.
  5. 5Ask a SQLite question. Describe your goal, your platform and the relevant SQL or error in plain language.
  6. 6Check the plan yourself. Run EXPLAIN QUERY PLAN on your query and share the output for more specific advice.

What the sqlite-expert skill makes the agent do

An agent skill is a folder containing a SKILL.md file with instructions that an AI agent reads when a task matches the skill's description. The sqlite-expert skill covers SQLite internals, performance tuning and embedded database patterns, from mobile and IoT apps to caching layers and analytical workloads.

Once loaded, the agent gives guidance grounded in the skill's principles and techniques. It recommends enabling WAL mode for concurrent reads and writes, using a busy timeout such as 5000ms instead of failing immediately on contention, and creating indexes that match your queries. It can suggest performance PRAGMAs set at connection open, and it reminds you to check plans with EXPLAIN QUERY PLAN.

  • Full-text search with FTS5 (CREATE VIRTUAL TABLE with MATCH and bm25() ranking)
  • JSON queries with json_extract(), json_each() and json_group_array()
  • Recursive CTEs for trees, graphs and generated series
  • Window functions such as ROW_NUMBER, LAG, LEAD and SUM OVER
  • Covering indexes, verified by a COVERING INDEX line in EXPLAIN QUERY PLAN
  • UPSERT with INSERT ... ON CONFLICT DO UPDATE
  • ATTACH DATABASE for querying across several SQLite files, plus schema versioning with PRAGMA user_version

How do you install the sqlite-expert skill?

Download the sqlite-expert ZIP from this page. The skill ships as a single file, SKILL.md. You can install it in one of two ways.

For Claude Code, unzip the download into a skills folder. For a personal install, use ~/.claude/skills/. For a single project, use the .claude/skills/ folder inside that project. After unzipping, the sqlite-expert folder should contain SKILL.md.

In the Claude apps, you can upload the ZIP instead. Go to Settings, then Capabilities, then Skills, and upload the file there.

  • Personal install: ~/.claude/skills/sqlite-expert/SKILL.md
  • Project install: .claude/skills/sqlite-expert/SKILL.md inside your project
  • Claude apps: Settings → Capabilities → Skills, then upload the ZIP
~/.claude/skills/sqlite-expert/SKILL.md

How do you trigger the skill with natural requests?

You do not need a special command. The skill's description covers WAL mode, query optimization, embedded patterns and advanced features, so ask about those topics in ordinary language and mention SQLite by name. Be specific about your situation, because the guidance depends on it: your platform, your data size, how many processes write to the database, and the query or error you are seeing.

Good requests name the goal and include the relevant SQL or error text. Vague requests such as 'make my database faster' give generic advice.

  • 'My SQLite app gets SQLITE_BUSY errors when two threads write. What settings should I use?'
  • 'Explain why this query does a full table scan and suggest an index.'
  • 'Write an FTS5 table for article titles and bodies and show how to rank matches with bm25().'
  • 'Rewrite this report query using a window function to get a running total per customer.'

What can you expect from the answers?

Expect answers that follow the skill's guidance: concrete PRAGMA settings, index suggestions, and SQL using the features listed above. The skill also includes pitfalls. For example, it says to set WAL mode and other PRAGMAs consistently on every connection, and to keep large BLOBs over 1MB outside the database as files.

The skill is also honest about limits. If you describe dozens of simultaneous writers, the guidance points toward a client-server database such as PostgreSQL.

What does the skill need, and what does it run?

The skill lists no requirements. It runs no scripts and makes no network calls. It is a single SKILL.md text file, and it does not connect to your database or read your files.

That matters for expectations. The agent cannot inspect or change your actual database through this skill. When it recommends EXPLAIN QUERY PLAN, you run that yourself and paste the output back. Any file changes come from you or from other tools you have set up.

  • Requires: nothing listed
  • Runs scripts: no
  • Uses network: no
  • Files: SKILL.md

What tips help you get the most from it?

Give the agent real evidence. Paste your schema, the query, and the EXPLAIN QUERY PLAN output. Recommendations based on the actual plan are more reliable than guesses about the plan.

Apply PRAGMAs in your application's connection setup code so every connection uses the same settings. The skill specifically warns against mixing PRAGMA settings across connections.

  • Include the table definitions and indexes in your question.
  • Share the exact error text, such as SQLITE_BUSY.
  • Ask the agent to explain the tradeoff before you adopt a change.
  • Test recommended settings on a copy of your database first.

What people use it for

  • Setting up a mobile or desktop app's SQLite connection with WAL mode and a busy timeout.
  • Finding why a query scans the whole table and proposing a covering index.
  • Adding full-text search to a SQLite-backed notes or documents app with FTS5.
  • Writing a report query with window functions or a recursive CTE for a hierarchy.
  • Deciding whether SQLite fits a workload with many simultaneous writers.

Frequently asked questions

Is the sqlite-expert skill free?

The skill is published under the Apache-2.0 licence, as listed on this page. Check the licence file in the source repository for the full terms before you reuse it.

What do I need to install the sqlite-expert skill?

The skill lists no requirements. You download the ZIP, unzip it into ~/.claude/skills/ or a project's .claude/skills/ folder, or upload it in the Claude apps under Settings → Capabilities → Skills.

Does the skill run scripts or access the internet?

No. The skill runs no scripts and uses no network. It is a single SKILL.md guidance file.

Can the agent connect to and change my SQLite database with this skill?

No. The skill is guidance text only and does not connect to your database. You run commands like EXPLAIN QUERY PLAN yourself and share the results.

Should I use SQLite or PostgreSQL for many simultaneous writers?

The skill says SQLite is a poor fit for high-concurrency workloads with dozens of simultaneous writers. In that case it recommends PostgreSQL or another client-server database.

How do I fix SQLITE_BUSY errors?

The skill recommends enabling WAL mode with PRAGMA journal_mode=WAL and setting PRAGMA busy_timeout to a reasonable wait such as 5000ms. Ask the agent with your exact error and connection setup for guidance specific to your code.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use sqlite-expert if you build apps that store data in SQLite, need to tune a slow query, or want SQL help with window functions, CTEs or JSON. Skip it if you run a high-concurrency, multi-writer system, which the skill itself says belongs on a client-server database such as PostgreSQL, or if you expect the agent to inspect or change a live database.

Download the skill