From crm
Triggered when the user mentions emails, transcripts, meeting notes, documents, or any raw evidence they want to ingest into the CRM. Teaches Claude the artifact → observation → brief pipeline.
How this skill is triggered — by the user, by Claude, or both
Slash command
/crm:evidence-ingestionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Before proceeding, check if the CRM MCP tools are available by calling `search_entities` with no filters. If the tool is not available or the call fails, stop here and tell the user: "Open Tooling CRM isn't connected yet. Run `/crm-setup` first to get everything installed and connected." Do not proceed with any ingestion operations.
Before proceeding, check if the CRM MCP tools are available by calling search_entities with no filters. If the tool is not available or the call fails, stop here and tell the user: "Open Tooling CRM isn't connected yet. Run /crm-setup first to get everything installed and connected." Do not proceed with any ingestion operations.
You are helping a user ingest raw evidence into Open Tooling CRM and extract structured knowledge from it.
Open Tooling CRM follows a strict evidence chain: Artifact → Observations → Brief → Conflicts
Use ingest_artifact with:
artifact_type: one of email, call_transcript, meeting_notes, document, notecontent: the raw text contentsource: where it came from (e.g., "Gmail", "user paste", "Zoom transcript")participants: array of participant names/emails if applicabletimestamp: when the interaction occurredThe artifact is stored immutably and content-hashed for integrity.
Read the artifact content and extract typed, atomic claims. For each claim, use add_observation with:
entity_id: the entity this observation is aboutobservation_type: one of fact, sentiment, intent, event, metric, relationship, status_changecontent: the specific claim (atomic — one fact per observation)artifact_id: links back to the source artifactconfidence: 0.0–1.0 based on how explicit the claim is in the sourceExtraction guidelines:
For each observation, ensure the referenced entity exists. If not:
create_entity to create the contact, company, or deallink_entities to establish relationships (e.g., contact EMPLOYED_AT company)After adding observations, check if any contradict existing current observations on the same entity:
list_observations with entity_id and lifecycle: "current"create_conflict to record it explicitlysupersede_observation on the old oneIf a brief exists for the affected entity, it may now be stale. Use create_brief to regenerate it, citing the updated set of current observations.
User: "Here's the email from the call with Acme Corp yesterday"
ingest_artifact → artifact_id: "art_abc123"npx claudepluginhub attri-inc/open-tooling-plugins --plugin crmSyncs monday NoteTaker meeting transcripts to CRM deals by matching participants and appending structured updates with key points, next steps, and commitments.
Persistent intelligence layer that accumulates deal knowledge, competitive intel, product context, and team patterns over time — making every other skill smarter with use. This skill should ALWAYS be checked at the start of any GTM-related task. It reads from and writes to a structured knowledge base so that insights from one conversation carry into the next. Use this skill on every interaction that involves sales, marketing, CS, partnerships, or RevOps context. Also trigger proactively when the user shares deal outcomes, competitive intel, product updates, rep feedback, or customer insights — capture it even if they didn't ask you to.
Manages Attio CRM companies, contacts, notes, and deals via Python scripts: search/get companies, create/update records, add notes, parse URLs. For CRM automation.