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.
Maintain a personal CRM — track relationships, last-touch dates, follow-ups owed, context from past conversations, and who deserves a check-in.
$ npx skills add TheCraigHewitt/skills --skill personal-crm -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TheCraigHewitt/skills personal-crm --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "personal-crm" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/cowork/personal-crm into .claude/skills/personal-crm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "personal-crm", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/TheCraigHewitt/skills/tree/main/cowork/personal-crmType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add TheCraigHewitt/skills --skill personal-crm -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TheCraigHewitt/skills personal-crm --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/cowork/personal-crm .agents/skills/personal-crm && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "personal-crm" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/cowork/personal-crm into .agents/skills/personal-crm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "personal-crm", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add TheCraigHewitt/skills --skill personal-crm -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TheCraigHewitt/skills personal-crm --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/cowork/personal-crm .cursor/skills/personal-crm && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "personal-crm" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/cowork/personal-crm into .cursor/skills/personal-crm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "personal-crm", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/TheCraigHewitt/skills.git --path cowork/personal-crm--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add TheCraigHewitt/skills --skill personal-crm -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TheCraigHewitt/skills personal-crm --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/cowork/personal-crm .gemini/skills/personal-crm && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "personal-crm" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/cowork/personal-crm into .gemini/skills/personal-crm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "personal-crm", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install TheCraigHewitt/skills personal-crmInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add TheCraigHewitt/skills --skill personal-crm -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/cowork/personal-crm .github/skills/personal-crm && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "personal-crm" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/cowork/personal-crm into .github/skills/personal-crm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "personal-crm", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add TheCraigHewitt/skills --skill personal-crm -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install TheCraigHewitt/skills personal-crm --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheCraigHewitt/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/cowork/personal-crm .opencode/skills/personal-crm && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "personal-crm" agent skill from https://github.com/TheCraigHewitt/skills/tree/main/cowork/personal-crm into .opencode/skills/personal-crm/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "personal-crm", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
personal-crmMaintain 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. 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.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit fdbf39b. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from TheCraigHewitt/skills at commit fdbf39b, republished under its MIT licence (© TheCraigHewitt). 584 words, ~1,567 tokens.
.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.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.
© TheCraigHewitt, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in cowork/personal-crm of TheCraigHewitt/skills.
Open the folder on GitHubat commit fdbf39b
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Personal CRM this skillTheCraigHewitt/skills | 159 | — | ~1.6k | Automated safety check: Pass | MIT | |
| GEO Prospect Trackerzubair-trabzada/geo-seo-claude | 11k | — | ~1.7k | Automated safety check: Notes | MIT | |
| Soql Lib Query Builderbeyond-the-cloud-dev/soql-lib | 154 | — | ~4.3k | Automated safety check: Pass | MIT | |
| Sf DatacloudJaganpro/sf-skills | 424 | — | ~2.7k | Automated safety check: Pass | MIT | |
| B2b Sdr AgentiPythoning/b2b-sdr-agent-template | 190 | — | ~744 | Automated safety check: Pass | MIT-0 | |
| Soql Lib Selectorbeyond-the-cloud-dev/soql-lib | 154 | — | ~2k | Automated safety check: Pass | MIT |
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.
beyond-the-cloud-dev/soql-lib
Builds Salesforce SOQL queries using the SOQL Lib fluent builder API (SOQL.cls).
Jaganpro/sf-skills
Salesforce Data Cloud product orchestrator for connect→prepare→harmonize→segment→act workflows.
iPythoning/b2b-sdr-agent-template
Open-source B2B AI SDR template. An agent skill from iPythoning/b2b-sdr-agent-template.
beyond-the-cloud-dev/soql-lib
Creates Salesforce Apex selector classes using the SOQL Lib selector pattern.
Portwood-Global-Solutions/Portwood
Get from a fresh clone of Portwood to a working, fully-tested Salesforce org.
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.
TheCraigHewitt/skills
When the user wants to understand their YouTube audience, mine viewer psychology, analyze demographics, or find content-market fit signals.
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.
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.
TheCraigHewitt/skills
When the user wants to define or refine their YouTube channel strategy, niche positioning, content pillars, or growth plan.
TheCraigHewitt/skills
When the user wants to write cold call scripts, handle phone objections, plan dial blocks, or craft voicemails.
Categories
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.
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.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Personal CRM is instructions for the agent only.
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.
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.
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.
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.
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.
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.