Agent skill

Name Framework Migration Third Step

by opensanctions in opensanctions/opensanctions

Complete 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…

MITAuto-check passedData & Analytics

Install Name Framework Migration Third Step

skills CLI
$ npx skills add opensanctions/opensanctions --skill name-framework-migration-third-step -a claude-code

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

GitHub CLI
$ gh skill install opensanctions/opensanctions name-framework-migration-third-step --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/name-framework-migration-third-step .claude/skills/name-framework-migration-third-step && 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
name-framework-migration-third-step
GitHub stars
832
Token cost
~904 tokens
SKILL.md length
401 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
MIT

At a glance

Complete 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…

  • Tasks that involve Code migrations
  • SKILL.md covers Preconditions, Branch setup, Crawler source and Read first, plus 3 more sections
  • Calls git and uvx
  • Tasks that involve Web scraping

What it does

Name Framework Migration Third Step is an agent skill from opensanctions/opensanctions. Complete 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.applyreviewednamestring or h.applyreviewednames call. Use only after Step 1 has been deployed and run in production and the dataset's name reviews have been completed (Step 2).

Its SKILL.md is about 900 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 Code migrations, Web scraping and Project scaffolding. 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

  • Tasks that involve Code migrations
  • Tasks that involve Web scraping
  • Tasks that involve Project scaffolding

Example prompts

  • “/name-framework-migration-third-step”

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • uvx

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

  • Network

    No URLs in SKILL.md. Its commands use git and uvx, which can reach the network depending on how they are called.

    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

Name Framework Migration Third Step loads about 904 tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 401 words of instructions outside code blocks.

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

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 ce59ef9, republished under its MIT licence (© opensanctions). 401 words, ~904 tokens.

Download SKILL.mdSave it as .claude/skills/name-framework-migration-third-step/SKILL.md (or your agent's skills folder).
name
name-framework-migration-third-step
description
Complete 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).
argument-hint
[crawler.py path]
disable-model-invocation
true

Perform Step 3 of the name framework migration in $ARGUMENTS.

zavod/docs/extract/names.md#migrating-to-the-name-cleaning-helpers (the "Step 3" subsections) is the authoritative procedure and holds the exact code — follow it, do not rely on a paraphrase here. This skill only orients you and covers the mechanics of running it.

Preconditions

Do not run Step 3 until Step 1 has been deployed and run in production (the crawler already calls h.review_names) and Step 2 is done (the dataset's name reviews are completed). Step 3 hands cleaning to the review system, and unaccepted reviews fall back to the raw string — so incomplete reviews change the output. If you cannot confirm both, stop and tell the user.

Branch setup

Derive a branch name from the crawler path: take the dataset name (the directory containing crawler.py) and prefix it with name-migration-step3/ (e.g. datasets/us/ga/med_exclusions/crawler.py → name-migration-step3/us-ga-med-exclusions). Then git checkout -b <branch-name> and confirm you are on it before proceeding.

Crawler source

!cat $ARGUMENTS

Read first

  • zavod/docs/extract/names.md#migrating-to-the-name-cleaning-helpers — the "Step 3" subsections are authoritative for the exact code
  • zavod/zavod/helpers/names.py — signatures for apply_reviewed_name_string, apply_reviewed_names, Names

What Step 3 changes

  • Remove all custom splitting/cleaning and the Step 1 scaffolding it was added alongside: original, suggested, h.check_names_regularity, h.review_names, and the manual entity.add("name"/"alias", ...) calls that drove output.
  • Keep the raw source string capture (the .pop(...)) and the entity id.
  • Follow the doc for the replacement call: sanctions/debarment → apply_reviewed_name_string with no llm_cleaning; non-sanctions → the same with llm_cleaning=True; multiple source name fields → apply_reviewed_names with an h.Names(...).
  • string= (or the Names values) must be the unmodified raw source string; preserve any lang= the removed entity.add used; call the helper at most once per entity.

After the edit, tell the user to check, once the Step 3 deployment has run, that new names were not auto-accepted between deploying Step 1 and Step 3.

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

After changes

After every edit, run uvx ruff check --fix $ARGUMENTS && uvx ruff format $ARGUMENTS and fix anything it reports.

Once ruff passes, git add $ARGUMENTS and output this suggested commit message (do not commit):

[<dataset_slug>] name migration step 3

where <dataset_slug> strips datasets/ and /crawler.py and replaces / with _ (e.g. datasets/us/ga/med_exclusions/crawler.py → [us_ga_med_exclusions] name migration step 3).

Do not

  • Do not run Step 3 before its preconditions hold (Step 1 deployed and run, Step 2 reviews completed)
  • Do not enable llm_cleaning for sanctions datasets
  • Do not pass a cleaned/split/modified string to string=
  • Do not leave any custom cleaning or Step 1 scaffolding behind
  • Do not guess Names field names or helper signatures — read zavod/zavod/helpers/names.py

© 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/name-framework-migration-third-step of opensanctions/opensanctions.

Open the folder on GitHubat commit ce59ef9

Compare with similar skills

Name Framework Migration Third Step 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.

Name Framework Migration Third Step compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Name Framework Migration Third Step this skillopensanctions/opensanctions832—~904Automated safety check: PassMIT
Webcrawler Deep Crawlbrowser-act/skills6.1k—~4.3kAutomated safety check: PassMIT
Monitor With HaolemeHaolemeApp/Haoleme157—~1.3kAutomated safety check: PassAGPL-3.0
Jeecg Systemjeecgboot/skills239—~3.2kAutomated safety check: PassApache-2.0
Leetcode Pywislertt/leetcode-py142—~1.4kAutomated safety check: PassApache-2.0
Setup Workspaceprobabl-ai/skills137—~1.5kAutomated safety check: PassBSD-3-Clause

Similar skills

  • Webcrawler Deep Crawl

    browser-act/skills

    Deep-crawl any website from start URLs, return per-page LLM-ready text/markdown/HTML plus metadata (title, description, author, language, canonical URL, OG) and in-scope outbound links.

    6.1k GitHub stars~4.3k tokensUpdated 1 mo ago
    DatabasesAuto-check passed
  • Monitor With Haoleme

    HaolemeApp/Haoleme

    Selectively monitor important long-running or resource-intensive commands with Haoleme by prefixing them with hao, so status, output, and completion notifications sync to the mobile app.

    157 GitHub stars~1.3k tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed
  • Jeecg System

    jeecgboot/skills

    JeecgBoot 系统主数据查询与管理。Use when user asks to query/create/manage system master data, or says "查询角色", "查询用户", "查询部门", "查询字典", "创建字典", "创建角色", "查岗位", "查职务", "查租户", "查数据源", "查定时任务", "系统主数据", "query…

    239 GitHub stars~3.2k tokensUpdated 20 days ago
    Data & AnalyticsAuto-check passed
  • Leetcode Py

    wislertt/leetcode-py

    Generates Python LeetCode practice environments and manages a 307-problem catalog with the lcpy CLI.

    142 GitHub stars~1.4k tokensUpdated yesterday
    Business, Finance & HRAuto-check passed
  • Setup Workspace

    probabl-ai/skills

    Detect an existing ML workspace or scaffold a fresh one via python -m skoreskills scaffold --package <pkg.

    137 GitHub stars~1.5k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Monitor competitor pricing, features, changelogs, dashboards, and product changes with Firecrawl.

    116 GitHub stars~604 tokensUpdated yesterday
    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
  • Legislature Metadata

    opensanctions/opensanctions

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

    832 GitHub stars~953 tokensUpdated today
    Auto-check passed
  • 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

Questions about Name Framework Migration Third Step

What does Name Framework Migration Third Step do?

Complete 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…. Name Framework Migration Third Step is an agent skill from opensanctions/opensanctions.applyreviewednames call.

When should I use Name Framework Migration Third Step?

Name Framework Migration Third Step fits situations like: tasks that involve Code migrations; tasks that involve Web scraping; tasks that involve Project scaffolding.

How do I install Name Framework Migration Third Step in Claude Code?

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

How do I install Name Framework Migration Third Step in Codex?

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

Can I use Name Framework Migration Third Step 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 name-framework-migration-third-step -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/name-framework-migration-third-step, .gemini/skills/name-framework-migration-third-step, .github/skills/name-framework-migration-third-step and .opencode/skills/name-framework-migration-third-step in your project.

What does Name Framework Migration Third Step need to run?

Going by SKILL.md and its folder, Name Framework Migration Third Step needs the command-line tools its instructions call (git and uvx).

Does Name Framework Migration Third Step access the network?

SKILL.md contains no URLs. Its commands use git and uvx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Name Framework Migration Third Step 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 Name Framework Migration Third Step use?

Name Framework Migration Third Step 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 Name Framework Migration Third Step use?

About 904 tokens (SKILL.md is roughly 3.6k 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 Name Framework Migration Third Step?

Skills that share tags, products or a category with Name Framework Migration Third Step: Webcrawler Deep Crawl (browser-act/skills, 6.1k stars), Monitor With Haoleme (HaolemeApp/Haoleme, 157 stars), Jeecg System (jeecgboot/skills, 239 stars) and Leetcode Py (wislertt/leetcode-py, 142 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Name Framework Migration Third Step?

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 8, 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.