agent-readiness-scan
Use when a client audit, GEO/AI-visibility snapshot, or remediation re-scan needs the Cloudflare agent-readiness score from…
CRM-lite for managing GEO agency prospects and clients. Track leads through the full sales pipeline: Lead → Qualified → Proposal Sent → Won → Lost. Store audit history, notes, deal values, and generate pipeline summaries. Use when user says "prospect", "lead", "client",
Claude Code
$ npx -y skills add techhorizonlabs/thl-open --skill geo-prospect --agent claude-code
Codex
$ npx skills add techhorizonlabs/thl-open --skill geo-prospect -a codex -y
Cursor
$ npx skills add techhorizonlabs/thl-open --skill geo-prospect -a cursor -y
Gemini CLI
$ npx skills add techhorizonlabs/thl-open --skill geo-prospect -a gemini-cli -y
GitHub Copilot
$ npx skills add techhorizonlabs/thl-open --skill geo-prospect -a github-copilot -y
OpenCode
$ npx skills add techhorizonlabs/thl-open --skill geo-prospect -a opencode -y
Windsurf
$ npx skills add techhorizonlabs/thl-open --skill geo-prospect -a windsurf -y
name: geo-prospect description: > CRM-lite for managing GEO agency prospects and clients. Track leads through the full sales pipeline: Lead → Qualified → Proposal Sent → Won → Lost. Store audit history, notes, deal values, and generate pipeline summaries. Use when user says "prospect", "lead", "client", "pipeline", "crm", "nuovo prospect", "aggiungi cliente", or when managing the business side of GEO services. version: 1.0.0 tags: [geo, business, crm, prospect, pipeline, sales] allowed-tools: Read, Write, Bash, Glob
Manage GEO agency prospects and clients through the full sales lifecycle. All data is stored in `~/.geo-prospects/prospects.json` (persistent across sessions).
---
| Command | What It Does | |---------|-------------| | `/geo prospect new <domain>` | Create new prospect (interactive prompts) | | `/geo prospect list` | Show all prospects with pipeline status | | `/geo prospect list <status>` | Filter: lead, qualified, proposal, won, lost | | `/geo prospect show <id-or-domain>` | Full prospect detail with history | | `/geo prospect audit <id-or-domain>` | Run quick GEO audit and save to prospect record | | `/geo prospect note <id-or-domain> "<text>"` | Add interaction note with timestamp | | `/geo prospect status <id-or-domain> <new-status>` | Move through pipeline | | `/geo prospect won <id-or-domain> <monthly-value>` | Mark as won, set contract value | | `/geo prospect lost <id-or-domain> "<reason>"` | Mark as lost with reason | | `/geo prospect pipeline` | Visual pipeline summary with revenue forecast |
---
Each prospect is stored as a JSON record:
{
"id": "PRO-001",
"company": "Meridian Legal",
"domain": "meridianlegal.com.au",
"contact_email": "info@meridianlegal.com.au",
"contact_name": "",
"industry": "Educational Equipment Manufacturing",
"country": "Italy",
"status": "qualified",
"geo_score": 32,
"audit_date": "2026-03-12",
"audit_file": "~/.geo-prospects/audits/meridianlegal.com.au-2026-03-12.md",
"proposal_file": "~/.geo-prospects/proposals/meridianlegal.com.au-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"
}---
1. Check if `~/.geo-prospects/prospects.json` exists, create if not (empty array) 2. Auto-detect company name from domain (e.g., `meridianlegal.com.au` → `Meridian Legal`) 3. Assign next sequential ID: `PRO-001`, `PRO-002`, etc. 4. Ask user for:
5. Set status to `lead` 6. Save to JSON file 7. Suggest next step: "Run `/geo prospect audit meridianlegal.com.au` to score this prospect"
Read `~/.geo-prospects/prospects.json` and render a summary table:
GEO Prospect Pipeline: March 2026 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ID Domain Company Status Score Value ─────── ────────────────────── ──────────────── ────────── ───── ────── PRO-001 meridianlegal.com.au Meridian Legal Qualified 32/100 A$4.5K PRO-002 acme.com ACME Corp Lead n/a n/a PRO-003 coastalfitness.com.au Coastal Fitness Won 41/100 A$6.0K ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Pipeline: 1 lead | 1 qualified | 0 proposals | 1 won | 0 lost Committed MRR: A$6,000 | Pipeline Value: A$4,500
1. Run `/geo quick <domain>` to get GEO snapshot score 2. Save score to prospect record: `geo_score`, `audit_date` 3. Save audit output to `~/.geo-prospects/audits/<domain>-<date>.md` 4. Update `audit_file` path in prospect record 5. Add auto-note: "Quick audit run. GEO Score: XX/100." 6. If score < 55: suggest "Score indicates strong sales opportunity. Run `/geo proposal <domain>` to generate proposal."
1. Find prospect by ID or domain 2. Append note with current ISO date 3. Save back to JSON 4. Confirm: "Note added to Meridian Legal (PRO-001)"
Valid statuses: `lead`, `qualified`, `proposal`, `won`, `lost`
1. Update status field 2. Add auto-note: "Status changed to <status>" 3. Save and confirm
Visual revenue-focused pipeline summary:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ GEO AGENCY PIPELINE SUMMARY: March 2026 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ STAGE COUNT POTENTIAL VALUE NOTES ───────────── ───── ─────────────── ───────────────────── Lead 2 A$8,000/mo New discoveries Qualified 1 A$4,500/mo Ready for proposal Proposal Sent 1 A$6,000/mo Awaiting signature Won 3 A$18,500/mo Active clients (MRR) Lost 1 n/a Budget freeze COMMITTED MRR: A$18,500 PIPELINE (qualified+): A$10,500 TOTAL POTENTIAL: A$29,000/mo → A$348,000/yr Next actions: → PRO-003 (acme.com): Send proposal (score 38/100, strong case) → PRO-007 (coastalfitness.com.au): Follow up: proposal sent 8 days ago ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
---
All data stored in `~/.geo-prospects/`:
~/.geo-prospects/
├── prospects.json # Main CRM database
├── audits/ # Quick audit snapshots
│ └── meridianlegal.com.au-2026-03-12.md
└── proposals/ # Generated proposals
└── meridianlegal.com.au-proposal.mdCreate directory if it does not exist: `mkdir -p ~/.geo-prospects/audits ~/.geo-prospects/proposal
Turn a client website into an AI-readiness audit, a ranked fix plan and a branded report. Open agent skills and reporting tools from Tech Horizon Labs. Start in Claude Code, or use a compatible agent that reads SKILL.md files.
Use when a client audit, GEO/AI-visibility snapshot, or remediation re-scan needs the Cloudflare agent-readiness score from…
Measure whether AI engines actually recommend a business when buyers ask. Runs the free live scan at areyoufoundbyai.com (no…
Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…
Brand mention and authority scanner for AI visibility. Analyzes brand presence across platforms that AI models rely on for entity…
AI citability scoring and optimization. Analyzes web page content to determine how likely AI systems (ChatGPT, Claude,…
Monthly delta tracking and progress reporting for GEO clients. Compares two GEO audits (baseline vs. current), calculates score…
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use…
Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…
Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…