bench-setup
Set up the nu-validator benchmark environment — initialise the validator submodule, ensure Docker is running, populate the gitignored raw snapshots via yarn…
Skill by markuplint
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/markuplint-bench-setup
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops, testing, containers-kubernetes
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/bench-setup
What's inside
- Skill name
bench-setup- Description
- Set up the nu-validator benchmark environment — initialise the validator submodule, ensure Docker is running, populate the gitignored raw snapshots via yarn bench:update. Also covers Docker / nu-runner troubleshooting. Use when bench commands fail with "no snapshots found", "Docker daemon not reachable", port 28888 conflicts, or healthcheck timeouts; or when refreshing the bench after a long break. Trigger keywords: bench setup, bench Docker, validator submodule, no snapshots found, Docker daemon not reachable, healthcheck times out, port 28888, yarn bench:update first time, bench install, fresh clone bench.
- License
- MIT
- Metadata
- internal: true
- Instructions
- 86 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# nu-validator Bench Setup Skill Get the bench runnable on this machine, or recover when it isn't. Once this skill's checks pass, drop into `bench-triage` for actual coverage work. ## Prerequisites - Docker Desktop / Engine (macOS / Linux; WSL2 on Windows). The bench does not install Docker for you. - Node 22+ (already required by the monorepo). - The validator submodule checked out: ``` git submodule update --init tests/external/validator ``` This path is deliberately narrow — it is the only submodule the bench needs. A branch may carry others for unrelated suites (the v6 line vendors `html5lib-tests` for the Rust parser), so do not widen it to a bare `git submodule update --init` and assume the result is bench setup. ## Fresh-clone bootstrap Raw snapshot trees are gitignored. Populate them once: ``` git submodule update --init tests/external/validator yarn bench:update ``` This pulls the nu-validator Docker image (`ghcr.io/validator/validator`), runs both tools across all fixtures, and writes the snapshot trees, diffs, and generated spec. Takes ~2 minutes at default concurrency. A worktree can skip the Docker leg when another checkout on the same machine already holds the raw trees for the same nu inputs. Compare `tests/external/snapshots/meta.json` in both checkouts first: the same `submoduleSha` and `nuValidatorImage` mean the nu tree there is the one this worktree would produce. Then copy the gitignored nu tree and regenerate the markuplint side against this worktree's build: ``` cp -r <other-checkout>/tests/external/snapshots/nu-validator tests/external/snapshots/ yarn bench:update:ml ``` ## Routine refresh after dev sync ``` git submodule update --remote tests/external/validator yarn bench:update ``` Review `snapshots/diff/summary.md` and `snapshots/diff/*.json` in the PR. The raw snapshot trees stay local-only. What to do with the resulting diff — classifying new `nu-only` entries, re-pinning stale exclusions, syncing issue bodies — is the `bench-maintain` skill. ## Markuplint rule change (skip the Docker leg) ``` yarn bench:update:ml ``` Only re-runs the markuplint side; reuses existing nu snapshots. ## Commands reference The `yarn bench:*` scripts are defined in the root `package.json`; their flags (`--target`, `--filter`, `--concurrency`, etc.) are parsed in the corresponding `tests/external/bench/*.ts` entry — read those when unsure. The non-derivable bit: nu output is only deterministic at `--concurrency 1`. ## Troubleshooting | Symptom | Likely cause and fix | | --- | --- | | `Docker daemon not reachable` | Start Docker Desktop / the daemon. The bench does not install or start Docker. | | `docker pull failed` | `docker login ghcr.io` if behind authenticated pulls, otherwise check connectivity. | | Healthcheck times out | nu-validator takes 10–30 s to come up cold. If > 60 s, `docker logs ml-nu-validator`. | | `Port 28888 already allocated` | Stop the conflicting container, or edit `DEFAULT_PORT` in `bench/docker.ts`. | | `yarn bench:verify` / `yarn bench:compare` "no snapshots found" | Raw trees are gitignored on a fresh clone. Run `yarn bench:update`. | | One or two snapshot files flip between runs | Expected nu parallelism flicker. Rerun with `--concurrency 1` when reproducibility matters. | | Unexpected diffs after a submodule bump | Check `tests/external/snapshots/meta.json` for image-digest / markuplint-version changes. |
From markuplint/markuplint, MIT.
More from markuplint/markuplint
- 0.817score
impl
markuplint
Implementation orchestrator — takes an agreed plan through implementation, carry-over approval, code review, security review, QA, docs consistency, lint/test…
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
issue
markuplint
Analyze or create a GitHub Issue and build a TDD resolution plan.
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
qa-engineer
markuplint
Review a diff of this repository as a QA engineer: test quality (coverage, test-faking code, swallowed exceptions, conditional logic in tests, hardcoded…
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
pr-review
markuplint
Review an external pull request for the owner: check it against the intake conditions of CONTRIBUTING.md (eligible issue, required body sections, no burst of…
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
verify-docs
markuplint
Verify documentation claims (README, JSDoc) in spec-heavy packages — @markuplint/types (attribute value types; WHATWG/W3C/RFC/CSS/SVG grammars) and…
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
release
markuplint
Release markuplint — branch promotion, version bump (lerna fixed mode), tag push, publish workflow monitoring, npm-state verification, GitHub Release notes…
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
git
markuplint
Git operation rules for this repository — branch guard, commit granularity, package commit order, Conventional Commits message format, and pre-commit checks.
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
product-manager
markuplint
Review a diff of this repository from a Product Manager (PdM) perspective: documentation consistency (JSDoc placement, comment policy, README accuracy)…
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
framework-parsers
markuplint
Create and maintain framework parser and spec packages for markuplint — package types, naming, and the architectural constraints that break the build or…
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
pr
markuplint
Create and push a pull request — pre-flight checks, base tracking, PR body drafting, conflict detection, and CI watch loop.
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
list-rule-test
markuplint
List rule test IDs with filtering and stats.
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
doc
markuplint
Documentation policy — JSDoc-first; no code-derivable markdown.
SkillAFreshness: A★ 629Claude Code +9
Signals
- Stars
- 629
- Forks
- 70
- Open issues
- 52
- Last commit (this folder)
- Oct 16, 2026 (13 days ago)
- Last release
- Oct 21, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/markuplint/markuplint
- Website
- markuplint.dev
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from markuplint
- 0.817score
impl
markuplint
Implementation orchestrator — takes an agreed plan through implementation, carry-over approval, code review, security review, QA, docs consistency, lint/test…
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
verify-docs
markuplint
Verify documentation claims (README, JSDoc) in spec-heavy packages — @markuplint/types (attribute value types; WHATWG/W3C/RFC/CSS/SVG grammars) and…
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
release
markuplint
Release markuplint — branch promotion, version bump (lerna fixed mode), tag push, publish workflow monitoring, npm-state verification, GitHub Release notes…
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
qa-engineer
markuplint
Review a diff of this repository as a QA engineer: test quality (coverage, test-faking code, swallowed exceptions, conditional logic in tests, hardcoded…
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
product-manager
markuplint
Review a diff of this repository from a Product Manager (PdM) perspective: documentation consistency (JSDoc placement, comment policy, README accuracy)…
SkillAFreshness: A★ 629Claude Code +9 - 0.811score
pr-review
markuplint
Review an external pull request for the owner: check it against the intake conditions of CONTRIBUTING.md (eligible issue, required body sections, no burst of…
SkillAFreshness: A★ 629Claude Code +9
Cite this page
bench-setup skill. Agent Mart. https://agentmart.dev/skills/markuplint-bench-setup (last updated 2026-10-24)