Repository navigation
Schema set: Personal CRM #68
CheMiguel23
started this conversation in
Schemas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Remember the people you meet: where you met them, where they work, what you talked about, and what you promised to do for them.
What you can say to Claude
Tools you get
Each schema creates three tools:
add_…,update_…anddelete_….add_companynameadd_contactnameworks_atadd_followupnameconcerns, interaction →follows_up_onadd_interactionname,dateinvolvesSetup
Create a folder for this set, for example
crm-schemas, anywhere on your computer.Save each file below into that folder, keeping the file names.
Point MemoryMesh at the folder with the
MEMORYMESH_SCHEMAS_DIRenvironment variable in your Claude Desktop config:On macOS use normal paths, e.g.
"/Users/you/crm-schemas". SettingMEMORYMESH_MEMORY_FILEtoo is optional; it keeps this set's data separate from your other memories.Fully quit and restart Claude Desktop.
Using your own folder keeps these schemas safe from updates and keeps the built-in examples out of your tool list. (You can also drop the files into
dist/data/schemasinstead.)Tips
name(and occasionally one more field) is required, so Claude doesn't have to invent values it doesn't know.The 4 schema files
company.schema.json{ "name": "add_company", "description": "Add a company or organization to the knowledge graph", "properties": { "name": { "type": "string", "description": "The company's name", "required": true }, "industry": { "type": "string", "description": "Industry or field" }, "website": { "type": "string", "description": "Website address" }, "location": { "type": "string", "description": "Where the company is based" }, "notes": { "type": "string", "description": "Anything else worth remembering" } }, "additionalProperties": true }contact.schema.json{ "name": "add_contact", "description": "Add a person you know (contact) to the knowledge graph", "properties": { "name": { "type": "string", "description": "The person's full name", "required": true }, "company": { "type": "string", "description": "Company this person works at", "relationship": { "edgeType": "works_at", "description": "Company this person works at (must already exist)" } }, "role": { "type": "string", "description": "Job title or role" }, "email": { "type": "string", "description": "Email address" }, "phone": { "type": "string", "description": "Phone number" }, "birthday": { "type": "string", "description": "Birthday, e.g. '1990-04-23' or 'April 23'" }, "howWeMet": { "type": "string", "description": "How and where you met" }, "interests": { "type": "array", "description": "Hobbies, interests or topics they care about" }, "tags": { "type": "array", "description": "Labels such as friend, client, investor, mentor" }, "notes": { "type": "string", "description": "Anything else worth remembering" } }, "additionalProperties": true }followup.schema.json{ "name": "add_followup", "description": "Add a follow-up: something you promised or plan to do for a contact", "properties": { "name": { "type": "string", "description": "A short unique title, e.g. 'Send Anna the proposal'", "required": true }, "due": { "type": "string", "description": "When it is due" }, "status": { "type": "string", "description": "Current status", "enum": [ "open", "done", "cancelled" ] }, "contact": { "type": "string", "description": "The contact this follow-up is for", "relationship": { "edgeType": "concerns", "description": "The contact this follow-up is for (must already exist)" } }, "interaction": { "type": "string", "description": "The interaction this follow-up came from", "relationship": { "edgeType": "follows_up_on", "description": "The interaction this follow-up came from (must already exist)" } }, "details": { "type": "string", "description": "What exactly needs to be done" } }, "additionalProperties": true }interaction.schema.json{ "name": "add_interaction", "description": "Record an interaction (meeting, call, email...) with one or more contacts", "properties": { "name": { "type": "string", "description": "A short unique title, e.g. 'Coffee with Anna 2026-11-03'", "required": true }, "date": { "type": "string", "description": "When it happened", "required": true }, "type": { "type": "string", "description": "Kind of interaction", "enum": [ "meeting", "call", "email", "message", "event", "other" ] }, "contacts": { "type": "array", "description": "Contacts involved", "relationship": { "edgeType": "involves", "description": "Contacts involved (must already exist)" } }, "summary": { "type": "string", "description": "What was discussed" } }, "additionalProperties": true }All reactions