Teach the agent. Then check its work.

Each pack is written for machines to read. Eval harnesses are used to check everything is working correctly. Every release is attorney-reviewed, signed, and dated.

Not a prompt pack. Four parts:

01 · THE SKILL

What your agents read

A folder built on the open SKILL.md standard — checklists, code snippets, linter configs, decision trees. Loads wherever your agents run, so switching stacks doesn't mean rewriting the pack.

02 · THE EVAL HARNESS

How you know it worked

A test suite that measures how often agents pass compliance checks with the pack and without — scored against answers written by hand. It's the same harness behind our published numbers.

03 · THE REGISTRY

What you can point to later

Semver releases, changelogs, signed artifacts, version pinning. wcag@2.2.1 means exactly one reviewed state — so when someone asks what you had in place last March, there's an answer with a date on it.

04 · THE UPDATE PIPELINE

How you hear about changes

Regulatory-change monitors → diff → attorney review → new release → your notification. Rules move, so every change arrives as a release, not a scramble.

Don't believe the pack. Run it.

Most compliance claims are assertions. Ours is a measurement — and the harness is free, so you can point it at your own pages before you pay us anything.

Mechanical checks run on axe-core: same answer every run. The judgment calls are scored by a model against answers written by hand. Every number we publish is yours to reproduce, anytime.

See the benchmark
eval report · wcag@2.2.1 · sample
pages
14 (as shipped)
graders
axe-core + model judge
baseline
41% pass
with pack
99% pass
+58 pts
artifact
signed · dated · diffed
Sample output. Your report runs on your own pages.

Drop it in your repo. Or call it over the wire.

Static files

Drop the pack into your repo for your agents to read on every build. Frictionless: no auth, no network call, no integration work. The fastest path from decision to compliant output.

Served over MCP

Always the current release, with every call logged. When someone asks which version was live in March, the answer is in the log instead of your git history.

Static is the faster start. The API is what you want if you think someone will someday ask for records. Both are supported, and moving between them is just a config change.

A gate in your pipeline, not a report you file.

Just two lines in CI. After that, an agent can't merge pages with failing criterion. Nobody has to remember to check on it, and nobody has to be the person who blocks the PR.

# .ci — gate agent output on the verified pack
bellbriar add wcag@2.2.1
bellbriar eval ./dist --min-pass 95

 report written · signed · diffed against last release

Illustrative. Exact invocation varies by CI provider.

From first audit to every build.

  1. 01

    Free sample audit

    We score up to ten of your recent shipped pages and send back the findings: every criterion that fails, named the way a demand letter names them, with the same pages re-scored under the pack.

  2. 02

    Baseline

    On signup we score your full portfolio to establish the starting number. From there your agents load the pinned pack on every build, so compliant patterns become the default output.

  3. 03

    Evidence, automatically

    Every gated build leaves a signed, dated record of what passed and what version was pinned. When someone asks what you had in place six months ago, you're not reconstructing it from git history.

  4. 04

    Update

    Whenever the rules change, you get a reviewed release and your portfolio re-scored against it. A dependency bump, not a fire drill.

Find out what your pages are carrying.

Send up to ten links. We run the same harness and send back every criterion that fails, within one business day.

Request a free audit See pricing