Sales Operational Playbooks

Status
in-flight
Tier
Tier 1 — Operating business
Owner
Ryan Colston
Started
2026-05-16

One-line description. The operational SOP book agents follow for every part of the sales job — captured by structured recording sessions with Ry, stored as checklists in the rylobasic monorepo, and rendered as an interactive decision tree at handbook.rycolston.com/playbook/ for coaching.

Why

When coaching agents there was no source of truth for "what is the exact sequence of steps for this part of the job." The existing Sales-Team-Playbook.md is curriculum (the why and the what); this project is the operational layer — ordered, branchable checklists an agent or a new hire can execute without interpretation. New and existing agents alike work off the same spine.

The capture method is deliberately two-pass: pass 1 gets every step out as a bare checklist (no scripts, no purpose, no failure notes); pass 2 enriches later. "Get the information out first, organize later." Recording is Ry talking through a real workflow while Claude captures, reads back, and asks "then what?" + outcomes — never reorganizing the spine mid-capture.

Current state

System captured: "New Consultation Scheduled" — two tracks: - ISA-Initiated (ISA schedules the consult; booking is ISA-owned, upstream, out of scope) — recorded. - Agent-Initiated (agent schedules the consult themselves) — not started; gets its own entry SOP.

Pass-1 SOPs recorded & merged to main (ISA-Initiated track): 1. New Consultation Scheduled (was "New Lead Intake") — 01-new-lead-intake.md 2. Intro Call Protocol — 02-intro-call-protocol.md 3. Pre-Appointment Protocol — 03-pre-appointment-protocol.md 4. Appointment Confirmation Protocol — 04-appointment-confirmation-protocol.md 5. No-Show Path — no-show-path.md 6. Cancelled Appointment Protocol — cancelled-appointment-protocol.md 7. Long-Term Nurture Sequence — long-term-nurture-sequence.md 8. Do Not Contact (true terminal) — do-not-contact.md

Every SOP has a mandatory ## When to run this gate (+ explicit "Do NOT run this if…") and a mandatory ## Outcomes block. No dead-ends — every outcome routes to a recorded SOP, the deferred consult, or a true terminal.

Glossary (load-bearing): scheduled / set = appointment on the calendar, not yet held. Booked = the consult HELD and the seller SIGNED the representation agreement (the conversion). Never conflate.

Deferred: The Listing Consult — intentionally NOT interview-captured. Agents do it differently; Ry will shadow his best agent on a live consult and author it from observed reality. It is the system's convergence/payoff SOP; "→ The Listing Consult" outcomes are parked on this decision, not dead-ends.

Interactive decision tree — SHIPPED 2026-05-17 (MR !109). Live and gated at https://handbook.rycolston.com/playbook/. Self-contained pan/zoom flowchart of the ISA-Initiated track; click any node → side panel with that SOP's full checklist + Outcomes, rendered at build time from the real _recording/ markdown (content never duplicated). Color by state (recorded green / deferred grey / referenced amber / terminal red); loop-back edges dashed. Inherits the existing app-scoped Cloudflare Access gating — no registry.yaml/sync_access.py change. Code: domains/handbook-rycolston-com/build_playbook.py (+ wired into build.py, linked from admin landing, +5 tests).

Next 3 actions

  1. First, post-restart: run a real Playwright pass on the live gated https://handbook.rycolston.com/playbook/ (not the build artifact) — click nodes, open panels, dark mode, verify the Cloudflare Access sign-in lands on the page. playwright-personal MCP is now global (2026-05-17); its --storage-state profile may already hold the Access cookie. See reference_mcp_servers.
  2. Record ISA Lead Qualification Protocol (likely the true upstream entry of the ISA track — may reframe where SOP #1 begins) and Agent Lead Qualification Protocol.
  3. Open the Agent-Initiated track entry SOP. (Also pending: The Listing Consult — shadow best agent on a live consult, then author it.)

SOP Decision-Tree Visual — SHIPPED 2026-05-17

Built, merged (MR !109), deployed, and verified live + gated at https://handbook.rycolston.com/playbook/.

Decisions log

Open issues

References

Commit discipline (repo CI)

Commits to rylobasic must be conventional (docs(sales-playbook): …) with NO Co-Authored-By / "Generated with Claude Code" line — repo CI commit-message-lint hard-rejects bot attribution. Per completed SOP: branch off origin/main in the worktree → commit → push to agent-sop-recordingglab mr createglab mr merge --auto-merge. Never run git in the shared ~/rylobasic tree.