Agent skill

Codetrial Verify

by sysprog21 in sysprog21/codetrial

How a CodeTrial change is validated - scripts/test.sh as the credential-free gate, which generated artifacts have to be regenerated before it passes, the checks that need credentials or a browser…

MITAuto-check passedDevelopment

Install Codetrial Verify

skills CLI
$ npx skills add sysprog21/codetrial --skill codetrial-verify -a claude-code

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

GitHub CLI
$ gh skill install sysprog21/codetrial codetrial-verify --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/sysprog21/codetrial.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/codetrial-verify .claude/skills/codetrial-verify && 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
codetrial-verify
GitHub stars
150
Token cost
~2.2k tokens
SKILL.md length
1,144 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

How a CodeTrial change is validated - scripts/test.sh as the credential-free gate, which generated artifacts have to be regenerated before it passes, the checks that need credentials or a browser…

  • Tasks that involve Linting and formatting
  • SKILL.md covers Drift is the usual failure, What is deliberately outside…, The git hooks and Writing a test, plus 1 more section
  • Calls make, cargo and python3; needs GOOGLE_API_KEY

What it does

Codetrial Verify is an agent skill from sysprog21/codetrial. How a CodeTrial change is validated - scripts/test.sh as the credential-free gate, which generated artifacts have to be regenerated before it passes, the checks that need credentials or a browser and therefore sit outside it, the browser and mutation lanes, and how to bring the server up for a live look without taking the maintainer's port. Use before calling work done, when a gate fails on drift rather than on a bug, when adding a test, or when a fix needs to be seen working in the app.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Linting and formatting. The repository describes itself as: A live technical interview simulator. The licence is MIT.

When your agent uses it

  • Tasks that involve Linting and formatting

Example prompts

  • “/codetrial-verify”

Requirements

  • Python 3
  • Docker
  • A credential in GOOGLE_API_KEY

What it can do on your machine

Read from SKILL.md and the folder at commit 1f1fa37. 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
    • cargo
    • python3
    • node
    • ruff
    • npm

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

  • Network

    No URLs in SKILL.md. Its commands use npm, 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 these keys or tokens, usually read from environment variables:

    • GOOGLE_API_KEY

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

Context cost

Codetrial Verify loads about 2.2k tokens when it runs. Until then it costs about 127 tokens; SKILL.md has 1,144 words of instructions outside code blocks.

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

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 sysprog21/codetrial at commit 1f1fa37, republished under its MIT licence (© sysprog21). 1,144 words, ~2,210 tokens.

Download SKILL.mdSave it as .claude/skills/codetrial-verify/SKILL.md (or your agent's skills folder).
name
codetrial-verify
description
How a CodeTrial change is validated - scripts/test.sh as the credential-free gate, which generated artifacts have to be regenerated before it passes, the checks that need credentials or a browser and therefore sit outside it, the browser and mutation lanes, and how to bring the server up for a live look without taking the maintainer's port. Use before calling work done, when a gate fails on drift rather than on a bug, when adding a test, or when a fix needs to be seen working in the app.

Validating a CodeTrial change

One gate needs no credentials and is the thing to run:

sh
./scripts/test.sh     # the gate CI's `check` job runs
make check            # the same, plus a live Gemini credential check

scripts/test.sh is a list of named gates that all run before it reports, so one failure does not hide the next; the summary line names every gate that failed. It covers cargo fmt --check, clippy -D warnings, cargo test, the Python unittest suites, the Node browser tests, ESLint, ruff check, shellcheck, the generated-artifact drift checks, the hook suite, cargo-audit and actionlint.

It is not offline. The fetch-vendor gate downloads missing assets named by a web/vendor/**/FETCH manifest; it cannot restore committed vendor files. actionlint publishes itself as a container, so that lane may reach for docker. Both are checksum-pinned or version-pinned; neither needs a credential.

A lane whose tool is absent skips instead of failing. Skips made directly by scripts/test.sh appear under its final not checked by this run: summary. Formatter skips do not: scripts/indent.sh prints them inline while the indent gate keeps running. Read both the final summary and the formatter output before claiming coverage; never treat the skip set or its size as fixed. The drift checks always run. That skipping is why a green local run is weaker evidence than a green CI run, and so is what this script leaves out: CI also holds a pull request's own commit messages to the rules, mutation-tests the diff in its own job, and builds release binaries for three targets.

The indent gate is the one that surprises people. scripts/indent.sh --check copies the tree, runs the whole formatter chain over the copy, and diffs: comment reflow with commentflow, then cargo fmt, ruff format and shfmt. Checking the composition rather than each tool is not a flourish. commentflow puts a blank line before a comment inside a method chain and cargo fmt takes it straight back out, so commentflow --check alone can never be satisfied on Rust. make indent runs the same script with --write, so the fix for a failure is always that one command. Never pass shfmt a style flag; it reads .editorconfig. Prettier sits beside the chain rather than in it: it shares no file with the others, so the check runs it in place with --cache, alongside the copy. Its file set is in scripts/indent.sh and includes the issue forms, which ride along to be parsed. Without npm ci it skips with a note.

Drift is the usual failure

Several trees are generated, and the gate compares the committed bytes against what the generator would write now. A failure here is not a bug in your change; it means the source moved and the output did not:

sh
python3 scripts/gen-problems.py
python3 scripts/gen-problem-cards.py   # the problem cards in web/index.html
node scripts/gen-wire-fixtures.mjs     # browser/agent wire fixtures
node scripts/gen-recording-fixtures.mjs
python3 scripts/gen-calibration-fixtures.py

Each takes --check, which is the form the gate runs. Edit problem-bank/, never the files under web/problems/ or web/judges/. scripts/gen-problems.py --sync-study-plan refuses to write while the plan and problem-bank/ disagree and names what each side is missing, so port those first.

What is deliberately outside the gate

These exercise live server, external-service, or browser flows and are run on their own when the area they cover is touched:

One command per line: two names on one line runs the first and passes the second as an argument it ignores. The entry requirements are:

sh
scripts/browser-check.sh              # Playwright + Chromium; rust/dispatch also need LiveKit and Gemini credentials
scripts/server-check.sh               # cargo, node, curl; starts a server unless CODETRIAL_WEB_URL is set
scripts/gemini-check.sh               # GOOGLE_API_KEY(S) in the selected CodeTrial config
scripts/parity-check.sh                # the credentialed rust browser-check prerequisites
scripts/report-parity-check.sh         # the credentialed rust browser-check prerequisites
scripts/visual-parity-check.sh         # Playwright + Chromium; no service credentials
scripts/recording-provision-check.sh   # gcloud credentials and the CODETRIAL_RECORDING_* values checked at its start
scripts/recording-integration.sh       # --help lists per-phase credentials, tools and required --phase

Read the script's validation or usage block before a credentialed run; it is the source of truth for optional modes and the complete environment-variable list.

CI additionally mutation-tests the diff: plan-mutants counts what the change is worth and mutants runs cargo-mutants over it. A surviving mutant means a line changed behavior with no test noticing, so the answer is a test, not a retry.

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

The git hooks

make hooks installs the fast half of the gate at commit time: scripts/git-pre-commit.sh runs rustfmt, ESLint, Prettier, ruff and shellcheck over a checkout of the index, so an unstaged edit neither fails a commit nor sneaks through one, plus commentflow --check and shfmt -d on staged shell. It does not build, test or check generated-artifact drift; that is what the gate is for. scripts/git-commit-msg.sh holds the message to the rules it prints with --rules, scripts/git-prepare-commit-msg.sh splices the template above a commit -v scissors line, and scripts/git-pre-push.sh replays the rules over commits a rebase or an amend rewrote after the fact. make hooks installs every scripts/git-*.sh, so adding one there installs itself. CI runs the same list over a pull request's own commits, so the rules bind someone who never installed the hooks as well.

The hooks have their own suite. scripts/test-git-hooks.sh builds a scratch repository, installs the hooks into it and drives every case: the messages that must be rejected, the template splice above a commit -v scissors line, a staged file failing while the same edit unstaged does not, and a push carrying a commit that skipped the hook. It runs as the git-hooks gate, so editing a hook without running it is caught here.

Writing a test

No test code goes under src/; codetrial-conventions has that rule and the four things that bite when it is applied carelessly. Which of the two kinds you are writing follows from what the test needs to see:

  • Reaching a private or pub(crate) item makes it a unit test. It goes under tests/unit/, mirroring the path under src/, declared from the src/ file with #[cfg(test)] #[path = "..."] mod tests;.
  • Reaching only the public API makes it an integration test, so it goes in tests/*.rs beside the suites already there.

Browser tests go in tests/browser/*.test.js under node --test, Python tests in tests/test_*.py under scripts/run-python-tests.py, which runs a file's cases across a thread pool; a suite added there must keep every case owning its own sandbox, or it races. The golden fixtures in tests/golden/ are the compatibility contract: a diff there is a claim that the observable output changed on purpose, and it belongs in the commit body.

A test that passes without running anything is the failure mode this tree has already been bitten by, hence commits like "Prove an empty test run is not a pass". Assert on the count as well as the content when a suite discovers its own cases.

The quieter version is a test that runs and cannot fail: a refusal asserted against a double that was scripted to refuse, or a hash compared against one the test computed with the function under test. The check that separates them is cheap and is the one to run before believing a new test: break the thing it names, watch it fail, put it back.

Seeing it work in the app

When a fix needs a live look, build the release binary and start the server yourself, then say it is ready to test. Do not hand over a command to run.

sh
make build
./target/release/codetrial web --web-addr 127.0.0.1:3100

Port 3000 is the maintainer's own instance. Never bind, restart or kill it; pass --web-addr with another port and name that port in the report. Running from the checkout picks up web/ edits with no environment variable set.

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

Files

Just SKILL.md in .claude/skills/codetrial-verify of sysprog21/codetrial.

Open the folder on GitHubat commit 1f1fa37

Compare with similar skills

Codetrial Verify 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.

Codetrial Verify compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Codetrial Verify this skillsysprog21/codetrial150—~2.2kAutomated safety check: PassMIT
Minimizing Ty Ecosystem Changesastral-sh/ruff50k—~4.6kAutomated safety check: PassMIT
Install Anti-Slop Oxlint Rulesdmmulroy/anti-slop5.3k—~2.2kAutomated safety check: PassMIT
Babysit PR To Pass CIsgl-project/sglang37k2 repos~3kAutomated safety check: PassApache-2.0
Rust Best Practicesfarm-fe/farm5.6k3 repos~1.1kAutomated safety check: PassMIT
Summarise Ecosystem Resultsastral-sh/ruff50k—~2.2kAutomated safety check: PassMIT

Similar skills

  • Official

    A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…

    50k GitHub stars~4.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Installs, updates or migrates the vendored anti-slop Oxlint plugin in a repository, keeping local rule changes and the plugin's license and provenance files.

    5.3k GitHub stars~2.2k tokensUpdated 28 days ago
    DevelopmentAuto-check passed
  • Babysit PR To Pass CI

    sgl-project/sglang

    Start and persistently pursue a goal to babysit an SGLang pull request until selected GitHub Actions workflows pass on the latest PR head.

    37k GitHub starsUsed in 2 repos~3k tokens
    DevelopmentAuto-check passed
  • Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.

    5.6k GitHub starsUsed in 3 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…

    50k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Go Pedantry

    chromedp/chromedp

    This skill should be used when the user is writing Go code and needs guidance on Go-specific pedantry: error wrapping with fmt.Errorf and %w, interface design (accept interfaces return structs)…

    13k GitHub stars~3.7k tokensUpdated 3 days ago
    DevelopmentAuto-check passed

More from sysprog21/codetrial

  • Codetrial Contribute

    sysprog21/codetrial

    Help CodeTrial contributors turn observations into clear English GitHub issues, small contribution plans, and pull request descriptions, and see them through.

    150 GitHub stars~3.8k tokensUpdated today
    Auto-check passed
  • Codetrial Conventions

    sysprog21/codetrial

    The CodeTrial conventions the gate does not settle on its own, several of them enforced by the git hooks instead - the register a comment, a commit message, an issue or PR title and a PR reply are…

    150 GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Codetrial Web

    sysprog21/codetrial

    The CodeTrial browser half and the boundary it talks across - why web/ has no build step, how a file reaches the browser embedded or from disk, the vendored checksum-pinned assets, the data-channel…

    150 GitHub stars~1.3k tokensUpdated today
    Auto-check passed

Categories

Questions about Codetrial Verify

What does Codetrial Verify do?

How a CodeTrial change is validated - scripts/test.sh as the credential-free gate, which generated artifacts have to be regenerated before it passes, the checks that need credentials or a browser…. Codetrial Verify is an agent skill from sysprog21/codetrial.sh as the credential-free gate, which generated artifacts have to be regenerated before it passes, the checks that need credentials or a browser and therefore sit outside it, the browser and mutation lanes, and how to bring the server up for a live look without taking the maintainer's port.

When should I use Codetrial Verify?

Codetrial Verify fits situations like: tasks that involve Linting and formatting.

How do I install Codetrial Verify in Claude Code?

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

How do I install Codetrial Verify in Codex?

Run `npx skills add sysprog21/codetrial --skill codetrial-verify -a codex`. Or copy the skill folder (.claude/skills/codetrial-verify in sysprog21/codetrial) into .agents/skills/codetrial-verify in your project. Codex loads it when a task matches its description.

Can I use Codetrial Verify 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 sysprog21/codetrial --skill codetrial-verify -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/codetrial-verify, .gemini/skills/codetrial-verify, .github/skills/codetrial-verify and .opencode/skills/codetrial-verify in your project.

What does Codetrial Verify need to run?

Going by SKILL.md and its folder, Codetrial Verify needs the command-line tools its instructions call (make, cargo, python3, node, ruff and npm) and credentials named GOOGLE_API_KEY. Our summary lists: Python 3; Docker; A credential in GOOGLE_API_KEY.

Does Codetrial Verify access the network?

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

Is Codetrial Verify 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 Codetrial Verify use?

Codetrial Verify 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 Codetrial Verify use?

About 2.2k tokens (SKILL.md is roughly 8.8k 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 Codetrial Verify?

Skills that share tags, products or a category with Codetrial Verify: Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars), Install Anti-Slop Oxlint Rules (dmmulroy/anti-slop, 5.3k stars), Babysit PR To Pass CI (sgl-project/sglang, 37k stars) and Rust Best Practices (farm-fe/farm, 5.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Codetrial Verify?

sysprog21 (a GitHub organization) maintains it in sysprog21/codetrial, which has 150 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 9, 2026.

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