Borrowing it
Nothing to install: this file belongs to chacosoldier/compabob. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/chacosoldier/compabob/main/.claude/skills/merge-contacts/SKILL.mdgit clone --depth 1 https://github.com/chacosoldier/compabobWrote 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/chacosoldier/compabob/merge-contacts)<a href="https://agentmods.dev/skills/chacosoldier/compabob/merge-contacts"><img src="https://agentmods.dev/badge/skills/chacosoldier/compabob/merge-contacts/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/chacosoldier/compabob/merge-contacts"><img src="https://agentmods.dev/badge/skills/chacosoldier/compabob/merge-contacts.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.00057 | $0.00591 |
| Opus 5.5 | $0.00023 | $0.00236 |
| Sonnet 5.5 | $0.00011 | $0.00118 |
| Haiku 4.5 | $0.00006 | $0.00059 |
Grade A, and why
merge-contacts 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 1mo 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 — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Merge Contacts
Build the user's local CRM source of truth with the crm-merge module. The
module does the work; your job is to find their exports, run it with the right
flags, and report what merged. Never invent data, never call an external CRM.
Steps
-
Find the exports. Check, in order:
- A Google Takeout zip in
~/Downloads(name contains "takeout" or "google"). The script auto-finds the newest one, but confirm it exists. - A LinkedIn export folder (contains
Connections.csv, ideallymessages.csv). Ask the user for the path if you cannot find it. vault/People/for per-person notes (optional). If none exist, point the user at the setup steps inmodules/crm-merge/README.md(both exports are self-service downloads) and stop.
- A Google Takeout zip in
-
Get their name for message-frequency counting. Ask how their name appears in LinkedIn messages (the "me" side), or read it from
config/user.config.yaml. -
Run the build:
python3 modules/crm-merge/build.py \ --takeout-zip <path-or-omit-to-autofind> \ --linkedin-dir <folder> \ --me "<their name>" \ --out data/crm-mergeOmit any source they do not have; one source alone is fine.
-
Report the counts the script prints: total unique people, how many appear in 2+ sources (the high-confidence merges), and how many link to a vault note. Flag if a source loaded zero records, since that usually means a wrong path.
-
Point them onward. Tell them
data/crm-merge/browser.htmlis openable in any browser, and thatcontacts.jsonis what/build-listdedups against.
Watch out for
- Over-merging on a common name: if the user says distinct people got fused,
lower
--name-collision-thresholdand re-run. - Zero LinkedIn messages counted: the
--mename probably does not match the export. Check theFROM/TOvalues inmessages.csvand pass the exact form. - Privacy: outputs are git-ignored; do not commit them or paste contact data into anything outward-facing.
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.
- 1mo ago First seen · 51 lines · 57 tokens per session scan A 8ad8dfd92054
merge-contacts is a skill published in the GitHub repository chacosoldier/compabob (34 stars, last pushed 5d ago), licensed MIT. It adds 57 tokens to every session and 591 once invoked, about $0.0002 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.
Other skills, from other repositories
ha-data-stores
Map of Hope Agent's local data stores and safe read-only query workflow. Use when the user asks where Hope Agent stores data, wants to inspect sessions/messages/memory/logs/background jobs/knowledge indexes/settings, asks the model to query local app data, or debugging requires checking persisted state. Trigger…
optimize
Analyze and suggest performance improvements for code, queries, or systems.
mysql-migration
MySQL schema migration safety reviewer and DDL generator. ALWAYS use when writing, reviewing, or planning MySQL schema changes — ALTER TABLE, CREATE/DROP INDEX, column type changes, charset conversions, data backfills, or any DDL touching production tables. Covers online DDL algorithm selection (INSTANT/INPLACE/COPY)…
oracle-migration
Oracle Database schema migration safety reviewer and DDL generator. ALWAYS use when writing, reviewing, or planning Oracle schema changes — ALTER TABLE, CREATE/DROP INDEX, column type changes, constraint additions, partition DDL, or any DDL touching production tables. Covers DDL auto-commit implications…
pg-migration
PostgreSQL schema migration safety reviewer and DDL generator. ALWAYS use when writing, reviewing, or planning PostgreSQL schema changes — ALTER TABLE, CREATE/DROP INDEX, column type changes, constraint additions, RLS policy changes, or any DDL touching production tables. Covers lock-level analysis, CREATE INDEX…
redis-cache-strategy
Redis caching strategy designer and reviewer. ALWAYS use when designing, reviewing, or troubleshooting Redis caching layers — cache pattern selection (cache-aside, write-through, write-behind), TTL strategy, cache stampede/penetration/avalanche prevention, hot key handling, cache-DB consistency, distributed locking…