Test a change in Open Data Capture. An agent skill from DouglasNeuroInformatics/OpenDataCapture.

Apache-2.0Auto-check: notesTesting & QA

Install Odc Testing

skills CLI
$ npx skills add DouglasNeuroInformatics/OpenDataCapture --skill odc-testing -a claude-code

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

GitHub CLI
$ gh skill install DouglasNeuroInformatics/OpenDataCapture odc-testing --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/DouglasNeuroInformatics/OpenDataCapture.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/odc-testing .claude/skills/odc-testing && 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
odc-testing
GitHub stars
119
Token cost
~1.5k tokens
SKILL.md length
765 words
Files
2
Skills in repo
16
Repo updated
First seen
Licence
Apache-2.0

At a glance

Test a change in Open Data Capture. An agent skill from DouglasNeuroInformatics/OpenDataCapture.

  • Adding a unit test
  • SKILL.md covers The package may have no unit…, Choose the tier before you…, Make the run name your file and What the unit environment…, plus 2 more sections
  • Calls pnpm
  • A Playwright e2e test

What it does

Odc Testing is an agent skill from DouglasNeuroInformatics/OpenDataCapture. Test a change in Open Data Capture. Use when adding a unit test or a Playwright e2e test, when a package has no vitest.config.ts of its own, when a suite passes without executing your test, or when vitest reports "No projects matched the filter". tdd supplies the red-green method; a one-off manual check in the browser is agent-browser's job.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Testing & QA, covering Unit testing, End-to-end testing and Browser automation. It works with Vitest, Playwright and pnpm. The repository describes itself as: An electronic data capture platform for administering remote and in-person clinical instruments. The licence is Apache-2.0.

When your agent uses it

  • Adding a unit test
  • A Playwright e2e test
  • A package has no vitest.config.ts of its own
  • A suite passes without executing your test

Example prompts

  • “No projects matched the filter”
  • “/odc-testing”

What it can do on your machine

Read from SKILL.md and the folder at commit 432dec8. 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:

    • pnpm

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

  • Network

    No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.

    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

Odc Testing loads about 1.5k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 765 words of instructions outside code blocks.

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

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:72
    - **`.env` must exist.** `pnpm test` is `env-cmd vitest` — no turbo task, no build, no database —
  • NoteMentions a .env fileSKILL.md:73
    nv-cmd` exits before vitest starts when `.env` is absent.

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 DouglasNeuroInformatics/OpenDataCapture at commit 432dec8, republished under its Apache-2.0 licence (© DouglasNeuroInformatics). 765 words, ~1,491 tokens.

Download SKILL.mdSave it as .claude/skills/odc-testing/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
odc-testing
description
Test a change in Open Data Capture. Use when adding a unit test or a Playwright e2e test, when a package has no vitest.config.ts of its own, when a suite passes without executing your test, or when vitest reports "No projects matched the filter". tdd supplies the red-green method; a one-off manual check in the browser is agent-browser's job.

A test file is worth nothing until it is collected — an uncollected file reports the behaviour as covered and never runs. This repo's collection mechanism fails silently, so nothing below is finished on a green run alone.

The package may have no unit tier at all

A workspace with no vitest.config.ts of its own contributes no project, so a test file dropped into apps/gateway or packages/instrument-library today is collected by nothing, reported by nothing, and passes CI green, with no error to search for. .agents/docs/architecture/testing-strategy.md holds the table of which packages have a project and which do not; check it before you write the file.

When yours is not in that table, read that package's own AGENTS.md §Tests first: several workspaces are end-to-end-only by design and say so — packages/instrument-library (whose .agents/docs/playbooks/add-instrument.md step 7 makes the e2e test the whole answer) and apps/gateway. Where this one does, .agents/docs/playbooks/add-vitest-project.md is the ordering; for a package that renders React it adds a happy-dom devDependency, which the root hard rule says to confirm in-conversation before writing.

Done when the package appears in that table, or its AGENTS.md puts the unit tier out of scope and the e2e test carries the change, or this change adds its vitest.config.ts.

Choose the tier before you choose the file

What you changedThe tier that can prove itRunner
A pure function, a schema, a hook, a rendered componentUnit, in that package's own projectpnpm test:coverage
Who can see or do what; anything reading real rowsEnd-to-end onlypnpm test:e2e
A type contract — inference, a discriminated unionThe type-check, which is tsc inside lintpnpm lint

There is no integration tier, and the middle row is why. apps/api unit tests mock the Prisma layer entirely (apps/api/src/groups/__tests__/groups.service.test.ts), so the only code path exercised against a database is Playwright: a permissions or scoping change that a green unit suite appears to cover has not been tested at all. The type-check tier has no file of its own — a type that must hold is asserted by code that would not compile if it broke.

Done when you can name the unit file and the e2e spec this change needs, or state which row of this table makes one of them inapplicable.

Make the run name your file

A green vitest run reports counts only — Test Files … passed names no file, so it is not evidence that yours was collected. The listing is:

sh
pnpm exec vitest list --filesOnly            # every collected file, each prefixed [<project>]
pnpm exec vitest list --filesOnly --project <name>

Run both from the repo root. The name that --project takes is the name field inside that package's config, not always its directory; .agents/docs/playbooks/add-vitest-project.md decodes Error: No projects matched the filter "<name>".

Then invert one assertion and watch it go red before you restore it. If a suite stays green past this point with the code deliberately wrong, .agents/skills/odc-debugging/SKILL.md is the symptom index.

Done when list --filesOnly has printed your file under its project name and you have watched that file fail on purpose.

Show full SKILL.md (279 more words)Show less

What the unit environment gives you

Open .agents/docs/architecture/testing-strategy.md before writing the file: §Test environment says what is not arranged for you, and §Conventions by package names the canonical test to copy for your package. Two things it does not carry:

  • .env must exist. pnpm test is env-cmd vitest — no turbo task, no build, no database — and env-cmd exits before vitest starts when .env is absent.
  • happy-dom, which apps/web runs under, computes no layout: getBoundingClientRect and offsetWidth return 0, so assert on rendered content, never on geometry or visibility. happy-dom ≥ 20 supplies its own no-op ResizeObserver, so no test needs to stub one.

Writing a component test under apps/web? That same §Tests adds the @/services/i18n side-effect import libui controls need.

End-to-end tests

.agents/docs/playbooks/add-e2e-test.md is the order of operations; read testing/AGENTS.md before its step 1, because two of the conventions there decide whether the spec is real: the { expect, test } import from ../support/fixtures, and naming every seeded record with the uniqueId fixture. A raw @playwright/test import fails loudly once the spec destructures a repo fixture, and silently when it takes { page } alone — that page is never authenticated. A fixed seed name is silent always: it passes alone and collides under fullyParallel.

Done when pnpm --filter @opendatacapture/testing test:e2e --list src/specs/<file>.spec.ts has printed your test titles under [chromium], and you have watched one of them fail on purpose.

Pushing proves nothing

CI fires on a pull_request to main and on workflow_dispatch, never on a push (.agents/docs/architecture/testing-strategy.md §What CI gates), so until that PR exists the run you did locally is the only one there has been. Run .agents/skills/odc-done/SKILL.md before you open it — that is the sweep that re-runs lint, unit and e2e together.

© DouglasNeuroInformatics, Apache-2.0. 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 .agents/skills/odc-testing of DouglasNeuroInformatics/OpenDataCapture.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 432dec8

Compare with similar skills

Odc Testing 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.

Odc Testing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Odc Testing this skillDouglasNeuroInformatics/OpenDataCapture119—~1.5kAutomated safety check: NotesApache-2.0
Ha Frontend Testinghome-assistant/frontend5.7k—~1.7kAutomated safety check: PassApache-2.0
Playwright Testingchongdashu/vibejam-starter-pack149—~2.2kAutomated safety check: PassNone
Control UI E2Eopenclaw/openclaw392k—~2.9kAutomated safety check: PassMIT
Ckeditor5 TestingTriliumNext/Trilium38k—~3.3kAutomated safety check: PassAGPL-3.0
Svelte Testingspences10/sveltest113—~579Automated safety check: PassMIT

Similar skills

  • Ha Frontend Testing

    home-assistant/frontend

    Home Assistant frontend testing and validation workflow. An agent skill from home-assistant/frontend.

    5.7k GitHub stars~1.7k tokensUpdated today
    Testing & QAAuto-check passed
  • Playwright Testing

    chongdashu/vibejam-starter-pack

    Plan, implement, and debug frontend tests: unit/integration/E2E/visual/a11y.

    149 GitHub stars~2.2k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Control UI E2E

    openclaw/openclaw

    A skill your agent uses when designing, testing, fixing, or extending the OpenClaw Control UI GUI, including UI stress-test galleries with feedback inputs, Vitest + Playwright end-to-end checks…

    392k GitHub stars~2.9k tokensUpdated today
    Testing & QAAuto-check passed
  • Ckeditor5 Testing

    TriliumNext/Trilium

    Testing CKEditor 5 plugins in the Trilium monorepo. An agent skill from TriliumNext/Trilium.

    38k GitHub stars~3.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Svelte Testing

    spences10/sveltest

    Fix and create Svelte 5 tests with vitest-browser-svelte and Playwright.

    113 GitHub stars~579 tokensUpdated today
    Testing & QAAuto-check passed
  • Playwright Testing

    chongdashu/vibejam-starter-pack

    Plan, implement, and debug frontend tests: unit/integration/E2E/visual/a11y.

    149 GitHub stars~2.1k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed

More from DouglasNeuroInformatics/OpenDataCapture

All 16 skills in this repo
  • Odc Agent Docs

    DouglasNeuroInformatics/OpenDataCapture

    Write or correct this repo's agent documentation — a workspace AGENTS.md (or its CLAUDE.md symlink), a playbook under .agents/docs/playbooks, an architecture doc, or the workspace map.

    119 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Review PR

    DouglasNeuroInformatics/OpenDataCapture

    Triage pull requests against upstream main — one verdict, action items, and whether it needs the user's eyes.

    119 GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Odc Open PR

    DouglasNeuroInformatics/OpenDataCapture

    Open a pull request against main for the current branch. An agent skill from DouglasNeuroInformatics/OpenDataCapture.

    119 GitHub stars~533 tokensUpdated today
    Auto-check passed
  • Opening Issues

    DouglasNeuroInformatics/OpenDataCapture

    File a GitHub issue for Open Data Capture with its labels. An agent skill from DouglasNeuroInformatics/OpenDataCapture.

    119 GitHub stars~614 tokensUpdated today
    Auto-check passed
  • Odc Debugging

    DouglasNeuroInformatics/OpenDataCapture

    What actually breaks in Open Data Capture — a failing build, lint, unit test or e2e run; a change with no visible effect; a suite that stays green after you broke the code on purpose; an error…

    119 GitHub stars~2.8k tokensUpdated today
    Auto-check: notes
  • Odc Done

    DouglasNeuroInformatics/OpenDataCapture

    Close out a change to Open Data Capture before committing, opening a PR, or reporting it done.

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

Categories

Questions about Odc Testing

What does Odc Testing do?

Test a change in Open Data Capture. An agent skill from DouglasNeuroInformatics/OpenDataCapture. Odc Testing is an agent skill from DouglasNeuroInformatics/OpenDataCapture. Test a change in Open Data Capture.

When should I use Odc Testing?

Odc Testing fits situations like: adding a unit test; A Playwright e2e test; A package has no vitest.config.ts of its own; A suite passes without executing your test.

How do I install Odc Testing in Claude Code?

Run `npx skills add DouglasNeuroInformatics/OpenDataCapture --skill odc-testing -a claude-code`. Or copy the skill folder (.agents/skills/odc-testing in DouglasNeuroInformatics/OpenDataCapture) into .claude/skills/odc-testing in your project. Claude Code loads it when a task matches its description.

How do I install Odc Testing in Codex?

Run `npx skills add DouglasNeuroInformatics/OpenDataCapture --skill odc-testing -a codex`. Or copy the skill folder (.agents/skills/odc-testing in DouglasNeuroInformatics/OpenDataCapture) into .agents/skills/odc-testing in your project. Codex loads it when a task matches its description.

Can I use Odc Testing 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 DouglasNeuroInformatics/OpenDataCapture --skill odc-testing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/odc-testing, .gemini/skills/odc-testing, .github/skills/odc-testing and .opencode/skills/odc-testing in your project.

What does Odc Testing need to run?

Going by SKILL.md and its folder, Odc Testing needs the command-line tools its instructions call (pnpm).

Does Odc Testing 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 Odc Testing safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Odc Testing use?

Odc Testing is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Odc Testing use?

About 1.5k tokens (SKILL.md is roughly 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 Odc Testing?

Skills that share tags, products or a category with Odc Testing: Ha Frontend Testing (home-assistant/frontend, 5.7k stars), Playwright Testing (chongdashu/vibejam-starter-pack, 149 stars), Control UI E2E (openclaw/openclaw, 392k stars) and Ckeditor5 Testing (TriliumNext/Trilium, 38k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Odc Testing?

DouglasNeuroInformatics (a GitHub organization) maintains it in DouglasNeuroInformatics/OpenDataCapture, which has 119 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 7, 2026.

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