change-name
Change a name, email address, phone number, handle, or any identifying string across the artifacts where it lives — starting with surgical…
Skill by SimHacker
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/simhacker-change-name
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/change-name
What's inside
- Skill name
change-name- Description
- Change a name, email address, phone number, handle, or any identifying string across the artifacts where it lives — starting with surgical, provenance-disciplined PDF editing: scan the file, describe what's found, discuss the changes, perform and verify them. Originals preserved, every change disclosed, institutional corrections pursued in parallel.
- License
- MIT
- Instructions
- 182 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (9)
- CARD.yml
- GLANCE.yml
- README.md
- SKILL.md
- notice-config.example.yml · examples/
- prestored-change-list.example.txt · examples/
- pdf-prestoration.md · playbooks/
- pdf_add_correction_notice.py · scripts/
- pdf_name_scan.py · scripts/
SKILL.md (first lines)
# CHANGE-NAME 🦋 > *Say my name right — everywhere it's written.* People change names — transition, marriage, divorce, faith, stage names, safety, transliteration across scripts. The record does not follow by itself. Names live in version-of-record PDFs, citation databases, git histories, link annotations, metadata, and archives engineered never to change. This skill changes them — carefully, honestly, and with receipts. **One concrete task ships today:** ninja-editing PDF files. **The context is a socket:** each venue (git, ACM, ORCID, registries, archives, life admin) plugs in as a playbook in `playbooks/`. This SKILL.md is self-contained for the PDF task; playbooks extend it. ## The Ethics Gate (read first, always) A correction is legitimate when **all five** hold. Any four out of five is a forgery with good manners: 1. **Documented wish or clear standing** — the subject asked (best: find it in their own words), or those closest to them act on documented evidence of their identity. Standing order: self > subject's recorded request > family/co-authors > community. 2. **Original preserved** — bit-for-bit, sha256-pinned, adjacent to the edition. 3. **Total disclosure** — every change enumerated, **visible on page 1** (see [Visible correction notice](#visible-correction-notice-required)), in PDF metadata and attachments, and beside the file (README). Metadata-only disclosure fails: a renamed or printed copy loses the filename, README, and sibling original. 4. **Honest labeling** — the filename says what the file is (`-memorial-edition`, `-corrected`, never a silent replacement). 5. **Canonical fix pursued** — the edited derivative is a bridge to the institutional correction (publisher petition, registry update), never a substitute for it. **Never out anyone.** A scan that finds every occurrence of an old name is also a map of someone's exposure. Treat SCAN reports as sensitive; publish only what the subject or their standing-holders approve. ## Protocol: SCAN → DISCUSS → EDIT → VERIFY → PUBLISH ### 1. SCAN — look at the PDF and describe what you find Run the sister script (degrades gracefully without pikepdf): ```bash python3 scripts/pdf_name_scan.py TARGET.pdf --find "Old Name" [--replacement "New Name"] ``` It reports, without changing anything: - **Document metadata** — `/Author`, `/Title`, docinfo, XMP - **Content-stream text** — including **kern-split occurrences**: TeX-produced PDFs store names like `(Freudenber)18(g)`, invisible to naive grep. The scanner inflates streams and matches across TJ kern numbers. - **Link annotations** — URIs containing the old name (profile links, repo links) - **Font subsets** — per font: BaseFont, CharSet/FirstChar/LastChar, and **whether the embedded glyphs can spell the replacement**. (Founding case: the email font subset ended at glyph 117 — one code point short of the letter `v`. It could not spell "vanessa". Know this *before* you promise an in-font edit.) Describe findings to the human in plain language: where the name appears, what fonts carry it, what can be edited in-font and what needs a fallback face. ### 2. DISCUSS — agree the plan Present the evidence, then agree, explicitly: - **Which occurrences** change (byline yes; historical citations in *other* people's references may be out of scope), and which stay. - **Replacement strings** — name, email, URLs (beware redirect masking: an old-handle URL that redirects still *displays* the old handle; update visible text). - **Typography** — in-font where the subset allows (recompute kerning), matched fallback face where it doesn't (base-14 Helvetica for sans, Times for serif). - **Labeling** — the edition's filename, the visible page-1 notice (wording and placement), and the embedded provenance note / attachment text. - **The gate** — confirm all five conditions; record the wish/standing evidence in the ledger. ## Visible correction notice (required) Every prestored PDF must carry a **visible correction notice on page 1**. Outside-the-page disclosure (filename, README, sibling original, PDF `/Note` metadata) is necessary but not sufficient — those signals vanish when someone renames, re-hosts, or prints the file. The notice must be **explicit and machine-parseable** — clear enough that a human skimming page 1 and plain text extraction (`pdftotext`, Ghostscript `txtwrite`) both recover: this is not the version of record; what changed; where the unaltered original lives; that a canonical fix is being pursued. **Required content** (condense for page 1; full list may live in a PDF attachment): - Honest label (`CORRECTED MEMORIAL EDITION`, `CORRECTED EDITION`, etc.) and date - **Not the version of record** — cite DOI or publisher identifier when one exists - What was updated (byline, email, footnote URLs, metadata) and the new identity used - Standing / wish — link the subject's own words when they exist - Unaltered original preserved — repository path and **SHA-256** (full hash, or labeled prefix with ellipsis) - Pointer to full change list (embedded attachment or README) - Canonical correction in progress (publisher petition, registry update, etc.) **Placement recommendations** (least disruptive first): | Placement | When to use | |-----------|-------------| | **Footer band above the publisher reference / copyright block** | Default. Page 1 already has small legal text there; the notice reads as metadata, not content. Room for 3–4 lines. | | **Top margin above the title** | When the footer is crowded. One or two lines; keep the full notice in the attachment. | | **Avoid** | Between author block and abstract; inside the abstract; rotated side-margin text — all read as content tampering or archival stickers. | **Typography recommendations:** - **7–7.5 pt** minimum (7 pt floor; do not go to 6 pt) - Match the document's house style — sans used for affiliations, or base-14 Helvetica - Full text-block width (~468 pt on US Letter) — wrap across the whole page, not a narrow column; fewer lines means less vertical stack and no collision with existing header text like "Accepted for DLS" - **Small caps** on the label line (`CORRECTED MEMORIAL EDITION`) - Thin rule (0.25 pt) above the notice to separate it from body content - Monospace or distinct treatment for hashes and URLs aids both reading and extraction **Example** (4-line footer; adapt labels to the case):
From SimHacker/moollm, MIT.
More from SimHacker/moollm
- 0.664score
emacs
SimHacker
GNU Emacs as a stateful Lisp machine for agents — daemon, moo-* protocol, emacs.py router, emacs:// URLs, spoken grammar, play-learn-lift.
SkillAFreshness: A★ 60Claude Code +9 - 0.662score
design-sense
SimHacker
Ambient design skill socket — the working designer's head.
SkillAFreshness: A★ 60Claude Code +9 - 0.662score
copy-that
SimHacker
Transmission hygiene for content leaving the chat.
SkillAFreshness: A★ 60Claude Code +9 - 0.661score
datasette
SimHacker
Datasette — serve SQLite over HTTP with metadata YAML, JSON API, plugins; MOOLLM path from cursor-mirror export.
SkillAFreshness: A★ 60Claude Code +9 - 0.659score
artifactory
SimHacker
The Engine of Creation — a general-purpose constructor that reads, writes, edits, destroys, and persists artifacts across the filesystem and git.
SkillAFreshness: A★ 60Claude Code +9 - 0.659score
container
SimHacker
A directory that is a scope, not a place: its defaults: reach every room, character and object inside it, like OpenLaszlo's <node> or the CSS cascade.
SkillAFreshness: A★ 60Claude Code +9 - 0.659score
action-queue
SimHacker
Sims-inspired action scheduling — queue actions, execute in order.
SkillAFreshness: A★ 60Claude Code +9 - 0.656score
context
SimHacker
Runtime context passed to compiled closures — the world as seen from inside
SkillAFreshness: A★ 60Claude Code +9 - 0.656score
character
SimHacker
Core patterns for all characters — home, location, relationships, inventory
SkillAFreshness: A★ 60Claude Code +9 - 0.656score
constructionism
SimHacker
Educational philosophy — learn by building inspectable things
SkillAFreshness: A★ 60Claude Code +9 - 0.656score
budtender
SimHacker
Cannabis-specialized bartender — strains, terpenes, edibles, rolling
SkillAFreshness: A★ 60Claude Code +9 - 0.656score
bartender
SimHacker
Generic bartending capabilities — pour drinks, manage tabs, know regulars
SkillAFreshness: A★ 60Claude Code +9
Signals
- Stars
- 60
- Forks
- 5
- Open issues
- 1
- Last commit (this folder)
- Oct 20, 2026 (7 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/SimHacker/moollm
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from SimHacker
- 0.664score
emacs
SimHacker
GNU Emacs as a stateful Lisp machine for agents — daemon, moo-* protocol, emacs.py router, emacs:// URLs, spoken grammar, play-learn-lift.
SkillAFreshness: A★ 60Claude Code +9 - 0.662score
copy-that
SimHacker
Transmission hygiene for content leaving the chat.
SkillAFreshness: A★ 60Claude Code +9 - 0.662score
design-sense
SimHacker
Ambient design skill socket — the working designer's head.
SkillAFreshness: A★ 60Claude Code +9 - 0.661score
datasette
SimHacker
Datasette — serve SQLite over HTTP with metadata YAML, JSON API, plugins; MOOLLM path from cursor-mirror export.
SkillAFreshness: A★ 60Claude Code +9 - 0.659score
action-queue
SimHacker
Sims-inspired action scheduling — queue actions, execute in order.
SkillAFreshness: A★ 60Claude Code +9 - 0.659score
artifactory
SimHacker
The Engine of Creation — a general-purpose constructor that reads, writes, edits, destroys, and persists artifacts across the filesystem and git.
SkillAFreshness: A★ 60Claude Code +9
Cite this page
change-name skill. Agent Mart. https://agentmart.dev/skills/simhacker-change-name (last updated 2026-10-24)