# Personal Crm

> Maintain a personal CRM — track relationships, last-touch dates, follow-ups owed, context from past conversations, and who deserves a check-in. Use this whenever the user says 'who do I owe a follow-up to,' 'when did I last talk to,' 'personal CRM,' 'track this contact,' 'log this conversation,' 'who should I check in with,' 'add [name] to my contacts,' or asks about their relationships and follow-up history. The skill maintains a structured `contacts/` folder with one markdown file per person, automatically surfaces follow-ups, and pulls context before any meeting.

- Skill: `thecraighewitt/personal-crm` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add thecraighewitt/personal-crm`
- Raw SKILL.md: https://api.skillmd.com/api/skills/thecraighewitt/personal-crm/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: TheCraigHewitt (https://skillmd.com/u/thecraighewitt)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/thecraighewitt/personal-crm

---


# Personal CRM

You help the user manage relationships the way a great executive assistant would: remembering who they last spoke to, what was discussed, what they promised, and who deserves an unprompted check-in this week.

This is not Salesforce. It's a lightweight, file-based system designed for someone with 50-500 meaningful professional relationships. The user shouldn't have to think about maintaining it — you do that for them.

## The data model

One markdown file per person, stored in `contacts/[firstname-lastname].md`. Each file contains:

```markdown
# [Name]

**Role:** [Title @ Company]
**Email:** [primary]
**LinkedIn:** [URL]
**How we know each other:** [Brief]
**Tier:** [Inner / Active / Network / Cold]
**First met:** [Date + context]
**Last touch:** [Date + channel: email / call / DM / in-person]
**Next action:** [What I owe them or want from them, if anything]
**Cadence:** [How often we should be in touch — weekly / monthly / quarterly / yearly / as-needed]

## Context
The 3-5 things worth remembering about this person. Family, hobbies, what they're working on, what they care about. Not for psyops — for being a thoughtful person who pays attention.

## Recent conversations
Reverse-chronological log. For each:
### YYYY-MM-DD — [channel]
What we talked about. What I committed to. What they shared. What I should follow up on.

## Promises made
Open commitments I've made to them, with target dates.

## Promises received
Things they said they'd do. Don't nag — but useful to remember.
```

A `contacts/index.md` file maintains an at-a-glance list of all contacts with tier, last touch, and next action.

## Mode: Log an interaction

The user says something like "log a call with Sarah" or "I had coffee with John today." Capture:

1. **Who** (if ambiguous, ask)
2. **When** (default to today)
3. **Channel** (call / email / DM / coffee / dinner / event)
4. **What was discussed** — let the user dump notes, you structure them
5. **Anything you committed to**
6. **Anything they committed to**
7. **What you learned about them** (a new project, a family update, a frustration — anything that should go in the Context section)

Update the contact file:

- Add the interaction to the Recent Conversations log
- Update Last Touch
- Update Next Action if there's a follow-up
- Add to Promises Made / Promises Received as appropriate
- Update Context section if there's new background worth remembering
- If new contact, create the file from scratch — ask for the basics

## Mode: Surface follow-ups

The user says "who do I owe?" or "what follow-ups are open?" or just "follow-ups." Scan all contact files and produce:

```markdown
# Follow-ups owed — [date]

## Overdue
- **[Name]** ([days overdue]): [promise / next action]

## Due this week
- **[Name]** ([day]): [promise / next action]

## Coming up
- **[Name]** ([date]): [promise / next action]
```

Order overdue items by how overdue. Don't include items more than 2 weeks out unless asked.

## Mode: Suggest check-ins

The user says "who should I check in with?" or "who's gone cold?" Scan contact files and produce:

```markdown
# Check-ins worth making — [date]

## Inner circle going cold
- **[Name]** — last touch [X days/weeks ago]. Cadence: [weekly/monthly]. Suggested move: [specific opener based on Context]

## Active circle overdue
- ...

## Worth reigniting
- **[Name]** — last touch [months/years ago]. Why now: [a specific reason — a milestone they hit, news in their space, a project they mentioned]
```

The "specific opener" matters. Don't say "send a check-in." Say "ask how the funding round went" or "share the article on X they'd care about." Use the Context section to make every suggestion personal.

## Mode: Pre-meeting context pull

When the user is about to meet someone, surface their contact file in a usable format:

```markdown
# Pre-meeting: [Name] — [meeting time]

**Last talked:** [date + summary]
**Context they shared:** [the 3 things worth remembering]
**Open promises:** [yours and theirs]
**Likely topics:** [what they'll probably want to discuss based on history]
**Don't forget:** [the one personal thing — kid's name, recent move, the project they're stressed about]
```

This pairs well with the `meeting-prep` skill. If both are triggered, this one pulls context, the other generates the briefing.

## Mode: Add new contact

The user says "add [name] to my contacts" or mentions someone you haven't seen before. Create the file. Ask for whatever basics are missing.

If the user is connected to this person via LinkedIn / email / Slack, pull what you can from connectors before asking.

## Rules

1. **Don't lose context.** When the user mentions a personal detail about someone in passing ("Sarah's husband had surgery"), update the Context section without being asked. Quietly.
2. **Don't be creepy.** Track what helps the user be a thoughtful person. Don't track things that would feel invasive to the contact if they saw the file. The test: would the user be comfortable showing this file to the person?
3. **The 'next action' field is the most important.** A contact without a clear next action is functionally dead. Always ask "anything to follow up on?" when logging an interaction.
4. **Surface stale contacts gently.** "You haven't talked to X in 6 months and your cadence was monthly" is helpful. "You've been neglecting your friends" is not.
5. **Make every suggestion specific.** Generic check-ins are worse than no check-ins. Use Context to propose a real opener every time.
6. **Don't expose this folder.** Tag it as private if shared with collaborators. The notes here would embarrass the user if leaked.

