Add or change a route in apps/web — a page under src/routes, its loader, or the useXQuery / useXMutation hook it prefetches.

Apache-2.0Auto-check passedTesting & QA

Install Odc Web Route

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

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

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

At a glance

Add or change a route in apps/web — a page under src/routes, its loader, or the useXQuery / useXMutation hook it prefetches.

  • Tasks that involve Browser testing
  • SKILL.md covers Two generated artifacts, two…, Where the procedure lives, One key, two callers and Before you leave
  • Calls pnpm

What it does

Odc Web Route is an agent skill from DouglasNeuroInformatics/OpenDataCapture. Add or change a route in apps/web — a page under src/routes, its loader, or the useXQuery / useXMutation hook it prefetches. Use also when tsc reports TS2345 on a route literal, or when route-tree.ts or the Playwright suite's RouteTo union is missing it (gen:routes).

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 Browser testing. It works with Playwright. 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 Browser testing

Example prompts

  • “/odc-web-route”

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 Web Route loads about 1.5k tokens when it runs. Until then it costs about 70 tokens; SKILL.md has 627 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~70
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 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 DouglasNeuroInformatics/OpenDataCapture at commit 432dec8, republished under its Apache-2.0 licence (© DouglasNeuroInformatics). 627 words, ~1,516 tokens.

Download SKILL.mdSave it as .claude/skills/odc-web-route/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
odc-web-route
description
Add or change a route in apps/web — a page under src/routes, its loader, or the useXQuery / useXMutation hook it prefetches. Use also when tsc reports TS2345 on a route literal, or when route-tree.ts or the Playwright suite's RouteTo union is missing it (gen:routes).

A route file is the one kind of source in this repo that two generated artifacts are derived from, and the app you just edited regenerates neither. Until both catch up, a perfectly correct route fails tsc in two different workspaces.

Two generated artifacts, two owners

ArtifactDerived fromRegenerated by
apps/web/src/route-tree.ts (git-tracked)every file under apps/web/src/routes/the user, by running pnpm dev for web — any vite serve or build of apps/web runs the tanstackRouter plugin in apps/web/vite.config.ts, which writes the file
testing/src/generated/route.d.ts (ignored)FileRouteTypes['to'] in route-tree.tsyou: pnpm --filter @opendatacapture/testing gen:routes

The user carries the baton first. gen:routes derives RouteTo from route-tree.ts (testing/AGENTS.md), so running it against a stale tree writes the same file back: your literal is still not a member of RouteTo, and the pageModels map in testing/src/support/fixtures.ts still rejects it as a key. Ask the user for the regeneration, then run gen:routes again — repeating it costs nothing.

The root AGENTS.md prohibition covers the first row only. gen:routes is not the route-tree generator — it reads route-tree.ts and never writes it — and running it is your job, not the user's.

TS2345 on your own route literal is then the expected state of a correct new route, not a defect to chase; .agents/docs/playbooks/add-web-route.md shows the exact message. Confirm first that the createFileRoute literal is character-for-character the file path, leading /_app included — a mismatched literal raises the same error and survives regeneration. Once it matches, carry on with the rest of the change and leave both route-tree.ts and its generator to the user, unedited (root AGENTS.md hard rule).

Done when your reply names the regeneration the user still owes, and either every literal you wrote appears in testing/src/generated/route.d.ts or your reply says it cannot yet.

Where the procedure lives

Open the playbook before you write the file; it is the order of operations, and this skill does not repeat it.

OpenWhen
.agents/docs/playbooks/add-web-route.mdWriting or moving a file under src/routes/ — filename-to-URL mapping, the createFileRoute literal, validateSearch, loaderDeps, the nav entry
.agents/docs/playbooks/add-web-data-hook.mdThe data the route needs has no hook yet, or you are changing one — every input that changes the response belongs in the queryKey
apps/web/AGENTS.mdBefore naming any route file — a . is a path separator, so a stray logs.test.tsx becomes the route /logs/test — and for the rest of this app: layer folders, the store, translations, where a test may live
Show full SKILL.md (236 more words)Show less

One key, two callers

The loader prefetches through the hook's queryOptions factory and the component calls the hook (add-web-data-hook.md step 3). Sharing the factory is half of it — the arguments must match too. apps/web/src/routes/_app/datahub/index.tsx passes { groupId: currentGroup?.id } on both sides and reaches one cache entry. _app/admin/audit/logs.tsx does not: the loader prefetches deps.search, the component asks for { ...search, page, sortOrder }, and useAuditLogsQuery keys on the whole params object — so the prefetched entry is never read and the page fetches again on mount.

Done when every ensureQueryData call in your loader passes both the factory and the arguments the component's hook passes.

Before you leave

Add a data-testid to whatever the e2e test will click or assert on, then open .agents/docs/playbooks/add-e2e-test.md before writing the spec — it owns the selector contract and the fixture registration. The unit test goes in a __tests__/ folder beside the file that changed, named after it: src/hooks/__tests__/ for a query hook, src/routes/**/__tests__/ for the route itself.

The playbook's ## Verify block is the check to run, with one ordering caveat: pnpm test:e2e boots apps/web through pnpm dev:test (testing/playwright.config.ts), which regenerates route-tree.ts as a side effect. Run it once the user has regenerated, when it rewrites the file to the same content and leaves no diff.

Done when every element the spec selects carries a data-testid, the unit test file exists, and the Verify block has run clean apart from TS2345 on your own route literal.

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

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 432dec8

Compare with similar skills

Odc Web Route 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 Web Route compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Odc Web Route this skillDouglasNeuroInformatics/OpenDataCapture119—~1.5kAutomated safety check: PassApache-2.0
Web Application Testinganthropics/skills180k51 repos~966Automated safety check: PassApache-2.0
Playwright CLIsanity-io/sanity6.4k18 repos~1.9kAutomated safety check: PassMIT
Write and Verify Playwright Testsappsmithorg/appsmith41k—~2.9kAutomated safety check: NotesApache-2.0
playwright-cli Browser Automationgithub/gh-aw5.4k23 repos~2.8kAutomated safety check: PassMIT
Cucumber and Playwright E2E Testslanggenius/dify158k—~682Automated safety check: PassCustom licence

Similar skills

  • Web Application Testing

    anthropics/skills

    Official

    Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.

    180k GitHub starsUsed in 51 repos~966 tokens
    Testing & QAAuto-check passed
  • Playwright CLI

    sanity-io/sanity

    Official

    Automates browser interactions for web testing, form filling, screenshots, and data extraction.

    6.4k GitHub starsUsed in 18 repos~1.9k tokens
    Testing & QAAuto-check passed
  • Writes a Playwright end-to-end test from a prompt, runs it against a live Appsmith deployment and retries with fixes up to three times until it passes.

    41k GitHub stars~2.9k tokensUpdated today
    Testing & QAAuto-check: notes
  • Official

    Drives a real browser from the command line with playwright-cli to open pages, interact, mock requests, save state and work with Playwright tests.

    5.4k GitHub starsUsed in 23 repos~2.8k tokens
    Testing & QAAuto-check passed
  • Guides changes and reviews of the Cucumber and Playwright end-to-end suite under `e2e/`: feature files, step definitions, support code, tags, locators and assertions.

    158k GitHub stars~682 tokensUpdated today
    Testing & QAAuto-check passed
  • E2E Testing

    langflow-ai/langflow

    Write and review Playwright E2E tests for Langflow. An agent skill from langflow-ai/langflow.

    155k GitHub stars~3.3k 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 2 days ago
    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 2 days ago
    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 2 days ago
    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 2 days ago
    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 2 days ago
    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 2 days ago
    Auto-check: notes

Works with

Categories

Questions about Odc Web Route

What does Odc Web Route do?

Add or change a route in apps/web — a page under src/routes, its loader, or the useXQuery / useXMutation hook it prefetches. Odc Web Route is an agent skill from DouglasNeuroInformatics/OpenDataCapture. Add or change a route in apps/web — a page under src/routes, its loader, or the useXQuery / useXMutation hook it prefetches.

When should I use Odc Web Route?

Odc Web Route fits situations like: tasks that involve Browser testing.

How do I install Odc Web Route in Claude Code?

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

How do I install Odc Web Route in Codex?

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

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

What does Odc Web Route need to run?

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

Does Odc Web Route 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 Web Route 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 Odc Web Route use?

Odc Web Route 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 Web Route use?

About 1.5k tokens (SKILL.md is roughly 6.1k 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 Web Route?

Skills that share tags, products or a category with Odc Web Route: Web Application Testing (anthropics/skills, 180k stars), Playwright CLI (sanity-io/sanity, 6.4k stars), Write and Verify Playwright Tests (appsmithorg/appsmith, 41k stars) and playwright-cli Browser Automation (github/gh-aw, 5.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Odc Web Route?

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.