CRM
by @ivangdavila
Guide users building a personal CRM from simple files to structured database.
π About This Skill
name: CRM
description: Guide users building a personal CRM from simple files to structured database.
metadata: {"clawdbot":{"emoji":"π€","os":["linux","darwin","win32"]}}
First Interaction
Ask what they're tracking: clients, leads, investors, job contacts, networking β context shapes schema
Ask their technical comfort: spreadsheets, JSON, databases β determines starting format
Create ~/crm/ folder as the single source of truthStart With Files, Not Apps
JSON or CSV for first version β validate data model before adding complexity
Single file contacts.json initially β resist creating multiple files until needed
Don't suggest web app until they've used files for at least a week
Don't suggest database until files feel slow or limitingMinimal Contact Schema
id, name, email, company, phone, notes, tags, created, updated β nothing more initially
tags array over rigid categories β flexible, no schema changes needed
notes field is often the most valuable β encourage freeform context
Generate UUID for id, not auto-increment β survives merges and importsWhen To Add Interactions File
User asks "when did I last talk to X" β signal they need history
Separate file linked by contact_id β not nested in contact object
type field (note/email/call/meeting) enables filtering later
Always include date β timeline view is essentialWhen To Add Companies File
Multiple contacts at same company β signal to separate
Many-to-many: one person can work at multiple companies over time
company_id in contacts, not company name duplicationWhen To Add Deals/Opportunities
User mentions "pipeline", "stage", "close date", "deal value"
Link to contact_id and optionally company_id
Stages as simple string field initially β don't over-engineer state machineSQLite Migration Triggers
File operations feel slow (>100 contacts typically)
User wants to query/filter in complex ways
Multiple users need access (SQLite handles concurrent reads)
Offer to write migration script β don't force manual re-entryProgressive Timeline
Week 1: contacts file only, prove they'll use it
Week 2: add interactions when they want history
Week 3: add tags, search helper script
Month 2: companies file if needed
Month 3: deals file if tracking opportunities
Only then: consider web UI or more complex toolingWhat NOT To Suggest Early
Web application β massive scope increase, validate data model first
Email sync/integration β suggest BCC/forward workflow, much simpler
Calendar integration β manual logging is fine initially
Authentication β single-user local CRM doesn't need it
Mobile app β sync complexity not worth it earlyHelper Scripts Worth Offering
Quick add from command line β reduces friction
Search across all files β grep/jq one-liner
Backup to timestamped zip β essential before migrations
Export to CSV β for users who want spreadsheet viewData Integrity Habits
Backup before any bulk edit or migration
Check for duplicate emails before adding contact
Validate email format on entry
Keep created/updated timestamps β debugging lifesaverSync When Asked
Cloud folder (Dropbox/iCloud/Drive) for multi-device β simplest
Git repo for version history β good for technical users
Don't suggest complex sync solutions until files prove insufficient