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.
npx skills add ozzy-labs/suasor --skill person-cleanupgit clone --depth 1 https://github.com/ozzy-labs/suasorWrote 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.
[](https://agentmods.dev/skills/ozzy-labs/suasor/person-cleanup)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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 で却下。同一判断は人が下す)。
person.listで解決済み person を新しい更新順に引く。各 person はid/displayName/identityCount/identities[](connector/handle/displayName)。merge で空になった tombstone も見るならincludeEmpty: true- 同名・同 handle・connector 跨ぎなどから重複候補をホスト側で推定し、ユーザーに提示して確認を取る(同定の最終判断は人。本 skill は候補提示まで)
- ユーザーが「同一人物」と確認したペアのみ
person.merge(targetPersonId/sourcePersonId)で統合する。source の identity が target に付け替わり、source は空になる(可逆・event で監査可能) - 過剰 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 は手順書のみで実処理を持たない
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.
- 2mo ago First seen · 45 lines · 119 tokens per session scan A 5d298348490d
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.
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.
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.
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.
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.
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.
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.