opensanctions
- 11 skills
- 0 followers
- 11 hours ago last updated
- ▌ Crawler Pep · opensanctions bundleScaffold 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 or GitHub issue. Creates the dataset .yml plus a crawler emitting Person, Position and Occupancy entities via make_position/categorise/make_occupancy. Use when asked to add, write or scaffold a PEP or members-of-parliament crawler.
- ▌ Debug Crawler · opensanctionsInvestigate a failing crawler and propose a fix, starting from a dataset name or an issues.json artifact URL. Covers pulling the diagnostic report, inspecting source data via Zyte, and common failure patterns including sources that are blocked, geo-blocked, 403/429-throttled, or behind a JavaScript challenge or anti-bot protection.
- ▌ Dataset Metadata · opensanctionsBring a dataset .yml's metadata in line with house conventions (title, summary, description, coverage, publisher, maintainer comments). Use when the user asks to fix, improve or standardise a dataset's metadata.
- ▌ Refactor Crawler · opensanctionsRewrite messy or AI-generated crawler code into clean, production-ready style that follows the zavod best practices. Use when the user asks to clean up, refactor, tidy, or "make production-ready" a crawler, or to bring code in line with best practices.
- ▌ Release Datasets · opensanctionsRelease one or more datasets by adding them to a topical collection, bumping coverage.start, and verifying. Use when the user wants to release/publish specific crawled datasets into the OpenSanctions product.
- ▌ Crawler Sanctions · opensanctions bundleScaffold a new sanctions list crawler from a source URL or GitHub issue
- ▌ Typechecker Fixes · opensanctionsFix mypy --strict type errors in crawler files. Use when the user asks to make the typechecker happy, fix types, or add type annotations to a crawler.
- ▌ Legislature Metadata · opensanctionsRefactor 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.
- ▌ Crawler Constants To Yml · opensanctionsMove 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 possible, otherwise http / config / dates metadata. Use when asked to move, hoist, or "put in the yml" a crawler constant such as GENDERS or HEADERS.
- ▌ Name Framework Migration First Step · opensanctions bundleMigrate ad-hoc name cleaning in a crawler to h.review_names (Step 1 of the name framework migration). Use when a crawler.py contains delimiter splits, regex substitutions, bracket stripping, or conditional logic applied to name strings before the name is added or applied.
- ▌ Name Framework Migration Third Step · opensanctionsComplete the name framework migration in a crawler (Step 3) by removing all custom name cleaning/splitting logic and the Step 1 review scaffolding, replacing it with a single h.apply_reviewed_name_string or h.apply_reviewed_names call. Use only after Step 1 has been deployed and run in production and the dataset's name reviews have been completed (Step 2).