Contribute from your terminal

A Claude Code skill that connects you to the governments that serve your address. Explore what's there, find what's missing, and fill the gaps — all from the CLI.

Install

Two steps: install the skill, then connect the API.

1. Install the skill

$ git clone https://github.com/jurisdictional/jurisdictional-skill.git /tmp/jurisdictional-skill
$ cp -r /tmp/jurisdictional-skill/skills/gather ~/.claude/skills/gather

2. Connect the API

The skill needs the jurisdictional.org MCP server to query civic data. Run this once inside Claude Code:

> /mcp add-json jurisdictional '{"type":"url","url":"https://jurisdictional.org/api/mcp/message"}'

3. Run it

> /gather Vacaville, CA

Requires Claude Code. The skill persists across sessions — install once, use anywhere.

Temporary sessions: You can also try the skill without installing by cloning and using --plugin-dir:

$ git clone https://github.com/jurisdictional/jurisdictional-skill.git ~/.jurisdictional-skill
$ claude --plugin-dir ~/.jurisdictional-skill

This works for a single session but the skill won't persist. The install method above is recommended.

How it works

1

Set your location

Give an address or city. The skill geocodes it and returns your juricode — every layer of government from federal to school district.

2

Explore what's known

See the agencies, bodies, officials, and services already on file. Pick a topic — education, housing, public safety — or browse everything. Gaps are highlighted: "No one has added the planning commission yet."

3

Research and fill gaps

The skill fetches government websites using a headless browser (the gather tool), extracts structured data, and presents it for your review. You correct what's wrong, add what you know, and approve before anything is submitted.

4

Submit directly to jurisdictional.org

Contributions go through the MCP API — create_entity for new agencies and bodies, propose_change for field updates. Each returns a link you can click to verify on the site. Changes appear in real time.

Data hierarchy

Civic data builds up in layers. The skill follows this order — you can't add people without positions, positions without bodies, bodies without agencies.

Jurisdiction  (already exists via juricode)
  └── Agency  (city departments, offices)
        ├── Service  (permits, programs, hotlines)
        ├── Body  (council, commission, board)
        │     └── Position  (Mayor, Council Seat 1)
        │           └── Person → Tenure
        └── Position  (department head, director)

Authentication

Exploration works without sign-in. The MCP read tools are public.

To submit contributions, sign in once:

  1. Visit jurisdictional.org/auth/cli and copy your token
  2. Add it to your shell profile:
$ echo 'export JURISDICTIONAL_TOKEN=jur_dev_...' >> ~/.zshrc

Setting the token in your shell means every Claude Code session picks it up automatically — no pasting each time. Tokens are managed in Settings.

What you can contribute

Agencies

City departments, offices, authorities

Governing bodies

Councils, commissions, boards

Officials & positions

Who holds office and what seats exist

Services

Permits, programs, hotlines

Contact info

Phone, email, address, website

Meeting schedules

When governing bodies meet

Real-time feedback

Open jurisdictional.org while running the skill. Every create_entity and propose_change appears on the site instantly — entity pages, your contributions list, and the juricode activity feed all update in real time via PubSub.

The skill returns a direct URL for every contribution. Click it to verify. Come back to the conversation with corrections.

Pick your city

Start with where you live.

Join the community

Ask questions, share what you're finding, and coordinate coverage with other contributors.

Join us on Discord