Geo-seo-claude geo-prospect
install
source · Clone the upstream repo
git clone https://github.com/zubair-trabzada/geo-seo-claude
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/zubair-trabzada/geo-seo-claude "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/geo-prospect" ~/.claude/skills/zubair-trabzada-geo-seo-claude-geo-prospect && rm -rf "$T"
manifest:
skills/geo-prospect/SKILL.mdsource content
GEO Prospect Manager
Purpose
Manage GEO agency prospects and clients through the full sales lifecycle. All data is stored in
~/.geo-prospects/prospects.json (persistent across sessions).
Commands
| Command | What It Does |
|---|---|
| Create new prospect (interactive prompts) |
| Show all prospects with pipeline status |
| Filter: lead, qualified, proposal, won, lost |
| Full prospect detail with history |
| Run quick GEO audit and save to prospect record |
| Add interaction note with timestamp |
| Move through pipeline |
| Mark as won, set contract value |
| Mark as lost with reason |
| Visual pipeline summary with revenue forecast |
Data Structure
Each prospect is stored as a JSON record:
{ "id": "PRO-001", "company": "Electron Srl", "domain": "electron-srl.com", "contact_email": "info@electron-srl.com", "contact_name": "", "industry": "Educational Equipment Manufacturing", "country": "Italy", "status": "qualified", "geo_score": 32, "audit_date": "2026-03-12", "audit_file": "~/.geo-prospects/audits/electron-srl.com-2026-03-12.md", "proposal_file": "~/.geo-prospects/proposals/electron-srl.com-proposal.md", "monthly_value": 0, "contract_start": null, "contract_months": 0, "notes": [ { "date": "2026-03-12", "text": "Initial GEO quick scan. Score 32/100 - Critical tier. Strong candidate for GEO services." } ], "created_at": "2026-03-12", "updated_at": "2026-03-12" }
Orchestration Instructions
/geo prospect new <domain>
/geo prospect new <domain>- Check if
exists, create if not (empty array)~/.geo-prospects/prospects.json - Auto-detect company name from domain (e.g.,
→electron-srl.com
)Electron Srl - Assign next sequential ID:
,PRO-001
, etc.PRO-002 - Ask user for:
- Contact name (optional)
- Contact email
- Monthly contract value estimate (optional)
- Set status to
lead - Save to JSON file
- Suggest next step: "Run
to score this prospect"/geo prospect audit electron-srl.com
/geo prospect list
/geo prospect listRead
~/.geo-prospects/prospects.json and render a summary table:
GEO Prospect Pipeline — March 2026 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ID Domain Company Status Score Value ─────── ────────────────────── ──────────────── ────────── ───── ────── PRO-001 electron-srl.com Electron Srl Qualified 32/100 €4.5K PRO-002 acme.com ACME Corp Lead — — PRO-003 bigshop.it BigShop Won 41/100 €6.0K ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Pipeline: 1 lead | 1 qualified | 0 proposals | 1 won | 0 lost Committed MRR: €6,000 | Pipeline Value: €4,500
/geo prospect audit <id-or-domain>
/geo prospect audit <id-or-domain>- Run
to get GEO snapshot score/geo quick <domain> - Save score to prospect record:
,geo_scoreaudit_date - Save audit output to
~/.geo-prospects/audits/<domain>-<date>.md - Update
path in prospect recordaudit_file - Add auto-note: "Quick audit run. GEO Score: XX/100."
- If score < 55: suggest "Score indicates strong sales opportunity. Run
to generate proposal."/geo proposal <domain>
/geo prospect note <id-or-domain> "<text>"
/geo prospect note <id-or-domain> "<text>"- Find prospect by ID or domain
- Append note with current ISO date
- Save back to JSON
- Confirm: "Note added to Electron Srl (PRO-001)"
/geo prospect status <id-or-domain> <status>
/geo prospect status <id-or-domain> <status>Valid statuses:
lead, qualified, proposal, won, lost
- Update status field
- Add auto-note: "Status changed to <status>"
- Save and confirm
/geo prospect pipeline
/geo prospect pipelineVisual revenue-focused pipeline summary:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ GEO AGENCY PIPELINE SUMMARY — March 2026 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ STAGE COUNT POTENTIAL VALUE NOTES ───────────── ───── ─────────────── ───────────────────── Lead 2 €8,000/mo New discoveries Qualified 1 €4,500/mo Ready for proposal Proposal Sent 1 €6,000/mo Awaiting signature Won 3 €18,500/mo Active clients (MRR) Lost 1 — Budget freeze COMMITTED MRR: €18,500 PIPELINE (qualified+): €10,500 TOTAL POTENTIAL: €29,000/mo → €348,000/yr Next actions: → PRO-003 (acme.com): Send proposal — score 38/100 (strong case) → PRO-007 (shop.it): Follow up — proposal sent 8 days ago ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Storage Location
All data stored in
~/.geo-prospects/:
~/.geo-prospects/ ├── prospects.json # Main CRM database ├── audits/ # Quick audit snapshots │ └── electron-srl.com-2026-03-12.md └── proposals/ # Generated proposals └── electron-srl.com-proposal.md
Create directory if it does not exist:
mkdir -p ~/.geo-prospects/audits ~/.geo-prospects/proposals
Pipeline Stage Definitions
| Status | Meaning | Typical Next Action |
|---|---|---|
| Discovered, not yet contacted | Run quick audit, assess opportunity |
| Audit done, confirmed pain points | Generate proposal |
| Proposal sent, awaiting decision | Follow up, answer questions |
| Contract signed, active client | Run full audit, start onboarding |
| Deal closed lost | Log reason for future reference |
Output
- All commands print confirmation + current prospect status to terminal
- No external files unless explicitly saving audits/proposals
- JSON database is the single source of truth