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 cafe3310/public-agent-skills --skill im-contact-sortergit clone --depth 1 https://github.com/cafe3310/public-agent-skillsWrote 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/cafe3310/public-agent-skills/im-contact-sorter)<a href="https://agentmods.dev/skills/cafe3310/public-agent-skills/im-contact-sorter"><img src="https://agentmods.dev/badge/skills/cafe3310/public-agent-skills/im-contact-sorter/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/cafe3310/public-agent-skills/im-contact-sorter"><img src="https://agentmods.dev/badge/skills/cafe3310/public-agent-skills/im-contact-sorter.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00029 | $0.01081 |
| Opus 5.5 | $0.00012 | $0.00432 |
| Sonnet 5.5 | $0.00006 | $0.00216 |
| Haiku 4.5 | $0.00003 | $0.00108 |
Grade A, and why
im-contact-sorter 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.
How it starts
The opening of the file, as written. The whole thing — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
IM Contact Sorter
此技能提供了一套标准化的流水线,帮助用户将缺少分类功能的 IM 软件中的联系人和群组进行整理。 整体思路是,通过界面截图 - OCR 识别 - 合并和分析,最终形成结构化的数据资产,并辅助进行清理和归档。
核心概念
- Everything (全集): 包含所有联系人/群组的基础列表(通常来自原始截图的ocr)。
- Primary Category (一级分类): 粗颗粒度的分类,如“所有联系人”、“所有群组”。
- Secondary Category (二级分类): 细颗粒度的分类,如“重要群组”、“高价值讨论”。
- Funnel Analysis (漏斗分析): 通过对比全集与各级分类,找出“未分类”和“分类不完全”的项目。
目录规范
使用此技能时,请在工作目录中遵循以下生命周期:
01-raw: 存放原始截图 (用户输入)。02-cropped: 存放裁切和压缩后的图片 (脚本生成)。03-ocr: 存放 OCR 识别后的 YAML 片段 (LLM生成)。04-merged: 存放合并后的分类文件 (脚本生成)。05-classified: 人工调整分类的工作区 (用户操作)。06-report: 存放分析报告与操作建议 (脚本生成)。
工作流程
1. 准备与裁切 (Crop)
首先,用户将截图,按已有的分类文件夹放入 01-raw。例如 01-raw/everything,01-raw/working-groups 等。
然后,询问用户裁切参数 (左,上,宽,高),以去除无关 UI 元素,只保留联系人列表区域。使用以下命令裁切图片:
# 用法: python crop.py <工作目录> <子目录名> <左> <上> <宽> <高>
# 示例: 裁切 'everything' 文件夹中的图片
python <path/to/skill>/scripts/crop.py . "everything" 0 200 1000 2000
你需要为每个子目录重复此步骤,直到所有截图均裁切完成,结果保存在 02-cropped/<子目录> 中。
2. 压缩 (Compress)
对图片进行原地压缩,减少传输体积。你需要为每个子目录执行以下命令:
# 用法: python compress.py <工作目录> <子目录名>
python <path/to/skill>/scripts/compress.py . "everything"
3. 识别 (OCR)
使用多模态模型识别 02-cropped 中的图片。这一步的 prompt 在 scripts/ocr.md 中定义,读取并执行它。
将结果保存到 03-ocr/<子目录>/<文件名>.yaml。
4. 合并 (Merge)
将碎片化的 YAML 合并为完整文件。
# 用法: python merge.py <工作目录>
python <path/to/skill>/scripts/merge.py .
此步将在 04-merged 中生成如 everything.yaml 的汇总文件。
5. 分类与分析 (Classify & Analyze)
-
人工分类: Agent 需要将
04-merged的内容复制到05-classified。提醒用户,可以根据需要调整分类结构。 -
Agent 分析:
# 用法: python analyze.py <工作目录>
python <path/to/skill>/scripts/analyze.py .
脚本将:
- 扫描
05-classified中的everything文件,注入groups属性,识别每个项目所属的群组分类。 - 对比
everything与各二级分类,识别未分类的项目。 - 生成
06-report/uncategorized_people.yaml(全局漏斗:未分类的人)。 - 生成
06-report/uncategorized_groups.yaml(全局漏斗:未分类的群)。
6. 闭环清理 (Action)
根据 06-report 中的报告:
- 清理: 对未分类且无价值的项目,在 IM 软件中删除。
- 归档: 对未分类但有价值的项目,手动加入正确的二级分类。
What ships with it
5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 · 99 lines · 29 tokens per session scan A aadc449d81a4
im-contact-sorter is a skill published in the GitHub repository cafe3310/public-agent-skills (256 stars, last pushed yesterday), licensed Apache-2.0. It adds 29 tokens to every session and 1,081 once invoked, about $0.0001 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-30.
im-contact-sorter compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| im-contact-sortercafe3310/public-agent-skills | Skill | 256 | yesterday | Apache-2.0 | A | 29 | Claude Code, Codex |
| getnoteflc1125/skills | Skill | 39 | yesterday | MIT | A | 83 | Claude Code, Codex |
| obsidian-basesfirstsun-dev/skills | Skill | 5 | 4d ago | none | A | 63 | Claude Code, Codex |
| personal-productivityfirstsun-dev/skills | Skill | 5 | 4d ago | none | A | 40 | Claude Code, Codex |
| habit-trackerfirstsun-dev/skills | Skill | 5 | 4d ago | none | A | 15 | Claude Code, Codex |
| fitness-coachfirstsun-dev/skills | Skill | 5 | 4d ago | none | A | 12 | Claude Code, Codex |
| get-available-resourcesx-cmd/skill | Skill | 26 | 4mo ago | Apache-2.0 | A | 115 | Claude Code, Codex |