person-cleanup

person-cleanup is a skill for Claude Code, Codex from ozzy-labs/suasor. It costs 119 tokens per session (900 once invoked), scanned A, original, MIT.

A guided process for finding duplicate records that represent the same person across different services. It asks for human confirmation before combining or separating those records.

In plain words
What is it for?
Use it to review duplicate people, merge confirmed identities, or split records that were combined incorrectly.
Why use it?
It prevents automatic guesses from merging the wrong people and keeps identity cleanup reviewable.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to review duplicate people, merge confirmed identities, or split records that were combined incorrectly.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/ozzy-labs/suasor/person-cleanup
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add ozzy-labs/suasor --skill person-cleanup
Clone the repo
git clone --depth 1 https://github.com/ozzy-labs/suasor

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for person-cleanup

README.md
[![agentmods](https://agentmods.dev/badge/skills/ozzy-labs/suasor/person-cleanup/github.svg)](https://agentmods.dev/skills/ozzy-labs/suasor/person-cleanup)
Your own site
<a href="https://agentmods.dev/skills/ozzy-labs/suasor/person-cleanup"><img src="https://agentmods.dev/badge/skills/ozzy-labs/suasor/person-cleanup/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for person-cleanup

Your own site · 80×15
<a href="https://agentmods.dev/skills/ozzy-labs/suasor/person-cleanup"><img src="https://agentmods.dev/badge/skills/ozzy-labs/suasor/person-cleanup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 119 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 900 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00119 $0.00900
Opus 5.5 $0.00048 $0.00360
Sonnet 5.5 $0.00024 $0.00180
Haiku 4.5 $0.00012 $0.00090

Measured 2mo ago against content hash 5d298348490d, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

person-cleanup scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

docs/skills/person-cleanup/SKILL.md · 45 lines

What it actually says

person-cleanup

connector author handle から投影された person の重複を、operator の判断で統合 / 分離する HITL write skill。connector identity は初期に 1 handle = 1 person で投影され(自動 fuzzy 同定なし)、同一人物の重複統合は人が明示的に行う(ADR-0022 / ADR-0004)。

いつ発火するか

  • 「同一人物をまとめて」「people を整理」「重複した人物を統合」
  • 「この handle とこの handle は同じ人」(merge)
  • 「person を分離」「merge しすぎたので戻して」(split)

何をするか(MCP tool flow)

read で集めて、write は HITL。自動 fuzzy 同定はしない(ADR-0022 で却下。同一判断は人が下す)。

  1. person.list で解決済み person を新しい更新順に引く。各 person は id / displayName / identityCount / identities[](connector / handle / displayName)。merge で空になった tombstone も見るなら includeEmpty: true
  2. 同名・同 handle・connector 跨ぎなどから重複候補をホスト側で推定し、ユーザーに提示して確認を取る(同定の最終判断は人。本 skill は候補提示まで)
  3. ユーザーが「同一人物」と確認したペアのみ person.merge(targetPersonId / sourcePersonId)で統合する。source の identity が target に付け替わり、source は空になる(可逆・event で監査可能)
  4. 過剰 merge を訂正するときは person.split(connector / handle / newPersonId?)で identity を別 person に分離する。newPersonId 省略時は identity 本来の content 由来 person(merge を巻き戻す既定の戻り先)へ送る

制約

  • HITL。人の承認なしに person.merge / person.split を呼ばない。auto-apply しない。自動 fuzzy 同定もしない。person.list は read(確認)
  • self-merge(同一 id)/ 未知の source person は tool error。既に空の person の再 merge は noop(idempotent)。未知 identity の split は tool error、解決済みなら noop
  • merge / split は逆操作の対。person.split は person.merge の巻き戻しに使える
  • 本 skill は手順書のみで実処理を持たない
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2mo ago First seen · 45 lines · 119 tokens per session scan A 5d298348490d

Subscribe to this mod's changes

person-cleanup is a skill published in the GitHub repository ozzy-labs/suasor (0 stars, last pushed 2mo ago), licensed MIT. It adds 119 tokens to every session and 900 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

winapp-setup

Add Windows SDK and Windows App SDK support to an existing project (winapp init), restore pinned SDKs after cloning (winapp restore), update SDKs, or create a new WinUI app (winapp new). Use for Electron, .NET, C++, Rust, Flutter, or Tauri projects that need Windows setup.

microsoft/winappCli · 71 tokens

winapp-find-api

Look up real Windows, WinRT, and Windows App SDK APIs (types, members, enums) from a project's references or the installed SDKs with winapp find-api instead of guessing. Use before coding against an unverified API, or to fix unknown-member, CS0117, CS1061, or WMC0011 errors. Not for registry code.

microsoft/winappCli · 78 tokens

winui-ui-testing

Write and run automated UI tests for Windows desktop apps (WinUI 3, WPF, WinForms, Win32) with the winapp ui harness: one batch script, assertions, input, file pickers, dialogs, screenshots, locally or in Windows Sandbox. Use when asked for UI tests or to verify a feature end to end.

microsoft/winappCli · 74 tokens

winapp-package

Build an MSIX installer for a desktop, console, or CLI app (Electron, .NET, C++, Rust, Flutter, Tauri) from build output or a project file with winapp package, optionally signed. Use for an installer testers can sideload, app distribution, or MSIX in scripts or CI. Not for signing an existing MSIX.

microsoft/winappCli · 76 tokens

winui-design

Read before writing or changing WinUI 3 XAML: choosing controls, pages and navigation, layout, Fluent Design, theming, accessibility, x:Bind, real samples, and checking that APIs exist with winapp find-api. Not for WPF or WinForms UI, even if the app uses the Windows App SDK.

microsoft/winappCli · 70 tokens

winapp-find-ui

Find the right WinUI 3 control and a real, compiling sample from the WinUI Gallery or Community Toolkit with winapp find-ui. Use when building WinUI UI and unsure which control fits (cards, tabs, swipe lists, inline messages) or when asked for a sample. Not for WPF, WinForms, or a running app.

microsoft/winappCli · 75 tokens