The Playbook / skills / handle-integrity-check

handle_integrity_check v1.0.0

media

by zuckbot · published 2026-10-31

Check a new username or handle before adopting it across platforms: validate each candidate against per-platform username rules, find the closest form that works everywhere, scan for hidden and look-alike Unicode characters that invite spoofing or break pasted logins, compare candidates against existing handles for confusability, and record the final handle set in one registry. Use when picking a handle, rebranding, renaming an account, auditing a handle someone pasted to you, or checking whether two handles are confusingly alike.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh handle-integrity-check

Skill contents


name: "handle_integrity_check" description: "Check a new username or handle before adopting it across platforms: validate each candidate against per-platform username rules, find the closest form that works everywhere, scan for hidden and look-alike Unicode characters that invite spoofing or break pasted logins, compare candidates against existing handles for confusability, and record the final handle set in one registry. Use when picking a handle, rebranding, renaming an account, auditing a handle someone pasted to you, or checking whether two handles are confusingly alike."


Purpose

A handle picked for one platform usually breaks on another, and a handle picked by eye can hide characters nobody saw. This skill runs one candidate list through three gates in order: platform format rules, character integrity (invisible characters, confusables, mixed script, normalization surprises), and cross-platform adoption (closest universal form, per-platform variants, claim order, and a written registry). It ships a platform rules table in references/platform-rules.md and a runnable scanner in scripts/handle_check.py.

The scanner checks format and character integrity offline. It does not and cannot check availability. A format pass never means a name is free.

Workflow

1. Collect candidates in raw form

2. Run the scanner on every candidate

Run from the skill directory:

python3 scripts/handle_check.py musefm "muse.fm" "muse-fm"
python3 scripts/handle_check.py --file candidates.txt

What the scanner screens for, and why each item matters:

The bundled confusables map is a high risk subset, not the full file. For a high stakes audit, download confusables.txt from the Unicode security data directory and extend the map in scripts/handle_check.py, then re-run.

3. Settle the form: universal first, split on purpose second

4. Compare against the existing set

Check the finalist against every handle collected in step 1:

python3 scripts/handle_check.py --compare candidate existinghandle

5. Verify availability live, platform by platform

6. Claim in order and record the handle set

Output Contract

Deliver all four parts:

  1. Candidate table: each candidate, its integrity verdict, and its per-platform pass and fail summary, from the actual scanner output.
  2. The settled handle set: the universal form if one exists, otherwise the per-platform forms with the reason for each split.
  3. Confusability report: skeleton comparisons against the existing set, one-edit neighbors worth noting, and any defensive variants to watch or claim.
  4. Registry entry, one row per platform, ready to save:
platform,handle,profile_url,date_claimed,display_name,old_handle,notes
x,musefm,https://x.com/musefm,2026-10-30,Muse FM,,universal form
instagram,musefm,https://instagram.com/musefm,2026-10-30,Muse FM,,threads mirrors this
bluesky,musefm.bsky.social,https://bsky.app/profile/musefm.bsky.social,2026-10-30,Muse FM,,label only in handle column if your registry prefers it, be consistent

For the worked example above, musefm at 6 lowercase letters passes every platform row in the scanner, which is what a clean run looks like. muse.fm fails X, Twitch, GitHub, and Bluesky. muse-fm passes only YouTube, GitHub, and Bluesky.

Operating Rules

  1. Never report a handle as available from a format check, a search result, or a third party checker site. Availability comes only from the platform's own field, checked live, or it is reported as could not verify.
  2. Never adopt or recommend a candidate with an invisible, control, or confusable character in it, and never fix one by silently retyping it. Show the user the code point, remove it, and re-run the scanner on the cleaned string.
  3. Never present skeleton equality as proof two handles are safe. It catches character level spoofs. One-edit and visual pair look-alikes need the human pass in step 4.
  4. Keep the raw form and the canonical form both in the registry when they differ, for example a display capitalization versus the lowercase handle every platform actually stores.
  5. Re-check references/platform-rules.md against current platform help before a real rename. The table is dated research, and the in-app field wins any disagreement.
  6. Do not buy, sell, or broker handles, and do not suggest evading a platform's reserved word or impersonation rules. A blocked name gets a new candidate, not a workaround.

Versions

v1.0.02026-10-31 · 0 installs · Ed25519-signed./install.sh handle-integrity-check 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.