agentsclimarketplace

Site prospector

Skill adamjali/claude-skills/plugins/site-prospector

Find local businesses worth pitching a free demo website to, present them with honest reasoning, let the user pick, then for each: verify the facts, build a site via site-forge, deploy it, and draft tailored multi-channel outreach — logging everything to a bounded ledger. Use whenever the user wants to find prospects, leads, or candidates for web-design / demo-site outreach, scout local businesses with no or weak websites, run client-finding for the website business, or "find someone to pitch" — even without saying "site-prospector". Runs autonomously and orchestrates site-forge for the build.From its SKILL.md

Install
npx -y skills add adamjali/claude-skills --skill site-prospector

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • skips confirmationTells the agent to proceed without asking first, 1 time: "Autonomous by default — a hands-off finder→builder".
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 1 command, including `scripts/outreach-page.sh`.

SKILL.md

6.4 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

Site Prospector

<objective> The front of the local-website business: find businesses that would benefit from a free demo site, surface them with honest reasoning, and — for the ones the user picks — verify the facts, build and deploy a site, and produce ready-to-send outreach. It **orchestrates `site-forge`** for the build (Claude invokes it; they hand off via a shared brief file) and keeps a **bounded ledger** so the pipeline never loses state and never grows forever. Truth discipline is core: claims get verified or labeled, and demo sites carry a not-affiliated disclaimer. </objective> <context> @ledger/index.md </context>

<execution_context> Autonomous by default — a hands-off finder→builder. Required stops: (1) the user picks which candidates to pursue (Phase 2), and (2) anything that sends or publishes externally.

  • 🟢 Auto: search, evaluate, fact-verify, write the brief, invoke site-forge (in auto), deploy the demo, draft outreach, update the ledger.
  • 🟡 Ask: which candidates to build (always); repointing form leads; custom domains.
  • 🔴 Never: send/publish outreach without explicit go (drafts only); publish a flagged-unverified claim without the demo disclaimer; pay for anything. Quality note: each demo is built as well as is autonomously reachable, then a per-site "upgrade to full" flag is surfaced so a winner can be re-run with site-forge full for Gemini/Veo media. </execution_context>
<process> <phase name="1_scout"> ## Phase 1 — Scout candidates Find businesses matching the brief (trade + area) via jina/web/maps — see `references/candidate-search.md`. Strongest signal: a real, reputable business with **no working website or a parked/for-sale domain**. Gather per candidate: name, owner, contact channels, current web presence (or lack), and one specific honest hook. </phase> <phase name="2_present_and_pick"> ## Phase 2 — Present + pick Present candidates with **honest reasoning** (hook, reputation reality, fit, ease) using the rubric in `references/candidate-search.md`. Let the user pick one or more (AskUserQuestion). No cheerleading — surface the weak ones as weak. </phase> <phase name="3_verify"> ## Phase 3 — Verify facts (truth discipline) Before building, verify each pick — license, ratings, affiliations, years, entity identity — per `references/fact-verification.md` (Sunbiz, DBPR, BBB, manufacturer locators, Yelp/BuildZoom; watch the same-name entity trap). Mark each claim **verified** or **aspirational**; aspirational claims may go on a *demo* with the disclaimer, never presented as fact. </phase> <phase name="4_build"> ## Phase 4 — Build (orchestrate site-forge) Per picked business, write/update its ledger entry `ledger/active/<slug>.md` (details, verified facts, hook, voice, assets — the entry doubles as the build brief, so there's one file, not two). Then **invoke the `site-forge` skill in `auto` mode**, pointing it at that file. site-forge owns the build — do not duplicate its recipes here. If `site-forge` isn't installed, say so and offer to install/locate it. </phase> <phase name="5_deploy"> ## Phase 5 — Deploy + disclaimer site-forge deploys; confirm the live URL and that the demo carries the not-affiliated disclaimer. Record the URL. </phase> <phase name="6_outreach"> ## Phase 6 — Tailored outreach (drafts only) Generate a copy-pastable outreach page with `scripts/outreach-page.sh` — sequenced FB DM → email → text, cross-referenced, with timing + one follow-up — per `references/outreach.md`. **Draft only; never send.** Pricing/positioning in `references/monetization.md`. </phase> <phase name="7_ledger"> ## Phase 7 — Ledger update Append/update the entry per `references/docs-ledger.md`: status, URL, verified facts, outreach drafted, decisions, $. Apply the rolling-window bound (recent entries full; older compacted to one-liners in `ledger/archive.md`). </phase> </process>

<saved_rules_format> Accumulate learnings in ledger/lessons.md (durable). Format: - {topic}: {rule} — set {YYYY-MM-DD ET} e.g. "channel: FB DM first for solo trades", "verify: same-name LLC trap is common", "skip: businesses with a current modern site". Surface relevant rules at the start of a run. </saved_rules_format>

Bounded ledger (never grows forever)

  • ledger/index.md (@-loaded): one line per business — slug · status · URL · last-touched. Pruned to the most recent ~30; older roll to archive.md.
  • ledger/active/<slug>.md — full entry while in-flight.
  • ledger/archive.md — one-liners for closed/cold businesses.
  • ledger/lessons.md — saved rules. Format + rollover rule: references/docs-ledger.md.

<recovery_protocol> Interrupted mid-scout → resume from candidates in ledger/active/. Mid-build → check whether the site-forge run produced a deploy; resume from Phase 5. Mid-outreach → the drafts page is idempotent; regenerate. Never re-send (drafts only, nothing to double-send). </recovery_protocol>

<error_handling>

  • site-forge not installed → surface; offer to install/locate. Never inline its build logic.
  • Fact sources blocked/empty → fall back to a researcher agent; an unverifiable claim stays aspirational, never asserted.
  • Same-name entity ambiguity → stop and confirm identity before building.
  • Ledger index > ~30 entries → roll oldest to archive.md (one-liners). </error_handling>

<success_criteria>

  • Candidates presented with honest, evidence-based reasoning.
  • User explicitly picked which to pursue.
  • Facts verified or labeled aspirational; demo carries the disclaimer.
  • Site built via site-forge (not re-implemented here) and deployed.
  • Outreach drafted (never sent), sequenced + cross-referenced.
  • Ledger updated; index bounded; lessons captured. </success_criteria>

What ships with it: 15 files

193.4 KB alongside SKILL.md, 1 of them executable

.claude-plugin/

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.