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 benelser/imessage-tools --skill imessage-searchgit clone --depth 1 https://github.com/benelser/imessage-toolsWrote 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/benelser/imessage-tools/imessage-search)<a href="https://agentmods.dev/skills/benelser/imessage-tools/imessage-search"><img src="https://agentmods.dev/badge/skills/benelser/imessage-tools/imessage-search.svg" alt="Measured on agentmods" 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.00008 | $0.00115 |
| Opus 5 | $0.00004 | $0.00057 |
| Sonnet 5 | $0.00002 | $0.00023 |
| Haiku 4.5 | $0.00001 | $0.00012 |
Grade A, and why
imessage-search 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 6d 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
Search messages using imessage-tools.
imessage-tools search $ARGUMENTS
The CLI accepts:
search <keyword>— search for keyword, last 25 matchessearch <keyword> <limit>— search with custom limit
Examples:
/imessage-search "lunch"— find messages containing "lunch"/imessage-search "lunch" 50— find last 50 matches
Show the output to the user.
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.
- 6d ago First seen · 21 lines · 8 tokens per session scan A 08820b289b42
imessage-search is a skill published in the GitHub repository benelser/imessage-tools (2 stars, last pushed 4mo ago), licensed MIT. It adds 8 tokens to every session and 115 once invoked, about $0.0000 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.
Other skills, from other repositories
apple-notes
Use this skill when the user wants to interact with Apple Notes on macOS - creating, searching, reading, updating, deleting, organizing, or formatting notes and folders. This skill provides access to Apple Notes through MCP tools and includes safe formatting guidance.
douyin-creator-scraping
Scrape video stats from the Douyin creator center (creator.douyin.com) using AppleScript to automate the user's logged-in Chrome. Covers the data-center/content page. Use when setting up periodic data collection, building a Douyin stats tracker, or automating export of video performance data.
munkel
Send ephemeral end-to-end-encrypted messages that appear in friends' MacBook notches, via the munkel CLI (macOS). Use when the user wants to message, ping, or notify someone in a Munkel channel, broadcast to a channel, or list Munkel channels and members.
email-search-disambiguation
A clarification step for email searches when a person, time period, direction, or scope is unclear. It presents specific possible meanings so the user can choose one.
release
Cut a release of the msteams channel plugin — validate, bump the version in all four manifests, write a CHANGELOG entry, commit, push, tag, and publish a GitHub release. Use whenever the user says "release", "cut a release", "version bump", "ship it", "publish", "tag a release", "changelog and push", or finishes a…
stats
Show Captain Memo's corpus statistics (chunks per channel, observation counts, indexing progress, embedder info). Use when the user types /captain-memo:stats.