@elitedcs/ghl-mcp 3.71.0 → 3.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +4 -4
  3. package/dist/capture-helper.js +10 -1
  4. package/dist/index.js +9078 -3211
  5. package/guide/guide.html +2 -1
  6. package/package.json +2 -2
  7. package/skills/blueprint/SKILL.md +2 -0
  8. package/skills/blueprint/examples/medspa-approval-view.md +58 -53
  9. package/skills/blueprint/examples/medspa-brief.json +70 -8
  10. package/skills/blueprint/examples/medspa-build-plan.json +1435 -123
  11. package/skills/blueprint/examples/medspa-dry-run-report.md +2 -0
  12. package/skills/blueprint/examples/sample-approval-view.md +20 -61
  13. package/skills/blueprint/examples/sample-brief.json +95 -7
  14. package/skills/blueprint/examples/sample-build-plan.json +1448 -119
  15. package/skills/blueprint/examples/validate-plan.cjs +195 -13
  16. package/skills/blueprint/presets/clinic-launch-a2p.preset.json +1 -0
  17. package/skills/blueprint/presets/clinic.md +60 -0
  18. package/skills/blueprint/presets/clinic.preset.json +1737 -0
  19. package/skills/blueprint/presets/coach.md +58 -0
  20. package/skills/blueprint/presets/coach.preset.json +1723 -0
  21. package/skills/blueprint/presets/ecommerce.md +54 -0
  22. package/skills/blueprint/presets/ecommerce.preset.json +1287 -0
  23. package/skills/blueprint/presets/generic-client.md +49 -27
  24. package/skills/blueprint/presets/generic-client.preset.json +1552 -122
  25. package/skills/blueprint/presets/local-service.md +58 -0
  26. package/skills/blueprint/presets/local-service.preset.json +1733 -0
  27. package/skills/blueprint/presets/med-spa.md +47 -48
  28. package/skills/blueprint/presets/med-spa.preset.json +1557 -111
  29. package/skills/blueprint/references/brief-schema.md +48 -1
  30. package/skills/blueprint/references/build-plan-schema.md +66 -5
  31. package/skills/blueprint/references/copy-guide.md +167 -0
  32. package/skills/blueprint/references/intake-question-set.md +64 -3
  33. package/skills/blueprint/references/preset-format.md +97 -51
  34. package/templates/action-schemas.json +12 -0
@@ -1,5 +1,7 @@
1
1
  # Worked example proof — med_spa brief → plan → validate → dry_run
2
2
 
3
+ > **Scope note (2026-08-26):** this report is the live proof for the **v1.0.0** med-spa plan (5 workflows, 28 actions). The examples in this folder are now the **v2.0.0** plan (8 workflows, 99 actions, 32 templates, users, `userRef`, `call_status` trigger). The v2 plan passes `validate_build_plan` and `examples/validate-plan.cjs`; a live `apply_build_plan` dry-run of v2 has not been captured yet and is the next proof to add here.
4
+
3
5
  This is the live proof that the med_spa preset produces a plan that passes the MCP's
4
6
  authoritative validator and dry-runs clean. Captured 2026-06-25 against the **MCP Testing**
5
7
  sandbox (`JrV2p35O3hY2wqhr2c0T`, a throwaway 1-user account). dry_run writes nothing.
@@ -1,82 +1,41 @@
1
- # Build Plan — Glow Aesthetics
1
+ # Build Plan — Glow Aesthetics (generic preset, worked sample)
2
2
 
3
- A full lead-to-rebook account for your med spa: a pipeline that follows your own sales stages, the fields and tags to track every lead, a booking calendar, an inquiry form and landing page, and a complete email + text follow-up system that stops the moment a client replies. Below is what GHL Command will build for you automatically, and the short list of things only you can do, in order.
3
+ The same Glow Aesthetics brief run through the **Generic Client** preset (v2.0.0) instead of Med Spa: it shows how the neutral preset fills from a real brief (the client's own six sales stages, one staff member, one calendar) and still ships the full Tier 1 v2 workflow set with complete copy. Brief source: agency_os · schema v0.1. Nothing is built yet.
4
4
 
5
- Generated from the **Generic Client** preset (v1.0.0) · brief source: agency_os · schema v0.1.
6
- This is a plan for your review. Nothing is built yet. Edit anything below, then approve.
5
+ > Validated 2026-08-26: `validate_build_plan` (v2 rules) valid, 138 refs, 0 errors, 0 warnings; `examples/validate-plan.cjs` → valid.
7
6
 
8
7
  ---
9
8
 
10
9
  ## 1. GHL Command will build this automatically (once you approve)
11
10
 
12
- **Pipeline**
13
- - Build pipeline "Glow Aesthetics Pipeline" with 6 stages: New Lead → Contacted → Consult Booked → Showed → Treated → Rebooked.
11
+ **Users (1)** — Dana Reyes (admin): gets every alert and task; on the calendar.
14
12
 
15
- **Custom fields (6)**
16
- - Lead Source (dropdown)
17
- - Service / Product Interest (multi-select: Injectables, Filler, Facials, Laser, Skin Assessment)
18
- - Appointment Date (date)
19
- - Deposit Paid (checkbox)
20
- - Deal Sold (text)
21
- - Estimated Lifetime Value (monetary)
13
+ **Pipeline** "Glow Aesthetics Pipeline" with the 6 stages from the brief: New Lead → Contacted → Consult Booked → Showed → Treated → Rebooked. (The preset's "Appointment Booked" stage ref was mapped to Consult Booked; noted in the plan.)
22
14
 
23
- **Tags (18)**
24
- - Source: source-website, source-instagram, source-facebook, source-google, source-referral, source-other
25
- - Lifecycle: lifecycle-new-lead, contacted, qualified, booked, won, repeat, lapsed, lost
26
- - Interest: interest-injectables, interest-filler, interest-facials, interest-laser
15
+ **Custom fields (6)** — Lead Source, What They Need, Top Concern, Appointment Date, Deal Sold, Estimated Lifetime Value.
27
16
 
28
- **Custom values (1)**
29
- - Booking Link (filled after you connect your calendar — step 2 below)
17
+ **Tags (20)** — 7 source, 9 lifecycle (new-lead, contacted, nurturing, booked, qualified, won, repeat, lapsed, lost), 4 hand-off triggers (nurture-start, winback-start, missed-call, no-show).
30
18
 
31
- **Calendar**
32
- - "Glow Aesthetics Consultation" (round-robin, 30-min slots, 10-min buffer, Mon-Fri 9-5 default — edit hours after build). Needs a staff member assigned — step 1 below.
19
+ **Custom values (4)** — business_name, business_phone, owner_first_name (Dana), booking_link.
33
20
 
34
- **Form**
35
- - "Glow Aesthetics Inquiry": First name, Last name, Email, Phone, plus Service Interest mapped to the custom field.
21
+ **Calendar** — "Consultation" (round-robin) assigned to Dana Reyes.
36
22
 
37
- **Funnel**
38
- - "Glow Aesthetics Funnel": a Landing page (opt-in → the inquiry form) and a Thank You page (booking CTA).
23
+ **Form + funnel** — "Glow Aesthetics Inquiry" and "Glow Aesthetics Funnel" (Landing → form with the A2P consent block; Thank You → booking widget).
39
24
 
40
- **Email + SMS assets**
41
- - 7 emails: Welcome, Nurture 1-3, No-Show Re-offer, Onboarding/Pre-visit, Win-back.
42
- - 4 SMS: Speed-to-lead, Nurture, No-show, Win-back. _(Texts will not send until A2P is approved — step 3 below.)_
25
+ **Message templates (15 emails + 17 texts)** — the generic preset's complete copy with the brief's specifics filled (free skin assessment, the "aging skin" pain point, the "price" objection). The build stage rewrites these further from the brief's voice.
43
26
 
44
- **Workflows (6)**
45
- - "Speed to Lead" — on inquiry → tag, create opportunity at New Lead, send welcome email, alert you, wait 5 min, send a text. _(stops on reply)_
46
- - "Lead Nurture" — over ~8 days for leads who don't book: email, text, email, email, then mark lapsed. _(stops on reply)_
47
- - "No-Show / Reschedule" — on a missed appointment → tag, alert you, re-offer by email + text. _(stops on reply)_
48
- - "New Patient / Client Onboarding" — on a booked appointment → stop the nurture, tag booked, send the pre-visit email.
49
- - "Win-back" — for lapsed clients: email, text, then mark lost. _(stops on reply)_
50
- - "Replied — Stop & Route" — the moment a lead replies → pull them out of nurture/win-back, tag contacted, alert you.
51
-
52
- _Total: 58 objects across 11 types — a full pipeline, 6 fields, 18 tags, a calendar, a form, a funnel, 7 emails, 4 texts, and 6 workflows._
27
+ **Workflows (8)** — Speed to Lead (14 actions, ends with the nurture-start hand-off), Missed Call Text-Back (7), Lead Nurture (30 days) (28 actions, 31 days of waits), Replied - Stop & Route (9), Win-back (30 days) (13 actions, 31 days), Appointment Booked - Confirm & Move (8), Appointment Reminders (5), No-Show Rescue (14). 99 actions, 32 customer touches. All DRAFT until you publish.
53
28
 
54
29
  ---
55
30
 
56
31
  ## 2. You must do these yourself, in this order
57
32
 
58
- 1. **Add yourself (or a provider) as a team member** **YOU-UI**
59
- - What: In Settings > My Staff, add at least one user.
60
- - Why now: the booking calendar can't be assigned to anyone until a staff user exists, and GHL Command can't add users.
61
- - Done when: at least one staff user exists in the account.
62
-
63
- 2. **Connect your calendar (Google / Outlook)** — **YOU-UI**
64
- - What: open the consultation calendar > Connections and authorize Google or Outlook, then copy the booking link.
65
- - Why now: this is a login only you can approve, and it produces the Booking Link the emails and texts use.
66
- - Done when: the calendar shows a connected account and the booking link resolves.
67
-
68
- 3. **Register A2P (so texts can send)** — **YOU-EXT**
69
- - What: submit your A2P brand and campaign in the GHL Trust Center. Save your submission package first.
70
- - Why now: every SMS step is built but stays dark until A2P is approved (7-14 day review).
71
- - Done when: the A2P campaign shows submitted/approved.
72
-
73
- 4. **Connect Stripe (to take payment)** — **YOU-EXT**
74
- - What: connect Stripe in Payments > Integrations and create your products/prices.
75
- - Why now: the landing page is built, but the money connection is yours to authorize.
76
- - Done when: Stripe shows connected and your products exist.
77
-
78
- _Not included (not needed for this build): an email-domain step — your email sending is already set up._
79
-
80
- ---
33
+ 1. **Get a phone number in GoHighLevel** (texts and missed-call text-back wait for it).
34
+ 2. **Confirm your business details** (business_phone, owner_first_name).
35
+ 3. **Connect your calendar (Google / Outlook)** produces the booking link.
36
+ 4. **Assign who takes appointments on the calendar** (the brief did not say "Just me", so Blueprint will not guess).
37
+ 5. **Register A2P 10DLC** → releases the seven SMS-bearing workflows from DRAFT.
38
+ 6. **Design + populate your funnel pages** (A2P consent block mandatory).
39
+ 7. **Connect Stripe** (products / prices).
81
40
 
82
- _v1 stops here. When you approve, the automatic list above is ready for one-shot staging (phase 2). Each manual step is verified before the steps that depend on it run, so nothing is ever wired to something that doesn't exist yet._
41
+ _See [`medspa-approval-view.md`](medspa-approval-view.md) for the full-prose version of each step; the handoff objects in [`sample-build-plan.json`](sample-build-plan.json) carry the exact instruction and success check for each._
@@ -3,11 +3,99 @@
3
3
  "briefId": "sub_abc123",
4
4
  "preset": "med_spa",
5
5
  "briefSource": "agency_os",
6
- "business": { "name": "Glow Aesthetics", "type": "med spa", "website": "glowaesthetics.com", "location": "Scottsdale, AZ", "timezone": "America/Phoenix" },
7
- "offer": { "summary": "Injectables and facials for first-time and returning clients", "pricePoints": [{ "name": "New client consult", "price": "19" }, { "name": "Tox session", "price": "350" }], "leadMagnet": "Free skin assessment", "avgDealValue": "350" },
8
- "audience": { "ideal": "Women 30-55 in N. Scottsdale", "painPoints": ["aging skin", "trust / who to go to"], "objections": ["price", "fear of looking overdone"] },
9
- "goal": { "primary": "book appointments", "salesStages": ["new lead", "contacted", "consult booked", "showed", "treated", "rebooked"], "bookingNeeded": true, "followUpStyle": "high-touch" },
10
- "channels": { "email": true, "sms": true, "a2pStatus": "not started", "payment": "Stripe not connected", "calendarConnected": false, "social": ["instagram", "facebook"] },
11
- "assets": { "existingPipeline": "no", "existingWorkflows": "", "brand": "logo + navy/gold, domain ready", "notes": "" },
12
- "flags": ["needs_a2p", "stripe_not_connected", "calendar_oauth_needed"]
6
+ "business": {
7
+ "name": "Glow Aesthetics",
8
+ "type": "med spa",
9
+ "website": "glowaesthetics.com",
10
+ "location": "Scottsdale, AZ",
11
+ "timezone": "America/Phoenix"
12
+ },
13
+ "offer": {
14
+ "summary": "Injectables and facials for first-time and returning clients",
15
+ "pricePoints": [
16
+ {
17
+ "name": "New client consult",
18
+ "price": "19"
19
+ },
20
+ {
21
+ "name": "Tox session",
22
+ "price": "350"
23
+ }
24
+ ],
25
+ "leadMagnet": "Free skin assessment",
26
+ "avgDealValue": "350"
27
+ },
28
+ "audience": {
29
+ "ideal": "Women 30-55 in N. Scottsdale",
30
+ "painPoints": [
31
+ "aging skin",
32
+ "trust / who to go to"
33
+ ],
34
+ "objections": [
35
+ "price",
36
+ "fear of looking overdone"
37
+ ]
38
+ },
39
+ "goal": {
40
+ "primary": "book appointments",
41
+ "salesStages": [
42
+ "new lead",
43
+ "contacted",
44
+ "consult booked",
45
+ "showed",
46
+ "treated",
47
+ "rebooked"
48
+ ],
49
+ "bookingNeeded": true,
50
+ "followUpStyle": "high-touch"
51
+ },
52
+ "channels": {
53
+ "email": true,
54
+ "sms": true,
55
+ "a2pStatus": "not started",
56
+ "payment": "Stripe not connected",
57
+ "calendarConnected": false,
58
+ "social": [
59
+ "instagram",
60
+ "facebook"
61
+ ],
62
+ "hasPhoneNumber": "no"
63
+ },
64
+ "assets": {
65
+ "existingPipeline": "no",
66
+ "existingWorkflows": "",
67
+ "brand": "logo + navy/gold, domain ready",
68
+ "notes": ""
69
+ },
70
+ "flags": [
71
+ "needs_a2p",
72
+ "stripe_not_connected",
73
+ "calendar_oauth_needed",
74
+ "phone_number_needed"
75
+ ],
76
+ "team": {
77
+ "staff": [
78
+ {
79
+ "name": "Dana Reyes",
80
+ "email": "dana@example.com",
81
+ "role": "Owner",
82
+ "mobile": "555-010-0100"
83
+ }
84
+ ],
85
+ "notifyName": "Dana Reyes",
86
+ "callsName": "the owner"
87
+ },
88
+ "calendars": [
89
+ {
90
+ "name": "Consultation",
91
+ "type": "round_robin",
92
+ "staffNames": [
93
+ "the owner"
94
+ ]
95
+ }
96
+ ],
97
+ "voice": {
98
+ "threeWords": "warm, direct, unhurried",
99
+ "signatureLine": "You will never look overdone here."
100
+ }
13
101
  }