Rust Testing
axone-protocol/contracts
Patterns for Rust testing in Axone CosmWasm contracts. An agent skill from axone-protocol/contracts.
Helps choose and run cargo-pgrx commands and decide whether a Rust test is a plain test or a pg_test, so code never crosses the Postgres boundary the wrong way.
$ npx skills add yugabyte/yugabyte-db --skill cargo-pgrx -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install yugabyte/yugabyte-db cargo-pgrx --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/yugabyte/yugabyte-db.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx .claude/skills/cargo-pgrx && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "cargo-pgrx" agent skill from https://github.com/yugabyte/yugabyte-db/tree/master/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx into .claude/skills/cargo-pgrx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cargo-pgrx", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/yugabyte/yugabyte-db/tree/master/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrxType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add yugabyte/yugabyte-db --skill cargo-pgrx -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install yugabyte/yugabyte-db cargo-pgrx --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yugabyte/yugabyte-db.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx .agents/skills/cargo-pgrx && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cargo-pgrx" agent skill from https://github.com/yugabyte/yugabyte-db/tree/master/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx into .agents/skills/cargo-pgrx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cargo-pgrx", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yugabyte/yugabyte-db --skill cargo-pgrx -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install yugabyte/yugabyte-db cargo-pgrx --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yugabyte/yugabyte-db.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx .cursor/skills/cargo-pgrx && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "cargo-pgrx" agent skill from https://github.com/yugabyte/yugabyte-db/tree/master/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx into .cursor/skills/cargo-pgrx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cargo-pgrx", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/yugabyte/yugabyte-db.git --path src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add yugabyte/yugabyte-db --skill cargo-pgrx -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install yugabyte/yugabyte-db cargo-pgrx --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yugabyte/yugabyte-db.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx .gemini/skills/cargo-pgrx && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "cargo-pgrx" agent skill from https://github.com/yugabyte/yugabyte-db/tree/master/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx into .gemini/skills/cargo-pgrx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cargo-pgrx", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install yugabyte/yugabyte-db cargo-pgrxInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add yugabyte/yugabyte-db --skill cargo-pgrx -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/yugabyte/yugabyte-db.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx .github/skills/cargo-pgrx && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "cargo-pgrx" agent skill from https://github.com/yugabyte/yugabyte-db/tree/master/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx into .github/skills/cargo-pgrx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cargo-pgrx", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add yugabyte/yugabyte-db --skill cargo-pgrx -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install yugabyte/yugabyte-db cargo-pgrx --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yugabyte/yugabyte-db.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx .opencode/skills/cargo-pgrx && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "cargo-pgrx" agent skill from https://github.com/yugabyte/yugabyte-db/tree/master/src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx into .opencode/skills/cargo-pgrx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cargo-pgrx", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
cargo-pgrxHelps choose and run cargo-pgrx commands and decide whether a Rust test is a plain test or a pg_test, so code never crosses the Postgres boundary the wrong way.
The central idea is that a pgrx extension lives in two worlds. The extension's shared library runs inside the Postgres backend with access to its symbols, while the Rust test binary is an ordinary executable with none, so any reference to `pg_sys::*` there causes linker errors. Every choice about building, testing and running follows from knowing which world the code is in.
Tests are classified by one question: does the function, or anything it calls, need a symbol that lives in Postgres? If yes it is a `#[pg_test]`, which `cargo pgrx test` runs inside a live backend; if no it is a `#[test]`; and if unsure it is a `#[pg_test]`. Eleven reference files cover the bench, init, install, instance management, new, package, regress, run, schema, test and utilities commands. The excerpt is truncated.
Read from SKILL.md and the folder at commit 4a1e3de. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
cargoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
cargo-pgrx Commands and Tests loads about 1.9k tokens when it runs. Until then it costs about 26 tokens; SKILL.md has 940 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 940 words (~1,913 tokens).
“You understand that a pgrx extension lives in two worlds. The extension's shared library runs inside the Postgres backend -- it shares an address space with the server, has access to every internal symbol, and obeys Postgres memory management. The…”
SKILL.md and 11 other files in src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx of yugabyte/yugabyte-db.
Open the folder on GitHubat commit 4a1e3de
cargo-pgrx Commands and Tests next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| cargo-pgrx Commands and Tests this skillyugabyte/yugabyte-db | 11k | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| Rust Testingaxone-protocol/contracts | 123 | — | ~501 | Automated safety check: Pass | BSD-3-Clause | |
| Rust Testingkurealnum/dotfiles | 290 | 6 repos | ~2.9k | Automated safety check: Pass | None | |
| Validationjosstei/maestro-orchestrate | 465 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Scaffolding Oracle To Postgres Migration Test Projectgithub/awesome-copilot | 40k | — | ~687 | Automated safety check: Pass | MIT | |
| Rust Sqlx Postgres Servicehashgraph-online/awesome-codex-plugins | 1.3k | — | ~938 | Automated safety check: Pass | MIT |
axone-protocol/contracts
Patterns for Rust testing in Axone CosmWasm contracts. An agent skill from axone-protocol/contracts.
kurealnum/dotfiles
Rust testing patterns including unit tests, integration tests, async testing, property-based testing, mocking, and coverage.
josstei/maestro-orchestrate
Cross-cutting validation methodology for verifying phase outputs and project integrity
github/awesome-copilot
Scaffolds an xUnit integration test project targeting Oracle in .NET solutions.
hashgraph-online/awesome-codex-plugins
A skill your agent uses when adding, changing, testing, or reviewing Postgres persistence in Rust services that use sqlx, especially when designing migrations, query!
boshi-xixixi/TraeSkill
Scaffolds an xUnit integration test project for validating Oracle-to-PostgreSQL database migration behavior in .NET solutions.
yugabyte/yugabyte-db
Procedure for adding or changing YugabyteDB Active Session History wait states in TServer and DocDB C++ code, including the macro to use for sync and async paths.
yugabyte/yugabyte-db
Creates a Phorge code review diff for the current branch with arc diff, while applying public-repo confidentiality rules since Phorge content later lands verbatim on the public GitHub repo.
yugabyte/yugabyte-db
Creates a GitHub issue or JIRA ticket for a YugabyteDB change or bug, after scrubbing customer data, secrets and unreleased details from anything public.
yugabyte/yugabyte-db
Checks a YugabyteDB backport revision on Phorge against the original diff it was ported from and flags differences, tracing unexplained code back to master.
yugabyte/yugabyte-db
Runs read-only lookups - list, describe, get - against a live YugabyteDB Anywhere control plane using the yba CLI, with mutating commands explicitly off-limits.
yugabyte/yugabyte-db
Pushes the current branch to your fork and opens a cross-repository GitHub pull request, with a strict check against leaking customer data into public text.
Works with
Categories
Helps choose and run cargo-pgrx commands and decide whether a Rust test is a plain test or a pg_test, so code never crosses the Postgres boundary the wrong way. The central idea is that a pgrx extension lives in two worlds. The extension's shared library runs inside the Postgres backend with access to its symbols, while the Rust test binary is an ordinary executable with none, so any reference to `pg_sys::*` there causes linker errors.
cargo-pgrx Commands and Tests fits situations like: writing tests for a pgrx Postgres extension in Rust; deciding between cargo pgrx test, regress and run; debugging linker errors caused by pg_sys symbols in tests.
Run `npx skills add yugabyte/yugabyte-db --skill cargo-pgrx -a claude-code`. Or copy the skill folder (src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx in yugabyte/yugabyte-db) into .claude/skills/cargo-pgrx in your project. Claude Code loads it when a task matches its description.
Run `npx skills add yugabyte/yugabyte-db --skill cargo-pgrx -a codex`. Or copy the skill folder (src/postgres/third-party-extensions/pgrx/skills/cargo-pgrx in yugabyte/yugabyte-db) into .agents/skills/cargo-pgrx in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yugabyte/yugabyte-db --skill cargo-pgrx -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cargo-pgrx, .gemini/skills/cargo-pgrx, .github/skills/cargo-pgrx and .opencode/skills/cargo-pgrx in your project.
Going by SKILL.md and its folder, cargo-pgrx Commands and Tests needs the command-line tools its instructions call (cargo). Our summary lists: Rust with `cargo-pgrx` installed; A Postgres instance that pgrx can start for `pg_test` runs.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
cargo-pgrx Commands and Tests has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.
About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with cargo-pgrx Commands and Tests: Rust Testing (axone-protocol/contracts, 123 stars), Rust Testing (kurealnum/dotfiles, 290 stars), Validation (josstei/maestro-orchestrate, 465 stars) and Scaffolding Oracle To Postgres Migration Test Project (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
yugabyte (a GitHub organization) maintains it in yugabyte/yugabyte-db, which has 10,586 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 10, 2026.
Source: yugabyte/yugabyte-db on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.