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 $0.00060 $0.00450
Sonnet 5 $0.00024 $0.00180
Haiku 4.5 $0.00012 $0.00090

Measured 10d ago against content hash 5d298348490d, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, 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 10d 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.mergetargetPersonId / sourcePersonId)で統合する。source の identity が target に付け替わり、source は空になる(可逆・event で監査可能)
  4. 過剰 merge を訂正するときは person.splitconnector / 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.splitperson.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. 10d 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 1mo ago), licensed MIT. It adds 119 tokens to every session and 900 once invoked, about $0.0006 per session on Opus 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

identity-work

A guided reflection skill for recognising when personal labels or fixed positions are distorting judgement, then using a new self-image to support behaviour change.

kangarooking/cangjie-skill · 126 tokens

winapp-setup

Set up a Windows app project for MSIX packaging, Windows SDK access, or Windows API usage, or scaffold a brand-new WinUI 3 app. Use when creating or scaffolding a new WinUI app from scratch, adding Windows support to an Electron, .NET, C++, Rust, Flutter, or Tauri project, or restoring SDK packages after cloning.

microsoft/winappCli · 78 tokens

winapp-frameworks

Framework-specific Windows development guidance for Electron, .NET (WPF, WinForms), C++, Rust, Flutter, and Tauri. Use when packaging or adding Windows features to an Electron app, .NET desktop app, Flutter app, Tauri app, Rust app, or C++ app.

microsoft/winappCli · 64 tokens

winapp-maui

Package and sign .NET MAUI Windows apps with winapp, resolving the resizetizer manifest dependency. Use when packaging or signing a .NET MAUI Windows app, building a MAUI MSIX or signed unpackaged build in CI, or fixing 'manifest contains unresolved placeholders ($placeholder$)' errors from winapp package.

microsoft/winappCli · 71 tokens

winapp-identity

Enable Windows package identity for desktop apps to access Windows APIs like push notifications, background tasks, share target, and startup tasks. Use when adding Windows notifications, background tasks, or other identity-requiring Windows features to a desktop app.

microsoft/winappCli · 51 tokens

winapp-manifest

Create and edit Windows app manifest files (Package.appxmanifest or appxmanifest.xml) that define app identity, capabilities, and visual assets, or generate new assets from existing images. Use when creating a Windows app manifest for any app type (GUI, console, CLI tool, service), adding Windows capabilities…

microsoft/winappCli · 90 tokens