Sales process
Generic B2B pipeline on DataPool opportunities: stages, quality gates, DoD for won / ready for Delivery.
Document information
| Field | Value |
|---|---|
| Canonical URL | /docs/07_ai-agents-and-mcp/model_skills/20_sales/sales-process |
| Version (published date) | 2026-08-26 |
| Tags | ai, skills, sales, datapool, playbooks |
Kind
Sequential procedure.
Depends on
tenant-data-model. Optional: crm-field-mapping.
Prerequisites
| id | question | search | if_missing_or_ambiguous | default_to_propose | binds_to |
|---|---|---|---|---|---|
opportunities_schema | DataPool opportunities schema | tenant-data-model | Import it first | opportunities | Tenant SKILL.md |
Import contract
| Field | Value |
|---|---|
suggested_skill_id | sales-process |
version | 1.0.0 |
capabilities.tools | describe_datapool_table, query_datapool, insert_datapool_rows, update_datapool_rows, request_human_input |
| Paired model agent | won-opportunity-handover-watcher |
Procedure (generic B2B)
Stages: discovery → proposal → negotiation → won or lost.
| Stage | Quality gate to exit |
|---|---|
| discovery | Problem, economic buyer (or named blocker), and next step recorded in next_gate |
| proposal | Scope and commercial outline exist (amount set, or next_gate explains why amount is TBD) |
| negotiation | Remaining objections listed in next_gate or cleared |
| won | stage=won; close_date set; then sales-to-delivery-handover |
| lost | stage=lost; lost_reason required |
DoD — ready for Delivery: stage=won and handover playbook completed (handovers.status=accepted for kind=sales_to_delivery). Winning in CRM only is not DoD.
Tenant SKILL.md (copy this body)
# Sales process
Operate opportunities in DataPool schema `{{opportunities_schema}}`. Load `datapool` and tenant skill `tenant-data-model`.
## Sequence
1. `describe_datapool_table` then `query_datapool`.
2. Advance one stage at a time. Do not skip gates.
3. Keep `next_gate` equal to the unmet exit criterion, or clear it when the gate passes.
4. On `won`, do not start delivery work in this skill. Run `sales-to-delivery-handover`.
5. On `lost`, require `lost_reason`.
## Stop
- Do not invent amount or close date.
- Do not mark won to bypass a gate.
- Do not write CRM-native stage names into `stage` unless they were mapped at import.
Optional skill.json
{
"name": "sales-process",
"version": "1.0.0",
"description": "Sales stages, quality gates, and DoD on DataPool opportunities.",
"capabilities": {
"prompt": ["One stage at a time. Won requires handover to Delivery."],
"resources": [],
"tools": ["describe_datapool_table", "query_datapool", "insert_datapool_rows", "update_datapool_rows", "request_human_input"]
}
}