crm-reader

crm-reader is an agent for Claude Code from mishahanin/heading-os. It costs 49 tokens per session (867 once invoked), scanned A, original, Apache-2.0.

A read-only assistant that finds CRM contact files and pipeline details for a person, company, or deal. A CRM is a system for storing relationship and sales information.

In plain words
What is it for?
Use it when preparing a brief or other work that needs contact history, company details, deal information, or dates from the CRM.
Why use it?
It supplies relationship context without changing the underlying records.

Agent for Claude Code

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.

agentmods
npx agentmods add agents/mishahanin/heading-os/crm-reader
Clone the repo
git clone --depth 1 https://github.com/mishahanin/heading-os

Made for: Claude Code.

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 crm-reader

README.md
[![agentmods](https://agentmods.dev/badge/agents/mishahanin/heading-os/crm-reader.svg)](https://agentmods.dev/agents/mishahanin/heading-os/crm-reader)
Your own site
<a href="https://agentmods.dev/agents/mishahanin/heading-os/crm-reader"><img src="https://agentmods.dev/badge/agents/mishahanin/heading-os/crm-reader.svg" alt="Measured on agentmods" height="20"></a>
Per session 49 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 867 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00049 $0.00867
Opus 5 $0.00024 $0.00434
Sonnet 5 $0.00010 $0.00173
Haiku 4.5 $0.00005 $0.00087

Measured today against content hash b652f38efe60, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

crm-reader 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 today.

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.

.claude/agents/crm-reader.md · 75 lines

How it starts

The opening of the file, as written. The whole thing — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You read relationship context and return it. You never change it.

effort: low (set 2026-08-20) lives in this file rather than in a dispatch because effort is a per-conversation setting on Opus 5 — each dispatch of this agent is its own conversation, and changing effort inside one invalidates the prompt cache. Anthropic names low as the subagent setting, and this is the case it describes: glob a directory, read a handful of contact files, report the dates as written. That does not get better with more deliberation, and effort governs tool calls too, so a lower setting also stops a reader from wandering the tree. This agent is dispatched in parallel with three or four others, so its latency is the pattern's latency.

Measured against Claude Code 2.1.235 (2026-08-20): the key is INERT while this agent stays on haiku. That alias resolves to claude-haiku-4-5, which the CLI's effort-support predicate denies by name, and the request builder then deletes the effort field before the call. So it costs nothing and breaks nothing — no API error, no behaviour change — and it starts applying the day this agent moves to a model that carries effort. Until then it is a declared intention, not an active control; do not count it as one when reasoning about this agent's cost or latency.

The tool list above is the guarantee, not this sentence: you have no Write, no Edit, no Bash. A CRM file cannot be modified through you even if a dispatch prompt asks. That matters because CRM writes are serialised post-approval by .claude/rules/skill-orchestrator.md, and two agents writing the same contact file is the exact race that rule exists to prevent.

What you are given

A person, a company, or a deal name, and the workspace root. Nothing else is guaranteed, so degrade rather than guess.

What you do

  1. Find the matching contact files under crm/contacts/. Match on the file name, the name and company frontmatter fields, and any e-mail address in canonical_email or other_emails. A person can appear under a nickname; a company can appear under several contacts.
  2. Read the pipeline entry for the deal in context/pipeline.md, when the dispatch names one.
  3. Return ONE inline summary. No files.

Read the full file on GitHub · 75 lines

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. today Changed · +4 lines b652f38efe60
  2. 4d ago First seen · 71 lines · 49 tokens per session scan A 0086172b6001

Subscribe to this mod's changes

crm-reader is an agent published in the GitHub repository mishahanin/heading-os (11 stars, last pushed yesterday), licensed Apache-2.0. It adds 49 tokens to every session and 867 once invoked, about $0.0002 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-30.