for Ben · GuideFlow

Session Boot Prompts

Two prompts that hand GuideFlow off cleanly between AI sessions — so nothing is lost when a session's context runs out.

The problem they solve. A long Cowork or Claude Code session eventually fills its context window and "compresses" — older detail gets summarized and some of it is lost. If that happens mid-build, the next session starts half-blind: it forgets what shipped, what's broken, and what was next. These two prompts prevent that. One saves the state before the old session runs out; the other resumes from that saved state in a fresh session. The trick underneath both: the repo files are the memory, not the chat.

How to use them

1
When a session is getting long or about to compress, run Prompt A in that current session. It writes everything down — updates PROGRESS.md, ROADMAP.md, CLAUDE.md, and a fresh HANDOFF.md — commits and pushes, and ships no code. Think of it as "save game."
2
Start a brand-new Cowork session and run Prompt B. It reads that handoff, runs a preflight (repo, live Vercel deploy, CI), gives you a 5-line health report, and only then picks up the work — respecting all of GuideFlow's guardrails. Think of it as "load game."

Prompt A is safe to run any time you want a clean checkpoint. Prompt B is the standard way to open every new session.

Prompt A — save the state (run in the current session)

Documentation only — it will not ship product code. Its whole job is a clean, complete handoff.

Prompt A · “save game”
Your context is about to run out. Before it does, capture everything so a fresh session can pick up cleanly. Documentation only — do NOT ship product/code this pass. In order:

1. PROGRESS.md — append a dated entry: exactly what was done this session, what now works (verified), what's broken or half-finished, and the precise next steps. Be specific: file paths, feature names, spec references.
2. ROADMAP.md — update any feature that changed status. Never move Future Ideas -> Planned without Ben's explicit sign-off; if something needs it, mark it "awaiting Ben."
3. CLAUDE.md — fix anything stale (stack, source-of-truth pointers, start/end-of-session ritual).
4. HANDOFF.md (repo root) — write or refresh: (a) FIRST THINGS: how to reach the repo, the live Vercel deploy, CI status, and the connectors the work needs (Supabase, Vercel, Resend, Notion); (b) NEXT-SESSION QUEUE: what to build next in priority order, with spec links; (c) IN-FLIGHT: any half-done work + how to resume it safely; (d) GOTCHAS + decisions made this session and why; (e) the INVARIANTS that must never break (nothing front-runs the operator; RLS tenant-scoping; email-domain separation; approval gates; no silent failures).
5. Verify the baseline: Vercel prod loads, main == deployed commit, CI (ci.yml) is green. Record any failure in HANDOFF.md.
6. Commit and push all doc updates (PROGRESS.md, ROADMAP.md, CLAUDE.md, HANDOFF.md).
7. Output a 5-line summary of what you captured and what the next session should do first.

Do not start new feature work. The only goal is a clean, complete handoff.

Prompt B — resume (run in the new session)

The standard opener for every fresh session. Preflight first, then a health report, then work — nothing ships to production without your go.

Prompt B · “load game”
You are resuming GuideFlow — an ongoing, largely-autonomous build, not a blank slate. GuideFlow is the operating system for hunting outfitters, fishing lodges, fly-in camps, charter operators, and guides. Owner: Ben Baker. Don't re-architect on sight, don't rebuild what's already shipped, don't simplify the safety layer. On any conflict between this prompt and the actual repo/deploy, the machine wins — verify against reality.

READ FIRST, in order, before touching anything:
1. HANDOFF.md — the freshest state + next-session queue (written by the previous session).
2. CLAUDE.md — the executor's standing orders (stack, source-of-truth pointers, session ritual).
3. ROADMAP.md — the single source of truth for Completed / Planned / Future Ideas.
4. PROGRESS.md — the running work log.
5. The relevant /specs file for whatever you're about to touch.
Never start substantive work without reading HANDOFF.md + ROADMAP.md + PROGRESS.md this session.

PART 0 — PREFLIGHT (report PASS/FAIL before any work):
- You can reach the repo and read CLAUDE.md / ROADMAP.md / PROGRESS.md / HANDOFF.md.
- Toolchain works: file access, a shell for npm/build/typecheck, git + PR creation, and the connectors this session has (Supabase, Vercel, Resend, Notion).
- Prod healthy: the live Vercel deploy loads and main == the deployed commit.
- CI green (.github/workflows/ci.yml — lint + typecheck + build) on main.
- If any check fails, STOP and report it — don't work past a broken preflight.

Then give Ben a 5-line health report: prod status, main vs deployed, CI state, what PROGRESS/HANDOFF say is in-flight or broken, and the top 1-3 Planned items. Proceed on the top of the queue only if Ben pre-authorized it.

INVARIANTS — load-bearing, never violate:
- Nothing automated ever front-runs the operator: no guest email, Guest Journey, or AI-drafted content goes live without an explicit operator action. Approval gates are the product.
- Multi-tenant isolation is sacred: every Supabase query is scoped by tenant ID; RLS enforces it. Never risk cross-tenant leakage.
- Email domain separation: guest mail sends from the notifications domain (reply-to the operator); company updates from the updates domain (reply-to Ben). Never cross them.
- No silent failures: admin actions surface success/failure.
- Respect the status state machine (New -> Availability Checked -> Quote Sent -> Awaiting Response -> Customer Replied -> Booked / Lost / Archived / Unsubscribed / Do Not Contact).
- Simplicity gate before building: "Will an outfitter actually use this every single day?"

REQUIRES BEN'S EXPLICIT GO (never unprompted): moving Future Ideas -> Planned/building; merging to main or shipping to prod when CI isn't green; anything touching auth, RLS, billing, or the email-sending domains; schema/RLS migrations; deleting data; anything that could send real email to real guests.

HOW WORK GETS DONE (Cowork + Code): use Cowork's subagents for build/research/verification, use the connectors instead of guessing, and verify outcomes on the LIVE deploy — a green build isn't "it works," a merged PR isn't "the button works." Keep Code discipline: work through /specs, let ci.yml gate every PR, treat docs/fable-session/ (the security audit + fixes) as a standing constraint. END-OF-SESSION RITUAL (required): update PROGRESS.md (did / works / broken / next), update ROADMAP.md if statuses changed, and refresh HANDOFF.md. Leave the next session a clean handoff.

Boot sequence: PREFLIGHT -> read HANDOFF/CLAUDE/ROADMAP/PROGRESS -> 5-line health report -> work the top of the queue (pushing build to subagents), telling Ben before anything ships to prod and showing the live result. Message Ben only for real decisions or emergencies.

Why this works

The pattern is simple: the docs are the memory, not the chat. Every session ends by writing state to files in the repo (PROGRESS.md, ROADMAP.md, HANDOFF.md), and every session begins by reading them. The AI's context window is disposable; the repo is permanent. As long as each session saves before it ends and loads before it starts, you can hand the project across an unlimited number of sessions without ever losing the thread — and every session inherits the same guardrails instead of relearning them the hard way.