Client Onboarding
Run the full onboarding playbook for a new client. This runbook orchestrates three phases of work: intelligence gathering (parallel deep research across company, competitors, founders, SEO, AEO, paid ads, industry, and GTM), synthesis of all research into a Client Intelligence Pa
6 steps · start to finish.
- 1Step 1
Environment Setup
▶Validate inputs and create the client folder structure before beginning any research.
echo "=== CLIENT ONBOARDING SETUP ===" # Required inputs if [ -z "${COMPANY_NAME}" ]; then echo "ERROR: COMPANY_NAME is not set"; exit 1; fi if [ -z "${COMPANY_URL}" ]; then echo "ERROR: COMPANY_URL is not set"; exit 1; fi CLIENT_SLUG=$(echo "$COMPANY_NAME" | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | tr -cd '[:alnum:]-') CLIENT_DIR="clients/${CLIENT_SLUG}" mkdir -p "${CLIENT_DIR}/intelligence" mkdir -p "${CLIENT_DIR}/strategies" mkdir -p "${CLIENT_DIR}/campaigns" mkdir -p "${CLIENT_DIR}/leads" mkdir -p "${CLIENT_DIR}/content" # Initialize running notes echo "# ${COMPANY_NAME} — Notes" > "${CLIENT_DIR}/notes.md" echo "Onboarding started: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "${CLIENT_DIR}/notes.md" echo "URL: ${COMPANY_URL}" >> "${CLIENT_DIR}/notes.md" mkdir -p /app/results echo "Setup complete. Client dir: ${CLIENT_DIR}"Expected folder structure after setup:
clients/<client-name>/ ├── context.md # Populated during research ├── notes.md # Running log (initialized above) ├── intelligence/ # Phase 1 outputs ├── strategies/ ├── campaigns/ ├── leads/ └── content/ - 2Step 2
Phase 1 — Intelligence Gathering (max 8 parallel tasks)
▶Run all eight research tasks. Groups A and B may run in parallel with each other; tasks within each group may also run in parallel.
- 3Step 3
Phase 2 — Synthesis & Diagnosis
▶> **Human Checkpoint**: Review the Intelligence Package for accuracy before generating strategies.
- 4Step 4
Phase 3 — Strategy Generation (max 3 rounds)
▶> **Human Checkpoint**: Review strategies with client before implementation.
- 5Step 5
Iterate on Errors (max 3 rounds)
▶If any Phase 1 research output is missing or incomplete:
- 6Step 6
Final Checklist
▶echo "=== FINAL OUTPUT VERIFICATION ===" CLIENT_DIR="clients/${CLIENT_SLUG}"