786Eidd

Greenscape Reactivation Agent — Data skill for Claude Code

Data community

For the About field (350 char limit).

How to install Greenscape Reactivation Agent

This entry records only its repository, not the path inside it, so there is no exact command to give. Open 786Eidd/greenscape-reactivation-agent and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Greenscape Reactivation Agent does

For the About field (350 char limit). My pick: AI-drafted, human-approved re-engagement pipeline for a landscape contractor's 1,400 closed-lost CRM leads. Claude Haiku drafts from each lead's file, guardrails block anything that quotes a price or breaks character, and nothing sends without a human approving it. Next.js · Supabase · Slack.

Alternatives in Data

  • Engage.Status — Show current engagement status and pipeline progress 348 ★
  • Busabase — Open-source database & workspace for AI agents — structured data, durable knowledge, reusable skills, runnable 162 ★
  • Human — The AI Software Factory 62 ★

README

Greenscape Pro — Closed-Lost Lead Reactivation Agent

The P0 from [`STRATEGY.md`](./STRATEGY.md), built end-to-end.

Greenscape Pro has 1,400+ closed-lost leads sitting in GoHighLevel from three years of paid acquisition. Brittany runs occasional re-engagement blasts; they underperform for the reason Marcus named on the discovery call — *"when it feels like a mass blast, they do not [respond]."*

This turns that pile into a pipeline: **Claude drafts a personal-sounding message from each lead's actual file, a human reads and edits it, and only then can it send.**

**Live:** __ · **Health check:** `/api/health`


What it does

GHL-shaped lead record
        │
        ▼
POST /api/leads/:id/generate ──► Claude Haiku ──► guardrail validation
        │                                              │
        │                                    ┌─────────┴─────────┐
        │                              passes                  fails
        │                                    │                    │
        ▼                                    ▼                    ▼
   Slack ping                        messages.status =     messages.status =
   "draft ready"                         'draft'              'failed'
                                             │            (visible, never sendable)
                                    human reviews + edits
                                             │
                                             ▼
                            POST /api/messages/:id/send   ◄── the ONLY send path
                                             │
                                    Resend ──► customer
                                             │
                                    leads.status = 'contacted'
                                    Slack ping + audit event

Generation and sending are **separate endpoints separated by a database status**. There is no code path where a model response reaches a customer