个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Sales prospecting skill for Claude Code. Sales prospecting builds the B2B prospect list you are willing to write to. The scorer refuses a title-only list.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Sales prospecting builds the B2B prospect list you are willing to write to.
Ops lead at Northwind posted a role for an outbound lead this week.
The good draft says call this week. A title-only list fails the score.
The build guide teaches a human. The pack teaches an agent.
The skill then loads as prospect-list:who-to-contact. Ask Claude who to call this week, or hand it a list of titles.
For every agent host the skills installer knows:查看完整 README ↗Sales prospecting builds the B2B prospect list you are willing to write to.
/plugin marketplace add cmj-hub/gtm-operator-skills
/plugin install prospect-list@gtm-operator-skills
/prospect-list:who-to-contact
Or score the sample without an agent:
python3 skills/who-to-contact/scripts/score.py --file skills/who-to-contact/examples/list-good.json # exit 0, prints title, signal, score, then "Next: /cold-email:cold-email"
python3 skills/who-to-contact/scripts/score.py --file skills/who-to-contact/examples/list-title.json # exit 1: - missing signal (a title with no signal is a directory, not a list) → write one thing they did this window, or leave them off
Part of the GTM operator suite: /plugin install gtm@gtm-operator-skills installs all ten.
Add the gtm-operator mod to see the suite's next step above your prompt and keep brand-config.json from being overwritten: /plugin install gtm-operator@gtm-operator-skills.
Ops lead at Northwind posted a role for an outbound lead this week.
The good draft says call this week. A title-only list fails the score.
The build guide teaches a human. The pack teaches an agent.
As a Claude Code plugin:
/plugin marketplace add cmj-hub/claude-prospect-list
/plugin install prospect-list@claude-prospect-list
The skill then loads as /prospect-list:who-to-contact. Ask Claude who to call this week, or hand it a list of titles. /prospect-list:who-to-contact score scores the draft already in gtm/list.json.
For every agent host the skills installer knows:
npx skills add cmj-hub/claude-prospect-list --all -g --full-depth
One host:
npx skills add cmj-hub/claude-prospect-list --skill '*' -g --full-depth -y -a claude-code
Swap claude-code for cursor, codex, grok, github-copilot, windsurf, cline, or opencode. The scorer is Python in this repo. It does not call a paid API, and it does not buy data.
The same pack is on npm as @jmc-gtm/claude-prospect-list, released from this repo's version tags with npm provenance. It has no dependencies and no install scripts.
In a project, for any agent host the skills installer knows (experimental_sync is still marked experimental there):
npm install -D @jmc-gtm/claude-prospect-list
npx skills experimental_sync -a claude-code -y
In your own Claude Code plugin marketplace, point an entry at the package:
{ "name": "prospect-list", "source": { "source": "npm", "package": "@jmc-gtm/claude-prospect-list" } }
cd skills/who-to-contact
python3 scripts/score.py --file examples/list-good.json
python3 scripts/score.py --file examples/list-title.json
The good draft exits 0 and prints a list score from a signal. The title-only draft exits 1 and prints one - what is wrong → what to change line for each gap, then Next: fix the lines above and run this again. A persona label in place of a signal, or a score that is not call this week, hold, or drop, fails too. Add --json for one result object (fixes and next included). Then drop in yours at gtm/list.json in your project.
| Path | What it is |
|---|---|
skills/who-to-contact/SKILL.md | The skill: what a signal is, how to pick the slot, the checklist. |
skills/who-to-contact/scripts/score.py | The scorer. Exit 0 scored, 1 refused, 2 unreadable input. |
skills/who-to-contact/examples/ | Good, hold, title-only, and persona-label drafts. |
.claude-plugin/ | Plugin and marketplace manifests for Claude Code, and the plugin icon. |
tests/ | python3 -m unittest discover -s tests |
It will not send the list. It does not buy data. It will not accept a title-only list.
This pack scores who earns a slot this week from a public signal. Building the company universe and verifying emails sit outside the pack.
A found address is not sendable until verify returns deliverable.
The people a public signal puts on this week's list. A job title with no signal is not a prospect yet.
No. You bring the signal. The pack scores the slot: call, hold, or drop.
Growth Audit: architecture gaps in the GTM you already run. Free written report.
Friday Signal: one Friday GTM read. No pitch in it.
The scorer is standard-library Python and opens no network connection. It reads only the draft you give it; the skill writes gtm/list.json, reads brand-config.json and never writes to it. No telemetry, no credentials, no lookups, and nothing is sent. See SECURITY.md.
Previous: Email sequence
Next: GTM skills for Claude Code
MIT. Python 3 standard library only.