Claude Code

Primary Law

A plugin that gives Claude 4.9M+ sections of US primary law, and teaches it how to read them honestly. Statutes, regulations, court rules, constitutions and agency guidance, every one from an official government source.

Claude Code
$ /plugin marketplace add Vaquill-AI/vaquill-plugin
$ /plugin install primary-law@vaquill

Then set VAQUILL_API_KEY and restart. Full setup below.

What the plugin adds

Three layers. The MCP server carries the data, the skill carries the judgment, and the commands are the workflows people actually run.

One MCP server

The full Vaquill AI Developer API as tools: search, citation resolution, section text, point-in-time reconstruction, cross-references and defined terms.

A research skill

The part a tool schema cannot carry. Which corpus to scope to, what a currency verdict means, and how to report an answer without overclaiming.

Ten commands

One per workflow that genuinely differs in shape, not one per corpus. Research, citation checking, cross-state comparison, rulemaking, and more.

The commands

A command exists where the procedure or the caveats differ, not where the filter differs. Searching a different corpus is an argument, not a command.

/primary-law:research

Find the controlling law on a question and answer only from the text the tools return.

/primary-law:verify-citations

Check every citation in a document against the official text, and flag anything no longer good law.

/primary-law:compare-states

How different states word the same rule, starting from one provision or a topic.

/primary-law:as-of

A section as it stood on a past date, with provenance saying how far that reconstruction can be trusted.

/primary-law:authority

Trace a statute to the regulations that implement it, in either direction.

/primary-law:rulemaking

Track a Federal Register rulemaking: what was proposed, what became final, and when comments close.

/primary-law:guidance

Federal agency guidance on a topic, and what weight it does and does not carry.

/primary-law:adjudications

Federal administrative decisions, with the overruling caveat stated up front.

/primary-law:changed

One-off sweep of what moved in a corpus since a date.

/primary-law:coverage

What we actually hold for a jurisdiction, before you read an empty result as an absence of law.

Why the skill matters more than the tools

An API can hand a model the right text and still get a wrong answer out of it. These are the four failures the skill exists to prevent.

Identifiers come from the API, never from a citation

A section id encodes hierarchy the citation does not carry, so a hand-built one usually 404s and the failure reads like missing coverage. The skill routes every lookup through citation resolution instead.

On the US Code, the body is mostly not the law

Operative text is a median 46% of a USC section body, and as little as 3.4% on 17 U.S.C. § 107. The skill fetches the split operative text so a model cannot quote a 1976 committee note as the rule in force.

Unverified is not the same as current

A currency verdict of "unknown" means we hold no reliable repeal signal for that publisher, not that the provision is fine. The skill reports the difference instead of flattening it.

An empty result is not an absence of law

Coverage is per jurisdiction and per corpus. The skill checks what is actually held before letting an empty search be reported as "no such provision".

Setup

Four steps. The third one is where it usually goes wrong.

  1. 1

    Install the plugin

    /plugin marketplace add Vaquill-AI/vaquill-plugin
    /plugin install primary-law@vaquill
  2. 2

    Get an API key

    Create one in the dashboard. It is shown once. Keys are prefixed vq_key_.

  3. 3

    Put it in ~/.zshenv, not ~/.zshrc

    echo 'export VAQUILL_API_KEY="vq_key_YOUR_KEY"' >> ~/.zshenv
    chmod 600 ~/.zshenv

    ~/.zshrc is sourced only for interactive shells, and the processes Claude Code spawns are not always interactive. Then quit Claude Code entirely and relaunch it: environment is inherited once, at process start, so a reload or an MCP reconnect will not pick up a new variable.

  4. 4

    Prove it works with one call

    A green connection is not evidence of a working key: the server lists its tools before it checks your credential. Ask for something free instead.

    "Use Vaquill to list statutes coverage for California."

What this is not

  • No general case law. The corpus is enacted and promulgated text. If a question turns on how courts have read a provision, the plugin says so rather than implying the statute settles it.
  • United States only. Other jurisdictions return nothing, and the skill reports that as out of scope rather than as a gap in coverage.
  • Not a citator. Currency is reported from the publisher's own signal where one exists, and reported as unverified where it does not.

Calls are metered in API credits. Discovery is free. See pricing and coverage.

Give Claude the law, and the judgment to read it.

Install the plugin, or build directly on the same API behind it.