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…

Apache-2.0Auto-check: notesDevelopment

Install Odc Debugging

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

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

GitHub CLI
$ gh skill install DouglasNeuroInformatics/OpenDataCapture odc-debugging --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-debugging .claude/skills/odc-debugging && 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-debugging
GitHub stars
119
Token cost
~2.8k tokens
SKILL.md length
1,162 words
Files
2
Skills in repo
16
Repo updated
First seen
Licence
Apache-2.0

At a glance

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…

  • Tasks that involve Debugging
  • SKILL.md covers Loud and correct, Quiet and wrong, Which database is under the… and When no row matches
  • Calls pnpm, git and eslint
  • Tasks that involve Linting and formatting

What it does

Odc Debugging is an agent skill from 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 naming runtime/v1, btoa or turbo. Read before diagnosing; systematic-debugging and diagnosing-bugs supply the method, this supplies what is wrong here.

Its SKILL.md is about 2.8k 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 Development, covering Debugging, Linting and formatting and Unit testing. It works with Vite. 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

  • Tasks that involve Debugging
  • Tasks that involve Linting and formatting
  • Tasks that involve Unit testing

Example prompts

  • “/odc-debugging”

What it can do on your machine

Read from SKILL.md and the folder at commit c7a6364. 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
    • git
    • eslint

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

  • Network

    No URLs in SKILL.md. Its commands use pnpm and git, 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 Debugging loads about 2.8k tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 1,162 words of instructions outside code blocks.

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

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:38
    reports unresolved modules instead. `.env` is gitignored too and every root script is `env-cmd`-wrapped, so a clone
  • NoteMentions a .env fileSKILL.md:39
    ails earlier still, with `Failed to find .env file at default paths`. Both are
  • NoteMentions a .env fileSKILL.md:65
    | A variable that is present in `.env` is undefined inside a task           | Turbo runs strict env mode: a task sees `g

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 c7a6364, republished under its Apache-2.0 licence (© DouglasNeuroInformatics). 1,162 words, ~2,780 tokens.

Download SKILL.mdSave it as .claude/skills/odc-debugging/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
odc-debugging
description
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 naming runtime/v1, btoa or turbo. Read before diagnosing; systematic-debugging and diagnosing-bugs supply the method, this supplies what is wrong here.

Failures in this repo sort into two piles that want opposite reactions.

Loud and correct — a command failed, and the failure is the repo working as designed. Name it as designed behaviour, leave it standing, and carry on with the change it interrupted. The whole answer here is the explanation plus, at most, a change to your own uncommitted work — the configs, CI and docs stay as they are.

Quiet and wrong — nothing failed, and that is the symptom: the test never ran, the query returned every group's rows, the story is not in Storybook, the instrument was never loaded. These are the expensive ones, because the signal that would have caught them is the signal you are trusting.

Done when the symptom has been read against both piles, and you have either opened the owner named by the matching row or can say that no row matches.

Loud and correct

TS2345 on a route file you just wrote.

error TS2345: Argument of type '"/_app/your-route"' is not assignable to parameter of type 'keyof FileRoutesByPath | undefined'.

The expected state of a correct new route until the user regenerates route-tree.ts — .agents/skills/odc-web-route/SKILL.md. There is no generator command to avoid: every Vite run in apps/web (pnpm dev, dev:test, the Playwright webServer, vite build) rewrites that tracked file from configResolved, so when git status shows route-tree.ts after a debugging run, revert it and leave the regeneration to the user.

pnpm lint came back green and the working tree moved. Lint is eslint --fix, so it rewrites while it checks, and a tree that already conforms comes back untouched — the rewrites in front of you are your own new code being sorted. Read that diff as your work and keep it.

A fresh checkout fails in places that never name the cause. runtime/v1/dist is gitignored and unbuilt, so a dev server dies with ENOENT while a Vite config is still resolving, and every consumer whose tsconfig maps /runtime/v1/* reports unresolved modules instead. .env is gitignored too and every root script is env-cmd-wrapped, so a clone that has never been set up fails earlier still, with Failed to find .env file at default paths. Both are prerequisites rather than bugs: .agents/skills/odc-run-locally/SKILL.md. Turbo repairs the build for you; anything run outside turbo — a bare tsc, vitest, storybook — does not.

Some breakage is known, documented, and deliberately left alone. Before calling anything a new bug, read the AGENTS.md of the package that owns it — that is where these are recorded (the always-skipped development block in packages/release-info), with the build- and test-infrastructure ones in the Known warts section of .agents/docs/architecture/testing-strategy.md. Name any you hit in your reply and leave it as it is.

Quiet and wrong

Read the owner before changing anything: the row tells you where you are, not what to type.

SymptomCauseOwner
A new unit test passes; pnpm test output never names its fileThe package has no vitest.config.ts, and the root config globs only apps/*, packages/* and runtime/*.agents/skills/odc-testing/SKILL.md
A type error survives pnpm lint and CILint is the only type-check, and runtime/v1 has no lint script while instrument-stubs and instrument-guidelines run eslint with no tsc.agents/docs/architecture/testing-strategy.md
An endpoint returns rows belonging to every groupaccessibleQuery(undefined, …) returns {}; an omitted ability is caught by neither tsc, nor eslint, nor a green suite.agents/skills/odc-api/SKILL.md
A new route is reachable by any authenticated user@RouteAccess([]) passes because [].every(...) is true — a handler with no decorator 500s instead of opening.agents/skills/odc-api/SKILL.md
A route 500s inside the validation pipe the first time it is calledThe $Schema used as the @Body() parameter type arrived through import type, which erases the runtime binding.agents/skills/odc-api/SKILL.md
Two apparently identical schemas reject each other; error maps missA bare zod import resolves to the vendored v3, a separate registry from zod/v4packages/schemas/AGENTS.md
An instrument builds and is listed, but no instance has itapps/api/src/demo/demo.service.ts holds one hand-written import per instrument.agents/skills/odc-instruments/SKILL.md
The runtime build logged an error and the command still succeededruntime-bundler's CLI catches a bundle failure, prints it, and exits 0packages/runtime-bundler/AGENTS.md
A route literal a Playwright spec uses does not type-checktesting/src/generated/route.d.ts is git-ignored and rewritten by gen:routes from route-tree.ts.agents/skills/odc-web-route/SKILL.md
A spec has no authentication and every fixture is undefinedIt imported test from @playwright/test rather than ../support/fixtures.agents/skills/odc-testing/SKILL.md
An e2e test passes alone and fails inside the suiteOne database, shared by every worker, with fullyParallel on — fixed names collide.agents/skills/odc-testing/SKILL.md
A variable that is present in .env is undefined inside a taskTurbo runs strict env mode: a task sees globalEnv (NODE_ENV, NODE_OPTIONS) plus its own env array and nothing else.agents/docs/playbooks/add-env-var.md
A gateway change does nothing, and hydration disagrees with the SSRpnpm dev disposes the esbuild watcher immediately and SSR loads from its output; only Vite-middleware assets refreshapps/gateway/AGENTS.md
A gateway page 500s from rootLoader; the same content renders elsewhereRootProps is serialized with btoa, which throws above U+00FF — one curly quote anywhere in the bundle is enoughapps/gateway/AGENTS.md
A playground instrument you added is missing, or an edit vanishedThe store persists to IndexedDB via idb-keyval, and its merge keeps only instruments whose category is Savedapps/playground/AGENTS.md
A story never appears in Storybookstorybook/config/main.ts enumerates its story directories explicitly; anything outside them is invisible.agents/skills/odc-frontend/SKILL.md
Keyed translations fail to type-check, or render as nothingA namespace takes three separate edits in apps/web/src/services/i18n.ts; apps/gateway has no resource files at all.agents/skills/odc-frontend/SKILL.md
A route file resolves to a URL nobody asked forA . in a filename under src/routes/ is a path separator, not part of the name.agents/skills/odc-web-route/SKILL.md
toBeInTheDocument is not a function@testing-library/jest-dom is not installed anywhere in the repo.agents/docs/architecture/testing-strategy.md
odc-cli rejects a value the API acceptscli/odc-cli has no generated client and no compile-time link to packages/schemas, so API drift reaches it silentlycli/AGENTS.md
A token keeps working after its permissions changed, and never expiresPermissions are frozen into the JWT at login with no refresh endpoint, and JwtStrategy ignores expiry in development.agents/docs/architecture/auth-and-permissions.md
Show full SKILL.md (187 more words)Show less

Which database is under the failure

A bug that reproduces in one environment and not the other is usually about the database rather than the code. What each environment is — an in-memory replica set under NODE_ENV=test, a real Mongo otherwise — and what POST /v1/setup destroys are in .agents/skills/odc-run-locally/SKILL.md; why no unit test can see a row is in .agents/skills/odc-testing/SKILL.md. Two consequences those two do not draw:

  • Contents. The e2e database is seeded once through the UI by testing/src/global/setup.spec.ts and dropped by teardown.spec.ts. Nothing resets a development database automatically, so it holds whatever was last put there.
  • NODE_ENV itself changes behaviour, which makes an environment-dependent bug a candidate before the code is — JWT expiry is ignored in development only (.agents/docs/architecture/auth-and-permissions.md).

When no row matches

Fall back to the method: .agents/skills/systematic-debugging/SKILL.md. Reproduce it, find the root cause, then fix that — a symptom fix in this codebase usually just moves the silence somewhere else.

Done when the fact you needed and could not find has landed in a repo document — .agents/skills/odc-agent-docs/SKILL.md decides which one, and this file is a candidate — or you can name the document that already carries it.

© 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-debugging of DouglasNeuroInformatics/OpenDataCapture.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit c7a6364

Compare with similar skills

Odc Debugging 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 Debugging compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Odc Debugging this skillDouglasNeuroInformatics/OpenDataCapture119—~2.8kAutomated safety check: NotesApache-2.0
Adk Setupgoogle/adk-python22k—~993Automated safety check: NotesApache-2.0
Vite Plus ConventionsGoldziher/ai-rulez153—~567Automated safety check: PassMIT
Chrome Devtools MCPmanagedcode/dotnet-skills486—~2.2kAutomated safety check: PassMIT
Code Completionfacioquo/stock-indicators-dotnet1.2k—~1.2kAutomated safety check: PassApache-2.0
Pierre Testing and Verification Guidepierrecomputer/pierre6.2k—~608Automated safety check: PassApache-2.0

Similar skills

  • Adk Setup

    google/adk-python

    Official

    Sets up a local ADK Python development environment in a git clone of the open-source adk-python repository: a uv virtual environment, all dependency extras, pre-commit hooks, and a first unit-test…

    22k GitHub stars~993 tokensUpdated today
    DevelopmentAuto-check: notes
  • Vite Plus Conventions

    Goldziher/ai-rulez

    vite+ unified TypeScript toolchain conventions: the vp CLI for package/node management, oxlint/oxfmt, type-aware linting, vitest, rolldown/tsdown bundling, task caching, and migration.

    153 GitHub stars~567 tokensUpdated today
    DevelopmentAuto-check passed
  • Chrome Devtools MCP

    managedcode/dotnet-skills

    Use Chrome DevTools MCP from .NET agents and .NET-focused repos to inspect, debug, and automate Chrome through an MCP client.

    486 GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Code Completion

    facioquo/stock-indicators-dotnet

    Quality gates for finishing work in this repository — dead-code cleanup, Roslynator and dotnet format fixes, markdownlint, build, unit tests, documentation, and Obsolete migration shims — with the…

    1.2k GitHub stars~1.2k tokensUpdated today
    Testing & QAAuto-check passed
  • Chooses the right verification step after a code change in Pierre's monorepo: format and lint, a typecheck, Bun unit tests, snapshots, or Playwright E2E.

    6.2k GitHub stars~608 tokensUpdated today
    Testing & QAAuto-check passed
  • 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

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

    DouglasNeuroInformatics/OpenDataCapture

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

    119 GitHub stars~1.5k tokensUpdated today
    Auto-check: notes
  • 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 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

Works with

Questions about Odc Debugging

What does Odc Debugging do?

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…. Odc Debugging is an agent skill from 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 naming runtime/v1, btoa or turbo.

When should I use Odc Debugging?

Odc Debugging fits situations like: tasks that involve Debugging; tasks that involve Linting and formatting; tasks that involve Unit testing.

How do I install Odc Debugging in Claude Code?

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

How do I install Odc Debugging in Codex?

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

Can I use Odc Debugging 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-debugging -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-debugging, .gemini/skills/odc-debugging, .github/skills/odc-debugging and .opencode/skills/odc-debugging in your project.

What does Odc Debugging need to run?

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

Does Odc Debugging access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Odc Debugging 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 Debugging use?

Odc Debugging 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 Debugging use?

About 2.8k tokens (SKILL.md is roughly 11k 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 Debugging?

Skills that share tags, products or a category with Odc Debugging: Adk Setup (google/adk-python, 22k stars), Vite Plus Conventions (Goldziher/ai-rulez, 153 stars), Chrome Devtools MCP (managedcode/dotnet-skills, 486 stars) and Code Completion (facioquo/stock-indicators-dotnet, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Odc Debugging?

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.