Agent skill

Integration Tests for pREST

by prest in prest/prest

Guides writing and reviewing pREST Docker-based integration tests so every HTTP request is explained by step comments or table-driven descriptions.

MITAuto-check passedTesting & QA

Install Integration Tests for pREST

skills CLI
$ npx skills add prest/prest --skill prest-integration-tests -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install prest/prest prest-integration-tests --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/prest/prest.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/prest-integration-tests .claude/skills/prest-integration-tests && rm -rf skills-src

Use ~/.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/

Facts

Skill name
prest-integration-tests
GitHub stars
4.6k
Token cost
~1.1k tokens
SKILL.md length
382 words
Files
2
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Guides writing and reviewing pREST Docker-based integration tests so every HTTP request is explained by step comments or table-driven descriptions.

  • Works in 4 steps: Choose the right folder: suites/ for… → Document every request (see below). → Prefer deployed-server helpers over… → …
  • Adding or editing integration tests under integration/ in pREST
  • SKILL.md covers Layout, When writing or editing, Human-readable step docs… and Structural placement, plus 1 more section
  • Calls make and go

What it does

The central rule is that integration tests must be human-readable: a reader should understand the scenario, the expected outcome and why each request matters without decoding URLs or status codes. A reference test file serves as the gold standard and `examples.md` shows patterns side by side. Shared helpers and test utilities sit under `integration/`, and two make targets run the suites: `make test-integration-postgres`, also aliased as `test-integration`, and `make test-integration-timescaledb`, which covers only Timescale-specific tests and does not re-run shared suites.

When writing, the agent chooses the `suites/` folder for wire-compatible HTTP tests or an engine-specific folder, documents every request, prefers deployed-server helpers to in-process servers and validates with the matching make target and workflow. In sequential tests, one to three comments precede every request: what is tested, the expected outcome and, when it is not obvious, why. Long request calls are wrapped for scanning, and local `go test` without Compose skips network tests when the test URL variables are unset.

When your agent uses it

  • Adding or editing integration tests under integration/ in pREST
  • Reviewing integration tests for readable request documentation
  • Choosing between the shared suites folder and an engine-specific folder

Example prompts

  • “Add integration tests for the new schema endpoint and document each request with step comments.”
  • “Review integration/postgres/controllers for requests that lack explanatory comments.”
  • “Where should a TimescaleDB-only test go, and which make target runs it?”

Requirements

  • Go
  • Docker and Docker Compose
  • `make`

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Choose the right folder: suites/ for wire-compatible HTTP (Postgres job);
  2. Document every request (see below).
  3. Prefer deployed-server helpers over in-process HTTP servers.
  4. Validate with the matching make test-integration-* target (and the matching

What it can do on your machine

Read from SKILL.md and the folder at commit f00df6e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • make
    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Integration Tests for pREST loads about 1.1k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 382 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from prest/prest at commit f00df6e, republished under its MIT licence (© prest). 382 words, ~1,139 tokens.

Download SKILL.mdSave it as .claude/skills/prest-integration-tests/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
prest-integration-tests
description
Guides writing and reviewing pREST Docker/network integration tests under integration/ so each request is human-readable via step comments or table-driven descriptions. Use when adding or editing integration/**/*_test.go, HTTP controller E2E coverage, make test-integration, test-integration-postgres, test-integration-timescaledb, or when the user asks for integration tests.

pREST Integration Tests

MUST invariants also live in .cursor/rules/integration-tests.mdc and .cursor/rules/integration-layout.mdc (this skill keeps examples + checklists).

Integration tests must be human-readable. A reader should understand the scenario, expected outcome, and why each request matters without decoding URLs or status codes alone.

Gold standard: integration/postgres/controllers/queries_database_test.go. Side-by-side patterns: examples.md.

Layout

text
integration/
  helpers/          # shared URL/auth/setup
  testutils/        # shared HTTP helpers
  suites/           # wire-compatible HTTP E2E (Postgres integration workflow)
  postgres/         # Postgres-only tests + docker-compose.yml
  timescaledb/      # Timescale-specific E2E + docker-compose.yml
TargetWorkflowComposePackages
make test-integration-postgres (alias: test-integration).github/workflows/test-integration.ymlintegration/postgres/docker-compose.yml./integration/suites/... ./integration/postgres/...
make test-integration-timescaledb.github/workflows/test-integration-timescaledb.ymlintegration/timescaledb/docker-compose.yml./integration/timescaledb/... only

Workflows run in parallel. The Timescale workflow does not re-run shared suites/ or Postgres packages — only Timescale-specific E2E.

Local go test without Compose skips network tests when PREST_*_TEST_URL is unset.

For adding a new SQL engine, see rule/skill sql-database-support (analysis + where-to-change).

When writing or editing

  1. Choose the right folder: suites/ for wire-compatible HTTP (Postgres job); postgres/ / timescaledb/ (etc.) for engine- or stack-specific tests.
  2. Document every request (see below).
  3. Prefer deployed-server helpers over in-process HTTP servers.
  4. Validate with the matching make test-integration-* target (and the matching GitHub workflow for that DB).

Human-readable step docs (required)

Sequential / imperative tests

Before every HTTP request, add 1–3 comments covering:

  1. What — endpoint or scenario under test
  2. Expected outcome — succeed or fail, and what that means
  3. Why (when non-obvious) — path params, auth, DB selection, etc.

Template:

go
// Test the <endpoint or scenario>
// Expected to succeed|fail and <outcome summary>.
// <optional: why / which path param or auth rule matters>
helpers.DoAuthRequest(...)

Also:

  • Wrap long DoRequest / DoAuthRequest calls across lines for scanability.
  • Use a stable scenario name string (last arg) that matches the comment intent (e.g. "QueriesDBExecuteWithDB").
Show full SKILL.md (154 more words)Show less
Table-driven tests

Skip per-request block comments when each case has a clear description field. Descriptions must state scenario + expected outcome in plain language.

  • Good: "Get tables with custom where invalid clause"
  • Bad: "case 1", "ok", "err"

Log or surface the description in the loop (t.Log(tc.description) or t.Run(tc.description, …)).

Structural placement

DoDon't
helpers.ServerURL, QueriesServerURL, AuthServerURL, MultiClusterServerURLhttptest.NewServer for standard controller routes
testutils.DoRequest / helpers.DoAuthRequestCall postgres.Load() or live DB outside integration/
Dedicated workflow + compose per DB (test-integration-<db>.yml)Fold a new DB into the Postgres compose or workflow

Controller behavior changes need unit tests and integration coverage (suites/ and/or the relevant DB folder).

Checklist

Before finishing a new or edited integration test:

  • File lives under integration/suites/ or integration/<db>/
  • Every request documented (step comments) or table description is self-explanatory
  • Expected status and failure cases called out in the docs
  • Uses existing helpers; no live DB via postgres.Load() outside integration/
  • Controller behavior changes include both unit + this integration coverage

© prest, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .cursor/skills/prest-integration-tests of prest/prest.

  • SKILL.md
  • examples.md

Open the folder on GitHubat commit f00df6e

Compare with similar skills

Integration Tests for pREST 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.

Integration Tests for pREST compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Integration Tests for pREST this skillprest/prest4.6k—~1.1kAutomated safety check: PassMIT
Airbyte Postgres Source E2E Testsairbytehq/airbyte22k—~2.5kAutomated safety check: PassCustom licence
Postgres CDC E2E Test Harnessairbytehq/airbyte22k—~1.9kAutomated safety check: PassCustom licence
Create Testrundeck/rundeck6.3k—~3.2kAutomated safety check: PassApache-2.0
Cb Build TestBlkLeg/CircuitBreaker201—~1.9kAutomated safety check: PassMIT
Run Testsansible-collections/community.postgresql144—~1kAutomated safety check: PassCustom licence

Similar skills

  • Official

    Starts a local PostgreSQL 16 container, loads SQL fixtures and runs the Airbyte spec, check, discover and read commands against a chosen source-postgres image.

    22k GitHub stars~2.5k tokensUpdated today
    Testing & QAAuto-check passed
  • Official

    Reproduces PostgreSQL logical-decoding CDC behavior for Airbyte's source-postgres connector on a local backend, with CDC fixtures, a catalog and smoke case scripts.

    22k GitHub stars~1.9k tokensUpdated today
    Testing & QAAuto-check passed
  • Create Test

    rundeck/rundeck

    Create backend tests for Rundeck (unit, API, functional). An agent skill from rundeck/rundeck.

    6.3k GitHub stars~3.2k tokensUpdated today
    Testing & QAAuto-check passed
  • Cb Build Test

    BlkLeg/CircuitBreaker

    How Circuit Breaker is built, tested, packaged, and kept secret-safe — the make dev/verify/test targets, the PostgreSQL integration test database and its fixtures, the mono Docker image and native…

    201 GitHub stars~1.9k tokensUpdated 2 days ago
    DevOps & CloudAuto-check passed
  • Run Tests

    ansible-collections/community.postgresql

    Runs and writes tests (sanity, unit, integration) for the community.postgresql Ansible collection using ansible-test.

    144 GitHub stars~1k tokensUpdated 15 days ago
    DevOps & CloudAuto-check passed
  • Local test harness for the Weave router: a docker compose stack plus codex exec runs that confirm how Codex requests are routed, translated and marked.

    5.6k GitHub stars~4.7k tokensUpdated today
    Testing & QAAuto-check: notes

More from prest/prest

  • Guides classifying, gap-analyzing and scaffolding support for a new SQL database in pREST, from Postgres-compatible variants to entirely new dialects.

    4.6k GitHub stars~1.6k tokensUpdated today
    Auto-check passed

Questions about Integration Tests for pREST

What does Integration Tests for pREST do?

Guides writing and reviewing pREST Docker-based integration tests so every HTTP request is explained by step comments or table-driven descriptions. The central rule is that integration tests must be human-readable: a reader should understand the scenario, the expected outcome and why each request matters without decoding URLs or status codes.md` shows patterns side by side.

When should I use Integration Tests for pREST?

Integration Tests for pREST fits situations like: adding or editing integration tests under integration/ in pREST; reviewing integration tests for readable request documentation; choosing between the shared suites folder and an engine-specific folder.

How do I install Integration Tests for pREST in Claude Code?

Run `npx skills add prest/prest --skill prest-integration-tests -a claude-code`. Or copy the skill folder (.cursor/skills/prest-integration-tests in prest/prest) into .claude/skills/prest-integration-tests in your project. Claude Code loads it when a task matches its description.

How do I install Integration Tests for pREST in Codex?

Run `npx skills add prest/prest --skill prest-integration-tests -a codex`. Or copy the skill folder (.cursor/skills/prest-integration-tests in prest/prest) into .agents/skills/prest-integration-tests in your project. Codex loads it when a task matches its description.

Can I use Integration Tests for pREST in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add prest/prest --skill prest-integration-tests -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/prest-integration-tests, .gemini/skills/prest-integration-tests, .github/skills/prest-integration-tests and .opencode/skills/prest-integration-tests in your project.

What does Integration Tests for pREST need to run?

Going by SKILL.md and its folder, Integration Tests for pREST needs the command-line tools its instructions call (make and go). Our summary lists: Go; Docker and Docker Compose; `make`.

Does Integration Tests for pREST access the network?

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.

Is Integration Tests for pREST safe to install?

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.

What licence does Integration Tests for pREST use?

Integration Tests for pREST is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Integration Tests for pREST use?

About 1.1k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Integration Tests for pREST?

Skills that share tags, products or a category with Integration Tests for pREST: Airbyte Postgres Source E2E Tests (airbytehq/airbyte, 22k stars), Postgres CDC E2E Test Harness (airbytehq/airbyte, 22k stars), Create Test (rundeck/rundeck, 6.3k stars) and Cb Build Test (BlkLeg/CircuitBreaker, 201 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Integration Tests for pREST?

prest (a GitHub organization) maintains it in prest/prest, which has 4,623 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 8, 2026.

Source: prest/prest on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.