Skip to content
Databases
Skill

/testing-orcaq

OrcaQ-specific testing guide. Use when asked to run, debug, or write tests for OrcaQ. Covers all bun test:* scripts, fixture profiles, Vitest projects (unit / nuxt / integration), and Playwright DB projects. Load BEFORE suggesting any test command so the agent uses the correct

From plugin
orca-q
21919 skills
Install
$ npx -y skills add cin12211/orca-q --skill testing-orcaq --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/testing-orcaq

Context preview

The summary Claude sees to decide when to auto-load this skill.

OrcaQ-specific testing guide. Use when asked to run, debug, or write tests for OrcaQ. Covers all bun test:* scripts, fixture profiles, Vitest projects (unit / nuxt / integration), and Playwright DB projects. Load BEFORE suggesting any test command so the agent uses the correct

SKILL.md

testing-orcaq.SKILL.md
name: testing-orcaq
description: >
  OrcaQ-specific testing guide. Use when asked to run, debug, or write tests
  for OrcaQ. Covers all bun test:* scripts, fixture profiles, Vitest projects
  (unit / nuxt / integration), and Playwright DB projects. Load BEFORE
  suggesting any test command so the agent uses the correct script and profile.
tools: Read, Edit, Bash, Grep, Glob
category: testing
color: blue
displayName: OrcaQ Testing
applyTo: 'test/**,scripts/test-services/**,.github/workflows/**'

OrcaQ Testing — Agent Skill

> Read `docs/TESTING_GUIDE.md` for the full reference. This skill encodes the > decision rules so you choose the right command without checking every time.

---

1. Decision Tree — Which Command?

Is the test purely logic / no DB / no browser?
  └─ YES → bun test:unit
  └─ NO →
      Is it a Vue component test (nuxt env)?
        └─ YES → bun test:nuxt
        └─ NO →
            Is it an API / server integration test?
              └─ YES →
                  Are fixtures already running?
                    └─ YES → bun test:api:raw
                    └─ NO  → bun test:api          ← auto-provisions + cleans up
              └─ NO →
                  It is a Playwright E2E test.
                  Do you need a specific DB only?
                    └─ YES → bash scripts/test-services/run-tests.sh --fixtures=<profile> -- playwright test --project <db>
                    └─ NO  → bun test:e2e          ← all fixtures, all projects

---

2. npm Script Reference

| Script | What it does | Needs Docker? | | ------------------------ | ----------------------------------------------- | ------------- | | `bun test:all` | All Vitest suites (unit + nuxt + integration) | No | | `bun test:unit` | Unit tests only (`test/unit/`) | No | | `bun test:nuxt` | Nuxt component tests (`test/nuxt/`) | No | | `bun test:api` | Integration tests — auto starts all fixtures | Yes | | `bun test:api:raw` | Integration tests — fixtures must already be up | Yes | | `bun test:e2e` | Playwright — auto starts all fixtures | Yes | | `bun test:e2e:raw` | Playwright — fixtures must already be up | Yes | | `bun test:coverage` | Full coverage report | No | | `bun test:watch` | Watch mode (development) | No | | `bun test:fixtures:up` | Start all Docker fixtures | Yes | | `bun test:fixtures:down` | Stop and remove all Docker fixtures | Yes |

---

3. Vitest Projects

| Project flag | Files | Notes | | ----------------------- | ------------------------------- | ------------------------ | | `--project unit` | `test/unit/**/*.{test,spec}.ts` | Pure logic, no framework | | `--project nuxt` | `test/nuxt/**/*.{test,spec}.ts` | Vue component tests | | `--project integration` | `test/api/**/*.{test,spec}.ts` | Requires all DB fixtures |

Run one file:

bun vitest --run test/unit/core/helpers/myHelper.spec.ts

---

4. Playwright Projects & Fixture Profiles

| Playwright project | Fixture profile to use | | ------------------ | ---------------------------------- | | `common` | `all` | | `postgres` | `postgres` | | `mysql` | `mysql` | | `mariadb` | `mariadb` | | `redis` | `redis` | | `sqlite` | `sqlite` | | `oracle` | manual (no Docker compose profile) |

Run isolated by DB:

bash scripts/test-services/run-tests.sh --fixtures=postgres -- playwright test --project postgres
bash scripts/test-services/run-tests.sh --fixtures=redis   -- playwright test --project redis
bash scripts/test-services/run-tests.sh --fixtures=sqlite  -- playwright test --project sqlite

---

5. Fixture Profile Reference

| Profile | Containers started | | ---------- | ---------------------------- | | `postgres` | PostgreSQL 16 only | | `mysql` | MySQL 8.4 only | | `mariadb` | MariaDB 11.4 only | | `sql` | PostgreSQL + MySQL + MariaDB | | `redis` | Redis 7.4 only | | `sqlite` | File prep only (no Docker) | | `all` | All of the above | | `none` | Nothing |

Manual fixture control:

bash scripts/test-services/start-fixtures.sh --profile <profile>
bash scripts/test-services/stop-fixtures.sh  --profile <profile>

---

6. Key Env Vars

All use `ORCAQ_` prefix. Defaults are set by `start-fixtures.sh` automatically.

ORCAQ_POSTGRES_PORT=5432      ORCAQ_POSTGRES_DATABASE=pagila
ORCAQ_MYSQL_PORT=3306         ORCAQ_MYSQL_DATABASE=sakila
ORCAQ_MARIADB_PORT=3307       ORCAQ_MARIADB_DATABASE=sakila
ORCAQ_REDIS_PORT=6379
ORCAQ_KEEP_FIXTURES=1         # keep containers alive after run
ORCAQ_FIXTURE_PROFILE=all     # override profile via env

---

7. Fast Iteration Pattern

When iterating on integration or E2E tests, start fixtures once and reuse:

bun test:fixtures:up           # 1× — start all containers
bun test:api:raw               # run repeatedly
# or
bun test:e2e:raw               # run repeatedly
bun test:fixtures:down         # done

---

8. Rules the Agent Must Follow

1. **Never run `test:api` or `test:e2e` when fixtures are already up** — use the `:raw` variant to avoid double-provisioning. 2. **Never start all fixtures to test a single DB** — use the matching profile. 3. **Always run `bun test:unit` after any source change** to verify no regression before run

Read more
Ships withorca-q

The open source | Next Generation database editor

Get the whole plugin

Other skills on orca-q.