Agent skill

Legislature Metadata

by opensanctions in opensanctions/opensanctions

Refactor the title, description and coverage frequency of a legislature/parliament PEP dataset .yml into the house style.

MITAuto-check passedData & Analytics

Install Legislature Metadata

skills CLI
$ npx skills add opensanctions/opensanctions --skill legislature-metadata -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install opensanctions/opensanctions legislature-metadata --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/opensanctions/opensanctions.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/legislature-metadata .claude/skills/legislature-metadata && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
legislature-metadata
GitHub stars
832
Token cost
~953 tokens
SKILL.md length
413 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Refactor the title, description and coverage frequency of a legislature/parliament PEP dataset .yml into the house style.

  • Works in 4 steps: Read the crawler first → Title → Members of → Description — the legislature pattern → …
  • The user asks to improve
  • SKILL.md covers 1. Read the crawler first, 2. Title → Members of, 3. Description — the… and 4. coverage.frequency: monthly, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Legislature Metadata is an agent skill from opensanctions/opensanctions. Refactor the title, description and coverage frequency of a legislature/parliament PEP dataset .yml into the house style. Use when the user asks to improve or standardise the metadata of a members-of-parliament dataset.

Its SKILL.md is about 950 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Data & Analytics, covering Web scraping. The repository describes itself as: An open database of international sanctions data, persons of interest and politically exposed persons. The licence is MIT.

When your agent uses it

  • The user asks to improve
  • Standardise the metadata of a members-of-parliament dataset

Example prompts

  • “/legislature-metadata”

Requirements

  • Pre-approved tools (allowed-tools): Read, Edit, Glob, Grep

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Read the crawler first
  2. Title → Members of
  3. Description — the legislature pattern
  4. coverage.frequency: monthly

What it can do on your machine

Read from SKILL.md and the folder at commit 8891a3e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Edit
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Legislature Metadata loads about 953 tokens when it runs. Until then it costs about 60 tokens; SKILL.md has 413 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~60
When it runs · the whole SKILL.md, loaded when a task matches
~953

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from opensanctions/opensanctions at commit 8891a3e, republished under its MIT licence (© opensanctions). 413 words, ~953 tokens.

Download SKILL.mdSave it as .claude/skills/legislature-metadata/SKILL.md (or your agent's skills folder).
name
legislature-metadata
description
Refactor the title, description and coverage frequency of a legislature/parliament PEP dataset .yml into the house style. Use when the user asks to improve or standardise the metadata of a members-of-parliament dataset.
allowed-tools
Read, Edit, Glob, Grep
argument-hint
[dataset .yml path]

Legislature dataset metadata

Standardise the title, description and coverage.frequency of a PEP dataset that covers members of a national (or subnational) legislature. Target file: $ARGUMENTS

General metadata rules live in zavod/docs/metadata.md. This skill defines the legislature-specific pattern for title, description and coverage.frequency only. For every other field — summary, publisher, data, tags, maintainer comments — follow the /dataset-metadata skill; don't touch them here unless the user asked for a full metadata pass.

1. Read the crawler first

Open the dataset's entry_point (usually crawler.py next to the .yml) and note the scope facts the description depends on:

  • unicameral vs bicameral, and (for a bicameral body) which chamber this is;
  • seat count, term length, and how members are elected (e.g. proportional representation, by district, appointed);
  • whether the dataset is current-only or also historical (look for earliest_term_start / a PEP look-back cutoff → "Current and historical");
  • deliberate exclusions (e.g. alternates or substitutes skipped).

2. Title → <Country> Members of <Parliament name>

Use the English country name and the legislature's common English name:

  • Georgia Members of Parliament
  • Mongolia Members of the State Great Khural
  • Japan Members of the House of Councillors

For one chamber of a bicameral body, name the chamber (Romania Members of the Chamber of Deputies). Keep any established acronym the file already uses only if it reads naturally; prefer the plain form.

Show full SKILL.md (197 more words)Show less

3. Description — the legislature pattern

Follow the description guidance in zavod/docs/metadata.md, including its "Keep out of the description" rules. One short paragraph, optionally two:

Paragraph 1 — who the members are + institutional context. Scope-prefixed ("Current members of …" / "Current and historical members of …"), naming the body with its original-language name in parentheses, then the defining facts: chamber type, seat count, how and for how long members are elected, and one clause on the chamber's role ("… and hold the country's legislative power, including passing laws and approving the budget."). For an SAR or subnational body say "the region's" rather than "the country's".

Optional paragraph 2 — scope notes. Only when there is something substantive to say: deliberate exclusions ("alternates are not included"), current-only vs historical coverage, a bounded period.

Worked example
yaml
title: Georgia Members of Parliament
description: |
  Current members of the Parliament of Georgia, the country's unicameral national
  legislature. Its 150 members are elected under proportional representation for a
  four-year term and hold the country's legislative power, including passing laws,
  approving the budget, and overseeing the government.

4. coverage.frequency: monthly

Set coverage.frequency to monthly (leave coverage.start and any schedule unchanged). If it is already monthly, leave it.

Verify

Re-read the edited fields. Confirm the seat count / term / election method match the source, any scope note reflects what the crawler actually does, and no sourcing, mechanics, or per-field language remains.

If the user asked for a full metadata pass, continue with the /dataset-metadata checklist for the remaining fields.

© opensanctions, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/legislature-metadata of opensanctions/opensanctions.

Open the folder on GitHubat commit 8891a3e

Compare with similar skills

Legislature Metadata next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Legislature Metadata compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Legislature Metadata this skillopensanctions/opensanctions832—~953Automated safety check: PassMIT
Tmuxtrpc-group/trpc-agent-go1.9k23 repos~868Automated safety check: PassApache-2.0
Ketch1broseidon/ketch7001 repos~3.9kAutomated safety check: PassMIT
Crawl4AI Web Scrapingsmallnest/goclaw5991 repos~2.5kAutomated safety check: PassMIT
Boss Zhipin Scrapereatmoreduck/boss-zhipin-scraper1.5k—~2.6kAutomated safety check: PassMIT
Axyusukebe/ax7191 repos~918Automated safety check: PassMIT

Similar skills

  • Tmux

    trpc-group/trpc-agent-go

    Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.

    1.9k GitHub starsUsed in 23 repos~868 tokens
    Data & AnalyticsAuto-check passed
  • Ketch

    1broseidon/ketch

    Research skill for ketch — a fast stateless CLI for web search, OSS code search, curated library docs, page scraping, and site crawling; an optional MCP server exists for operators who want it, but…

    700 GitHub starsUsed in 1 repo~3.9k tokens
    Data & AnalyticsAuto-check passed
  • Crawl4AI Web Scraping

    smallnest/goclaw

    Scrapes sites, handles JavaScript-heavy pages and extracts structured data with Crawl4AI, through its crwl CLI or Python SDK, including schema-based extraction without an LLM.

    599 GitHub starsUsed in 1 repo~2.5k tokens
    Data & AnalyticsAuto-check passed
  • Boss Zhipin Scraper

    eatmoreduck/boss-zhipin-scraper

    Scrape BOSS直聘 (job listing site) via Chrome CDP. An agent skill from eatmoreduck/boss-zhipin-scraper.

    1.5k GitHub stars~2.6k tokensUpdated 10 days ago
    Data & AnalyticsAuto-check passed
  • Ax

    yusukebe/ax

    Use the ax CLI instead of curl + throwaway parsing scripts whenever you fetch a URL, explore an unknown web page, or extract structured data from HTML.

    719 GitHub starsUsed in 1 repo~918 tokens
    Data & AnalyticsAuto-check passed
  • Anakinscraper

    Anakin-Inc/anakin

    Scrape any website into clean markdown or structured JSON. An agent skill from Anakin-Inc/anakin.

    4.5k GitHub stars~859 tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed

More from opensanctions/opensanctions

All 11 skills in this repo
  • Crawler Pep

    opensanctions/opensanctions

    Scaffold a new PEP (Politically Exposed Persons) crawler — members of a parliament, legislature, senate, chamber of deputies, cabinet, judiciary, or an asset-declaration register — from a source URL…

    832 GitHub stars~1.9k tokensUpdated today
    Auto-check: notes
  • Crawler Constants To Yml

    opensanctions/opensanctions

    Move hardcoded lookup/config constants (gender maps, header dicts, value translations, column-label maps, date formats) out of a crawler and into the dataset .yml — as datapatch lookups wherever…

    832 GitHub stars~1.4k tokensUpdated today
    Auto-check: notes
  • Dataset Metadata

    opensanctions/opensanctions

    Bring a dataset .yml's metadata in line with house conventions (title, summary, description, coverage, publisher, maintainer comments).

    832 GitHub stars~604 tokensUpdated today
    Auto-check: notes
  • Name Framework Migration First Step

    opensanctions/opensanctions

    Migrate ad-hoc name cleaning in a crawler to h.reviewnames (Step 1 of the name framework migration).

    832 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Refactor Crawler

    opensanctions/opensanctions

    Rewrite messy or AI-generated crawler code into clean, production-ready style that follows the zavod best practices.

    832 GitHub stars~1.1k tokensUpdated today
    Auto-check: notes
  • Release Datasets

    opensanctions/opensanctions

    Release one or more datasets by adding them to a topical collection, bumping coverage.start, and verifying.

    832 GitHub stars~566 tokensUpdated today
    Auto-check passed

Questions about Legislature Metadata

What does Legislature Metadata do?

Refactor the title, description and coverage frequency of a legislature/parliament PEP dataset .yml into the house style. Legislature Metadata is an agent skill from opensanctions/opensanctions.yml into the house style.

When should I use Legislature Metadata?

Legislature Metadata fits situations like: the user asks to improve; standardise the metadata of a members-of-parliament dataset.

How do I install Legislature Metadata in Claude Code?

Run `npx skills add opensanctions/opensanctions --skill legislature-metadata -a claude-code`. Or copy the skill folder (.claude/skills/legislature-metadata in opensanctions/opensanctions) into .claude/skills/legislature-metadata in your project. Claude Code loads it when a task matches its description.

How do I install Legislature Metadata in Codex?

Run `npx skills add opensanctions/opensanctions --skill legislature-metadata -a codex`. Or copy the skill folder (.claude/skills/legislature-metadata in opensanctions/opensanctions) into .agents/skills/legislature-metadata in your project. Codex loads it when a task matches its description.

Can I use Legislature Metadata in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add opensanctions/opensanctions --skill legislature-metadata -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/legislature-metadata, .gemini/skills/legislature-metadata, .github/skills/legislature-metadata and .opencode/skills/legislature-metadata in your project.

What does Legislature Metadata need to run?

SKILL.md names no scripts, command-line tools or credentials: Legislature Metadata is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Edit, Glob, Grep.

Does Legislature Metadata access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Legislature Metadata safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Legislature Metadata use?

Legislature Metadata is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Legislature Metadata use?

About 953 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Legislature Metadata?

Skills that share tags, products or a category with Legislature Metadata: Tmux (trpc-group/trpc-agent-go, 1.9k stars), Ketch (1broseidon/ketch, 700 stars), Crawl4AI Web Scraping (smallnest/goclaw, 599 stars) and Boss Zhipin Scraper (eatmoreduck/boss-zhipin-scraper, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Legislature Metadata?

opensanctions (a GitHub organization) maintains it in opensanctions/opensanctions, which has 832 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 9, 2026.

Source: opensanctions/opensanctions on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.