vsql-extension-builder
Build a VillageSQL extension — custom SQL functions or custom types — in C++ or Rust, including a port of an existing PostgreSQL…
Answer a VillageSQL question from the published documentation at villagesql.com/docs. Use when the user asks how a VillageSQL feature, extension, SQL statement, system variable, or error message works.
Claude Code
$ npx -y skills add villagesql/villagesql-skills --skill vsql-docs --agent claude-code
Codex
$ npx skills add villagesql/villagesql-skills --skill vsql-docs -a codex -y
Cursor
$ npx skills add villagesql/villagesql-skills --skill vsql-docs -a cursor -y
Gemini CLI
$ npx skills add villagesql/villagesql-skills --skill vsql-docs -a gemini-cli -y
GitHub Copilot
$ npx skills add villagesql/villagesql-skills --skill vsql-docs -a github-copilot -y
OpenCode
$ npx skills add villagesql/villagesql-skills --skill vsql-docs -a opencode -y
Windsurf
$ npx skills add villagesql/villagesql-skills --skill vsql-docs -a windsurf -y
name: vsql-docs description: > Answer a VillageSQL question from the published documentation at villagesql.com/docs. Use when the user asks how a VillageSQL feature, extension, SQL statement, system variable, or error message works. argument-hint: "[question or keyword]"
Answer from the docs, not from memory. VillageSQL changes every release, and names carried over from MySQL or PostgreSQL are often wrong here.
1. **Pick the docs version.** If a server is already connected, run `SELECT VERSION();`. `8.4…` means `8.4`, `9.7…` means `9.7`, and `-dev` in the version means `dev`; otherwise `stable`. With no server, use `8.4` and `stable`, and say so.
2. **Search.** Use the VillageSQL docs search tool if you have it. Its name contains `search_village_sql_server_for_my_sql`. Server pages live under `en/<8.4|9.7>/<stable|dev>/`; ignore results under a different one. Pages under `en/extensions/`, `en/sdk/`, `en/guides/`, and `en/tutorial/` apply to every version. They describe the latest release, and a note that starts "Changed in <version>-dev" says what differs on a `dev` server.
Without that tool, read <https://villagesql.com/docs/llms.txt> and the guide list it links to, and pick the pages from them.
3. **Read the whole page** before answering. Take the page address, remove any `#anchor`, and add `.md`, for example <https://villagesql.com/docs/en/extensions/install.md>. Do not use the docs file tool for this: its copies of long pages are incomplete.
4. **Answer.** Link each page you used. Copy commands and error messages exactly from the page. Say which docs version you used. If nothing answers the question, say that the search found nothing. Do not say the feature does not exist.
Agent skills for working with VillageSQL. Skills run in Claude Code, agy, Codex, Cursor, Amp, Kiro, OpenCode, and OpenClaw.
Build a VillageSQL extension — custom SQL functions or custom types — in C++ or Rust, including a port of an existing PostgreSQL…
Get a working VillageSQL server on this machine and prove it works — choose an install path (installer, Docker, or source), start…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.