Agent skill

Personal CRM

by TheCraigHewitt in TheCraigHewitt/skills

Maintain a personal CRM — track relationships, last-touch dates, follow-ups owed, context from past conversations, and who deserves a check-in.

MITAuto-check passedSales & Support

Install Personal CRM

skills CLI
$ npx skills add TheCraigHewitt/skills --skill personal-crm -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install TheCraigHewitt/skills personal-crm --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cowork/personal-crm .claude/skills/personal-crm && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
personal-crm
GitHub stars
159
Token cost
~1.6k tokens
SKILL.md length
584 words
Files
2
Skills in repo
65
Repo updated
First seen
Licence
MIT

At a glance

Maintain a personal CRM — track relationships, last-touch dates, follow-ups owed, context from past conversations, and who deserves a check-in.

  • Works in 7 steps: Who (if ambiguous, ask) → When (default to today) → Channel (call / email / DM / coffee /… → …
  • Says who do I owe a follow-up to
  • SKILL.md covers The data model, Mode: Log an interaction, Mode: Surface follow-ups and Mode: Suggest check-ins, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Personal CRM is an agent skill from TheCraigHewitt/skills. 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…

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `evals/evals.json`).

It sits in Sales & Support, covering CRM management. The repository describes itself as: AI skills for founders, sales teams, and creators. 47 skills across CEO, Sales, YouTube, and General categories. Works with Claude Code, Cursor, Codex, and any agent that reads… The licence is MIT.

When your agent uses it

  • Says who do I owe a follow-up to
  • Did I last talk to
  • Track this contact
  • Log this conversation

Example prompts

  • “who do I owe a follow-up to,”
  • “when did I last talk to,”
  • “personal CRM,”
  • “/personal-crm”

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  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)

What it can do on your machine

Read from SKILL.md and the folder at commit fdbf39b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Personal CRM loads about 1.6k tokens when it runs. Until then it costs about 146 tokens; SKILL.md has 584 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~146
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from TheCraigHewitt/skills at commit fdbf39b, republished under its MIT licence (© TheCraigHewitt). 584 words, ~1,567 tokens.

Download SKILL.mdSave it as .claude/skills/personal-crm/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
personal-crm
description
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.

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.

Show full SKILL.md (217 more words)Show less

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.

© TheCraigHewitt, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in cowork/personal-crm of TheCraigHewitt/skills.

  • SKILL.md
  • evals/evals.json

Open the folder on GitHubat commit fdbf39b

Compare with similar skills

Personal CRM next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Personal CRM compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Personal CRM this skillTheCraigHewitt/skills159—~1.6kAutomated safety check: PassMIT
GEO Prospect Trackerzubair-trabzada/geo-seo-claude11k—~1.7kAutomated safety check: NotesMIT
Soql Lib Query Builderbeyond-the-cloud-dev/soql-lib154—~4.3kAutomated safety check: PassMIT
Sf DatacloudJaganpro/sf-skills424—~2.7kAutomated safety check: PassMIT
B2b Sdr AgentiPythoning/b2b-sdr-agent-template190—~744Automated safety check: PassMIT-0
Soql Lib Selectorbeyond-the-cloud-dev/soql-lib154—~2kAutomated safety check: PassMIT

Similar skills

  • GEO Prospect Tracker

    zubair-trabzada/geo-seo-claude

    Tracks GEO agency leads and clients through a sales pipeline in a local JSON file, with notes, audit scores, deal values and a pipeline summary.

    11k GitHub stars~1.7k tokensUpdated yesterday
    Sales & SupportAuto-check: notes
  • Soql Lib Query Builder

    beyond-the-cloud-dev/soql-lib

    Builds Salesforce SOQL queries using the SOQL Lib fluent builder API (SOQL.cls).

    154 GitHub stars~4.3k tokensUpdated 8 days ago
    Sales & SupportAuto-check passed
  • Sf Datacloud

    Jaganpro/sf-skills

    Salesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows.

    424 GitHub stars~2.7k tokensUpdated 5 mo ago
    Sales & SupportAuto-check passed
  • B2b Sdr Agent

    iPythoning/b2b-sdr-agent-template

    Open-source B2B AI SDR template. An agent skill from iPythoning/b2b-sdr-agent-template.

    190 GitHub stars~744 tokensUpdated 11 days ago
    Sales & SupportAuto-check passed
  • Soql Lib Selector

    beyond-the-cloud-dev/soql-lib

    Creates Salesforce Apex selector classes using the SOQL Lib selector pattern.

    154 GitHub stars~2k tokensUpdated 8 days ago
    Sales & SupportAuto-check passed
  • Dev Setup

    Portwood-Global-Solutions/Portwood

    Get from a fresh clone of Portwood to a working, fully-tested Salesforce org.

    126 GitHub stars~1.1k tokensUpdated 2 days ago
    Sales & SupportAuto-check passed

More from TheCraigHewitt/skills

All 65 skills in this repo
  • Carousels

    TheCraigHewitt/skills

    Turns a piece of Craig's content (an email, a YouTube script, an essay, or pasted text) into a polished image carousel publishable to both LinkedIn and Instagram from one set of 1080x1350 slides.

    159 GitHub stars~2.3k tokensUpdated 4 mo ago
    Auto-check passed
  • Audience Research

    TheCraigHewitt/skills

    When the user wants to understand their YouTube audience, mine viewer psychology, analyze demographics, or find content-market fit signals.

    159 GitHub stars~2.4k tokensUpdated 4 mo ago
    Auto-check passed
  • Brain Dump

    TheCraigHewitt/skills

    Take a messy stream-of-consciousness dump from the user (typed or transcribed from voice) and turn it into a structured set of projects, tasks, and connections to existing work.

    159 GitHub stars~1.3k tokensUpdated 4 mo ago
    Auto-check passed
  • Channel Audit

    TheCraigHewitt/skills

    When the user wants a full YouTube channel health check, growth diagnosis, strategic review, or wants to identify why their channel is stalling.

    159 GitHub stars~2.4k tokensUpdated 4 mo ago
    Auto-check passed
  • Channel Strategy

    TheCraigHewitt/skills

    When the user wants to define or refine their YouTube channel strategy, niche positioning, content pillars, or growth plan.

    159 GitHub stars~2.2k tokensUpdated 4 mo ago
    Auto-check passed
  • Cold Call

    TheCraigHewitt/skills

    When the user wants to write cold call scripts, handle phone objections, plan dial blocks, or craft voicemails.

    159 GitHub stars~5k tokensUpdated 4 mo ago
    Auto-check passed

Categories

Questions about Personal CRM

What does Personal CRM do?

Maintain a personal CRM — track relationships, last-touch dates, follow-ups owed, context from past conversations, and who deserves a check-in. Personal CRM is an agent skill from TheCraigHewitt/skills. Maintain a personal CRM — track relationships, last-touch dates, follow-ups owed, context from past conversations, and who deserves a check-in.

When should I use Personal CRM?

Personal CRM fits situations like: says who do I owe a follow-up to; did I last talk to; track this contact; log this conversation.

How do I install Personal CRM in Claude Code?

Run `npx skills add TheCraigHewitt/skills --skill personal-crm -a claude-code`. Or copy the skill folder (cowork/personal-crm in TheCraigHewitt/skills) into .claude/skills/personal-crm in your project. Claude Code loads it when a task matches its description.

How do I install Personal CRM in Codex?

Run `npx skills add TheCraigHewitt/skills --skill personal-crm -a codex`. Or copy the skill folder (cowork/personal-crm in TheCraigHewitt/skills) into .agents/skills/personal-crm in your project. Codex loads it when a task matches its description.

Can I use Personal CRM in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TheCraigHewitt/skills --skill personal-crm -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/personal-crm, .gemini/skills/personal-crm, .github/skills/personal-crm and .opencode/skills/personal-crm in your project.

What does Personal CRM need to run?

SKILL.md names no scripts, command-line tools or credentials: Personal CRM is instructions for the agent only.

Does Personal CRM access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Personal CRM safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Personal CRM use?

Personal CRM is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Personal CRM use?

About 1.6k tokens (SKILL.md is roughly 6.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Personal CRM?

Skills that share tags, products or a category with Personal CRM: GEO Prospect Tracker (zubair-trabzada/geo-seo-claude, 11k stars), Soql Lib Query Builder (beyond-the-cloud-dev/soql-lib, 154 stars), Sf Datacloud (Jaganpro/sf-skills, 424 stars) and B2b Sdr Agent (iPythoning/b2b-sdr-agent-template, 190 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Personal CRM?

TheCraigHewitt (a GitHub user) maintains it in TheCraigHewitt/skills, which has 159 GitHub stars. The repository holds 65 skills in this directory. The repository was last updated on May 22, 2026.

Source: TheCraigHewitt/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.