ALAI Client Onboarding — Runbook
ALAI Client Onboarding — Runbook
Purpose:Version: Fast, actionable command sequence for taking a new client from first contact to Sprint 1. This is the operational runbook; the full 7-phase process with RACI, gates, and templates lives in ~/ALAI/processes/client-onboarding.md.0
Audience:Created: 2026-07-28
Owner: John (primary),AI Director) / Alem Basic (approvals)CEO)
Source process: processes/client-onboarding.md, BizDev/PO/Tech Lead agents (delegated phases)processes/quick-ref/client-onboarding-quickref.md
Primary skill:Tooling: /onboard-client (~/.claude/skills/onboard-client/SKILL.md)
Last updated: 2026-07-28
Before You Start — Check State
Never assume a client is new. Check first:
,# Already a contact? NODE_PATH=~/system/node_modulesnode ~/system/tools/contacts.onboard-client.jssearchSkill"<name>" # Already in the sales pipeline? NODE_PATH=~/system/node_modules node ~/system/tools/sales-pipeline.js list # Already has a project scaffold? ls ~/projects/ | grep -i "<name>"onboard-client
Client already exists → ask Alem which phase they're stuck in, resume from there.No match → start at Phase 1.
1. Purpose
Every new ALAI client goes through 7 mandatory phases before development starts. No phase is skipped. Each phase has an owner, a required output, and a gate condition that must be true before moving to the next phase.
2. The 7 Phases
Phase 1: First Contact -> gate: qualified lead
Phase 2: Discovery -> gate: brief approved by client
Phase 3: NDA -> gate: NDA signed
Phase 4: Proposal -> gate: proposal accepted
Phase 5: Contract -> gate: contract signed + first payment
Phase 6: Project Setup -> gate: project scaffolded + kick-off done
Phase 7: Development Start -> SDLC pipeline takes over (gateprocesses/sdlc/)
before advancing — never skip)
| # | Phase | Owner | Timeline | Gate |
|---|---|---|---|---|
| 1 | First Contact | BizDev | Respond within 24h | Lead qualified, discovery call |
| 2 | Discovery | BA + PO | 1-3 days | Project |
| 3 | NDA | John | 1 day | NDA signed by both |
| 4 | Proposal | PO + Tech Lead | 3-5 days | Client |
| 5 | Contract | John | 2-3 |
Contract signed both sides + first payment received (if milestone-based) |
| 6 | Project Setup | John + |
1 day | Project scaffolded, kick-off held, backlog |
| 7 | Development Start | Ongoing | N/A — SDLC |
3. Phase Detail
Phase 1 — First Contact
NODE_PATH=~/system/node_modules
node- Client
~/system/tools/sales-pipeline.jsreaches addout "<name>"(email, "<email>"referral, "<source>"direct)
"<description>"- Record:
NODE_PATH=~/system/node_modulesname, nodecompany, ~/system/tools/contacts.jscontact, addhow "<name>"they "<email>"found us
- Quick qualification check: is budget/scope/timeline realistic?
- Qualified -
-company> "<company>"schedule Discovery Call. Not qualified --type> clientpolite --notesdecline "Newwith lead:referral <description>"if
possible.
~/ALAI/clients/<CLIENT>/intake/first-contact.md, lead status set qualified/not qualifiedPhase 2 — Discovery
Write
- Discovery call/meeting with client
- Understand: problem, goals, users, budget, timeline
- Define project type (web app, mobile app, API, landing page, etc.) and
acandidate10-sectiontechstackproject-brief.md - Write the Project Brief (client info, problem, proposed solution, users, platforms,
keytop 5-10 features, integrations, budget range, timeline, success metrics). - Output:
,NODE_PATH=~clients/<CLIENT>/system/node_modulesintake/discovery-notes.mdnodeclients/<CLIENT>/intake/project-brief.md
discovery-notes.mdPhase 3 — NDA
- Fill NDA template (
)NODE_PATH=~/system/node_moduleslegal/nda-template.mdnodewith~/system/tools/docusign.jsclientcreatedetails - Send
ndato--fieldclientCLIENT_NAME="<name>"for--field CLIENT_EMAIL="<email>"Mandatory:sendsignature via Documenso (skill:)/send-for-signing - Store
Neversignedsendcopy - Output:
signingclients/<CLIENT>/legal/nda-signed.mddocument+manually.signed PDF - Hard rule: technical details and access credentials are NOT shared before NDA is signed.
Phase 4 — Proposal
10
- Based
ExecutiveonSummary,ProjectScopeBrief, define: scope ofWork,work,TechtechStack,stackPhases & Milestones, Timeline, Pricingdecision (25%withMVA if NOK)rationale),Paymentphases/milestones,Schedule, Out of Scope, Assumptions, Validity.CEO gate — non-negotiable:show Alem scope +timeline, pricing+ timeline and get an(fixed/hourly/milestone), explicit"GO"/"SEND"in-scopebeforevsitout-of-scope,goesassumptions, validity period - Review by John, then present to
theclient - Output:
Neverclients/<CLIENT>/intake/proposal.md
NODE_PATH=~/system/node_modules node ~/system/tools/sales-pipeline.js advance <lead-id> "Proposal sent, awaiting response"
Phase 5 — Contract
- Fill Contract template (
):NODE_PATH=~/system/node_moduleslegal/contract-template.mdnodescope~/system/tools/docusign.jsfromcreateproposal,"<CLIENT>"paymentcontractterms,--fieldIPCLIENT_NAME="<name>"ownership,#warranties - IP ownership must be
decidedexplicitlyin the contractdecided (client owns allpost-payment/ ALAI retainsframework-framework+tooling / license). - Send for review and signature
- Receive first payment if milestone-based
- Output:
~clients/<CLIENT>/ALAI/processes/client-onboarding.legal/contract-signed.mdPhase+5.signed PDF
Phase 6 — Project Setup
- Scaffold client directory:
NODE_PATH=~mkdir -p clients/<CLIENT>/system/node_modules node ~/system/tools/onboard-client.js new "<slug>" "<email>" "<source>" "<value>" "<description>" # or scaffold only: bash ~/system/template/scaffold.sh "<ProjectName>"{intake,legal,docs,src,designs,tests,comms/channels/standups,comms/meetings,comms/decisions,deployments} - Create
project.json(name, type, description, tech_stack, platforms, team, phases, budget, timeline) - Kick-off
agenda:meeting:scopeclientreview,+ PO + Tech Lead + John — cover scope/milestones, communication channels,access/access & credentials, sprint cadence, escalation path. Notes→->clients/<CLIENT>/comms/meetings/kick-off.md. - PO creates initial backlog from scope, prioritized (MoSCoW or numeric)
- Output: scaffolded directory,
project.json, kick-off notes, initial backlog
Phase 7 — Development Start
NODE_PATH=~/system/node_modules
node ~/system/tools/sales-pipeline.js advance <lead-id> "Contract signed, project started" --approved
node ~/system/tools/mc.js add "<CLIENT>: - Sprint
1Planning planning"(first --prioritysprint)
H- Tasks
--routeassigned backendto agents per RACI
- SDLC pipeline (
processes/sdlc/
) takes over
comms/channels/standups/4. Client Directory Structure (created in Phase 6)
Full standard: ~/ALAI/processes/client-document-structure.md
~/ALAI/clients/<CLIENT>/
├── intake/
(│ ├── first-contact,contact.md
│ ├── discovery-notes,notes.md
│ ├── project-brief,brief.md
proposal,│ ├── proposal.md
│ ├── client-materials/, <- everything client provides, with README index
│ └── correspondence/)
├── legal/
(│ ├── drafts/,
│ └── signed/)
├── docs/ (specs/, research/){specs,research}/
├── designs/
├── src/
├── tests/
├── comms/ ({channels/standups/, meetings/, decisions/)standups,meetings,decisions}/
├── deployments/
└── project.json
Hard5. RulesRACI
| Activity | BizDev | BA | PO | Tech Lead | SM | John | Alem |
|---|---|---|---|---|---|---|---|
| First Contact | R | I | I | - | - | A | I |
| Discovery | C | R | R | C | - | A | I |
| NDA | - | - | - | - | - | R/A | I |
| Proposal | - | C | R | R | - | A | A |
| Contract | - | - | - | - | - | R | A |
| Project Setup | - | - | I | C | R | R/A | I |
| Kick-off | - | C | R | R | R | A | I |
R = Responsible, A = Accountable, C = Consulted, I = Informed
6. Automation Hooks
PhasesNoviareleadnever->skippedcreates—clients/<CLIENT>/intake/+ notifies BizDev- Brief approved -> triggers NDA
beforetemplateProposal, always.fill AlemNDAapprovessignedevery-> triggers Proposaland Contract(ZAKON #2) — pricing never goes out without explicit sign-off.creationPipelineProposaladvanceaccepted=->gatetriggerspassed,Contractnot "probably done."fillTestContractsigningsigneddocs->firsttriggers—ProjecteverySetupdocument to signature goes to [email protected] before the client copy.scaffoldNeverKick-offfabricatedonecontact details— no email/org number on file → ask Alem, don't guess.WON stage requires->--approvedflag onsales-pipeline.project-workflow.jsadvanceinit— enforced by the tool.All NOK invoices carry 25% MVA—invoice-generator.jsadds it automatically; verify the total.ALAI brandingon every client-facing document, email, and invoice.
Status
Guided Checksend-to-end
execution:NODE_PATH=~/system/node_modules node ~/system/tools/sales-pipeline.js show <lead-id> NODE_PATH=~/system/node_modulesnode ~/system/tools/onboard-client.jstimelineor"<Skillonboard-client>"NODE_PATH=~/system/node_modules(7-phasenodeinteractive~/system/tools/unified-crm.jsworkflow).client "<client>"
References7. Hard Rules
FullMandatory for every client, no exceptions.- NDA before any technical detail is shared.
- Alem approves every contract and every proposal (Accountable).
- Pricing decided by Alem — team prepares options, does not set the number.
- Cloud/tenant resources for this client go in the client's own tenant tree (
~/clients-external/<client>/), never mixed with another tenant.
8. Related Documents
- processes/client-onboarding.md — full source process
- processes/quick-ref/client-onboarding-quickref.md
phase—detail):1-page version - processes/client-document-structure.md
- processes/sdlc/ — what happens after Phase 7
- ALAI-CLIENT-INVOICE-CYCLE.md — billing once client is active
- ALAI-CLIENT-INCIDENT-RESPONSE.md — support once client is live
Document Location: ~/ALAI/processes/
client-onboarding.runbooks/ALAI-CLIENT-ONBOARDING.md
~/.claude/skills/onboard-client/SKILL.md~/ALAI/processes/client-document-structure.md