Sales process

Generic B2B pipeline on DataPool opportunities: stages, quality gates, DoD for won / ready for Delivery.

Document information
FieldValue
Canonical URL/docs/07_ai-agents-and-mcp/model_skills/20_sales/sales-process
Version (published date)2026-08-26
Tagsai, skills, sales, datapool, playbooks

Kind

Sequential procedure.

Depends on

tenant-data-model. Optional: crm-field-mapping.

Prerequisites

idquestionsearchif_missing_or_ambiguousdefault_to_proposebinds_to
opportunities_schemaDataPool opportunities schematenant-data-modelImport it firstopportunitiesTenant SKILL.md

Import contract

FieldValue
suggested_skill_idsales-process
version1.0.0
capabilities.toolsdescribe_datapool_table, query_datapool, insert_datapool_rows, update_datapool_rows, request_human_input
Paired model agentwon-opportunity-handover-watcher

Procedure (generic B2B)

Stages: discoveryproposalnegotiationwon or lost.

StageQuality gate to exit
discoveryProblem, economic buyer (or named blocker), and next step recorded in next_gate
proposalScope and commercial outline exist (amount set, or next_gate explains why amount is TBD)
negotiationRemaining objections listed in next_gate or cleared
wonstage=won; close_date set; then sales-to-delivery-handover
loststage=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"]
  }
}

See also