Skip to content
Agentmart
Submit a tool

bench-rule-enable

Enable an existing or newly-added markuplint rule on the nu-validator bench by editing tests/external/bench/config.ts.

Skill by markuplint

IndexedMIT★ 629
Write a review

Chalk Labs

Need help deploying bench-rule-enable?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

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-rule-enable

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.

We use your email only for this newsletter. Privacy

About

Enable an existing or newly-added markuplint rule on the nu-validator bench by editing tests/external/bench/config.ts. Covers the flat-rule case (rules: { '<name>': true }) and the severity override case (rules: { '<name>': { severity: 'error' } }) that bench-virtual-rule does not. Use when a rule exists in the registry but the relevant nu fixtures stay nu-only because the rule is not enabled in the bench config, or when a rule's default severity is warning but the spec text it mirrors is a MUST / MUST NOT. Trigger keywords: enable bench rule, bench config flat rule, severity override bench, rule not flagging on bench, warning vs error in bench, escalate severity bench, no-contradictory-aria-prop bench, bench coverage missing rule.

Use cases: testing, writing

No 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-rule-enable

What's inside

Skill name
bench-rule-enable
Description
Enable an existing or newly-added markuplint rule on the nu-validator bench by editing tests/external/bench/config.ts. Covers the flat-rule case (rules: { '<name>': true }) and the severity override case (rules: { '<name>': { severity: 'error' } }) that bench-virtual-rule does not. Use when a rule exists in the registry but the relevant nu fixtures stay nu-only because the rule is not enabled in the bench config, or when a rule's default severity is warning but the spec text it mirrors is a MUST / MUST NOT. Trigger keywords: enable bench rule, bench config flat rule, severity override bench, rule not flagging on bench, warning vs error in bench, escalate severity bench, no-contradictory-aria-prop bench, bench coverage missing rule.
License
MIT
Metadata
internal: true
Instructions
99 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Bench Rule Enable Skill

`tests/external/bench/config.ts` curates rules explicitly (no
`extends: ['markuplint:html-standard']`). A rule that exists in the
markuplint registry will not affect bench verdicts until it is added
to that file. This skill covers the two non-virtual-rule patterns:

- **Flat enable**: adding `'<rule-name>': true` for a rule whose
  default behaviour matches the bench's spec-conformance lens.
- **Severity override**: adding `'<rule-name>': { severity: 'error' }`
  for a rule whose default severity is `'warning'` but whose
  underlying assertion is a MUST / MUST NOT in the spec text.

For preset-defined virtual rules (`nodeRules[]` selectors), use
`bench-virtual-rule` instead.

## When to add a rule to the bench

The bench is the spec-conformance comparison surface. A rule belongs
in `bench/config.ts` only when its assertions map onto a
nu-validator capability. Use this checklist:

1. The rule is registered in `packages/@markuplint/rules/src/index.ts`. On the v6 line, confirm where the rule actually lives before editing anything: that branch carries a second rule implementation under `crates/markuplint-rules`, governed by `crates/markuplint-rules/CLAUDE.md`.
2. The rule reports diagnostics with severity `'error'` (or you
   intend to override severity — see the next section).
3. Either:
   - nu-validator currently fires on the same markup pattern, OR
   - the spec the rule cites contains MUST / MUST NOT language and
     the discrepancy in nu's coverage is documented in
     `bench-triage`'s [audit log](../bench-triage/audit-log.md).

If both nu and the spec are silent, do **not** enable the rule in
the bench — it would inflate `ml-only` without producing a
spec-aligned signal.

## Pattern 1: flat enable

Most new conformance rules ship as flat enable: add
`'<rule-name>': true` to `rules` in `tests/external/bench/config.ts`
(entries kept alphabetical). After editing:

```sh
yarn build --scope @markuplint/rules
yarn bench:update --target markuplint --filter '<bench fixture path>'
```

Expect the targeted fixtures to flip from `nu-only` to
`match-error`. If a fixture stays `nu-only`, the rule is not
matching that specific HTML (re-read the rule and the fixture).

## Pattern 2: severity override

A rule whose default `meta.defaultSeverity` is `'warning'` does not
contribute to bench verdicts (see `compare.ts#judgeMlState` — only
errors flip ml state). Override for the bench-only run by adding
`'<rule-name>': { severity: 'error' }` to `bench/config.ts`.

The inline comment on the override must include:

- The spec citation that justifies treating the rule as error
- A reason why the user-facing default stays at `'warning'` (so the
  next maintainer does not "harmonise" by raising the user-facing
  default unconditionally)

## Side-effect check

Severity overrides have ripple effects: fixtures that previously
were `match-clean` (both clean) may flip to `ml-only` (ml strict, nu
lax). This is **not a regression** when:

- The spec the rule cites is a MUST / MUST NOT, and
- The fixture's filename includes `-haswarn` (nu fires only a
  warning, not an error)

Confirm by inspecting
`tests/external/snapshots/diff/markuplint-only.json` after the bench
run: filter `entries[]` to those whose `ruleIds` include the rule.

Each affected fixture should be a legitimate "ml strict, nu lax"
case per the bench-triage SKILL ml-only readings. Anything else is a
real over-detection — back out the severity override.

## Verification

```sh
yarn bench:update --target markuplint
yarn bench:compare
```

Compare `tests/external/snapshots/diff/summary.md`:

- Per-category match-error count for the rule's domain should rise
- nu-only count should fall by the same amount (within nu-validator
  parallel-load flicker)
- ml-only delta should match the side-effect analysis above

Pin against `--concurrency 1` before filing for a stable verdict.

From markuplint/markuplint, MIT.

More from markuplint/markuplint

Signals

Stars
629
Forks
70
Open issues
52
Last commit (this folder)
Oct 16, 2026 (14 days ago)
Last release
Oct 21, 2026 (9 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from markuplint

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get bench-rule-enable running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying bench-rule-enable?

CallGet help
Cite this page

bench-rule-enable skill. Agent Mart. https://agentmart.dev/skills/markuplint-bench-rule-enable (last updated 2026-10-24)