OEE CRM Intelligence
ReviewAudited by ClawScan on May 1, 2026.
Overview
The skill matches its CRM-filtering purpose, but it uses an Anthropic API key, sends contact details to Claude, and keeps a local learning file of rejected contacts.
Before installing, confirm you are comfortable sharing selected CRM contact fields with Anthropic, protect the API key, and review learning.json periodically so contacts are not incorrectly filtered in future runs.
Findings (5)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
CRM contact details and email subject snippets may leave the local machine when Stage 2 scoring runs.
The code sends contact email, name, subject snippets, and engagement metadata to Anthropic for AI classification.
- Email: {contact.get('email', 'unknown')} ... - Name: {contact.get('name', 'unknown')} ... - Sample subjects: {contact.get('subjects', [])} ... client.messages.create(model="claude-3-5-haiku-latest"Use this only with contact data you are comfortable sending to Anthropic, and consider redacting sensitive subject lines before filtering.
Use of the skill may consume Anthropic API quota or incur charges under the configured key.
The skill requires a provider API credential for its AI scoring stage; this is expected for the stated integration but is still sensitive account access.
`ANTHROPIC_API_KEY` environment variable (for Stage 2 AI scoring)
Use a dedicated or limited API key where possible, keep it out of shared files, and monitor provider usage.
A contact rejected once may continue to be filtered out later unless the learning file is reviewed or edited.
Rejected contact emails are kept in memory and can be written back to learning.json, affecting future filtering decisions.
self._rejected.add(email) ... self.config["rejected_contacts"] = sorted(self._rejected)
Periodically inspect learning.json, especially the rejected_contacts list, and remove entries that should not be permanently filtered.
A crafted subject line could influence the AI classification and potentially affect which contacts are prioritized.
Untrusted email subject text is inserted directly into the LLM prompt used to decide whether a contact is approved or rejected.
Sample subjects: {contact.get('subjects', [])} ... Respond with exactly one line: APPROVE or REJECTTreat contact fields as data, not instructions; add clear delimiters and prompt guidance to ignore instructions inside subject lines before relying on automated decisions.
The installed SDK version may vary depending on when and where the command is run.
The README documents a manual, unpinned dependency install for the Anthropic SDK. This is expected for the AI feature and is not auto-executed by the skill.
pip install anthropic
Install from the official package source and pin a known-good version if using this in a repeatable or production workflow.
