brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
personal-crmMaintain 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 …
Independent GitHub snapshot · Automated classification · Original documentation governs
contacts/ folder with one markdown file per person, automatically surfaces follow-ups, and pulls context before any meeting."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.
One markdown file per person, stored in contacts/[firstname-lastname].md. Each file contains:
# [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.
The user says something like "log a call with Sarah" or "I had coffee with John today." Capture:
Update the contact file:
The user says "who do I owe?" or "what follow-ups are open?" or just "follow-ups." Scan all contact files and produce:
# 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.
The user says "who should I check in with?" or "who's gone cold?" Scan contact files and produce:
# 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.
When the user is about to meet someone, surface their contact file in a usable format:
# 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.
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.