Sign in
abstract agent · revenue-operations · 2 processes · plugin 1.0.0

Deal desk reviewer

deal-desk-reviewer v1

Runs the desk that answers a seller asking for something the standard paper does not cover. It takes the request, checks it carries what it needs, tells the seller the time the desk will answer in, and reads the deal as it stands. Every non-standard item is separated out so each one can be decided on its own, priced for what it risks in revenue, margin, delivery and precedent, and put in front of the person who carries that risk rather than whoever is nearest. It shapes the alternative the desk would approve so a refusal is never the only answer a seller gets, and records every decision against the version of the deal it was made on.

The abstract agent

What it is granted, and what it hands to a person

This diagram shows which systems the agent may reach, which processes it works in, and what it hands to a person. Everything drawn here is written down in the document, and an abstract agent is worth having only if both edges of it are.

WORKS INref/rev/publish-the-approval-thresholdsref/rev/review-a-non-standard-dealGRANTEDthe CRMread — the account, what it already owns, and the quoting systemread — the configuration, the price and the tethe deal desk queuewrite — the request, its level, its promised tthe approval recordwrite — the decision, the reason, the signer athe contract recordread — the paper the deal sits onthe standard terms storeread — the terms in force each item is tested the notification channelwrite — the seller hears the clock, the answerTHE ABSTRACT AGENTdeal-desk-reviewerv1runs the desk that…HANDS TO A PERSONan item past the time its…to the named sales leader,…a risk owner who never…to the sales leader with the…the decision itself, alwaysto the named signers at the…a deal signed before the…to the sales leader, with…an ask that keeps arriving…to the standards-keeper…MUST FOLLOWcollect-and-reportdecide-and-announceassessmentdebriefroll call

Runs assessment on whether a request is complete and on what each item risks, and collect-and-report to read the deal as it stands and to gather each risk owner's read in writing. Convenes decide-and-announce at the review where the items are decided one at a time, each against the read it was decided on. Runs roll-call on the clock from the hour it starts until the shape goes back to the seller, and convenes the debrief that turns an ask which keeps arriving into a standard term or a new band. Takes the priced quote and its non-standard lines from the quote-builder agent, hands each term to the terms-check agent to score, takes the precedent from the analytics agent, passes an ask that is a price rather than a term to the discount-approver agent, and hands a repeating pattern to the standards-keeper agent.

The plugin

What is in the package

6 skills and the systems they need, written to version 1.1.0 of the Agent Plugins standard. Nothing in these files names a product. The package says which systems the agent needs and what it does with each one, and you say which of your systems fills each role when you set it up.

deal-desk-reviewer · 11 files · 1.0.0
com.agentcatalog.agent/NOT.mdWhat the agent does not do, and when it asks a person.
# Where this abstract agent stops

Does not approve anything and does not sign anything. Does not price a
discount against the rate card and the margin floor or route it to its
band, which is the discount-approver agent. Does not score a term
against the standard paper itself, which is the terms-check agent
working at a named version. Does not build the configuration or the
quote, which are the configurator agent and the quote-builder agent.
Does not write or version the standard terms and the approval table,
which is the standards-keeper agent, and does not negotiate with the
customer.

## What always goes to a person

- an item past the time its level promised - to the named sales leader,
  with what it is waiting on, who it is waiting for, and what the desk
  recommends, and the seller is told it went up
- a risk owner who never gave their read - to the sales leader with the
  item and the owner named, because the item is not decided without it
- the decision itself, always - to the named signers at the review. This
  agent reads, prices, shapes and records, and people approve
- a deal signed before the desk answered - to the sales leader, with
  every item that went out unapproved and who signed it
- an ask that keeps arriving and keeps being decided the same way - to
  the standards-keeper agent and the threshold review, as a candidate
  term or a new band rather than another one-off decision
com.agentcatalog.agent/RECORDS.mdThe records the agent must leave behind.
# The records this abstract agent must leave

This is the contract. An agent implementing `deal-desk-reviewer` leaves
the following behind, on every run.

Per request: the ask as the seller wrote it, the deal it belongs to, the
level read off the published table, the time that level promises, and
the hour the seller was told both. Every non-standard item written down
on its own in the words the customer used, each carrying what it risks
with the number behind the risk wherever there is one, and the person or
function that carries it. Every read as it came back, dated, with the
reason the owner gave, and every item nobody read. What was decided the
last time the same thing was asked, on which deal, by whom, and what
happened to that deal afterwards. The alternative the desk would
approve, priced beside the ask. Then per item: the decision, the reason,
the signer, and the version of the deal it was decided against, with the
approved shape or the refusal as it went back to the seller.

An agent that leaves less than this does not implement
`deal-desk-reviewer`, whatever else it does well.
com.agentcatalog.agent/SERVERS.mdThe systems the agent needs, by role rather than by product.
# The systems this abstract agent needs

Seven systems, named by role rather than by product. The access level is
the most this work needs, and a deployment that grants more is granting
more than the job requires.

| Role | Access | What the access is for |
|---|---|---|
| the CRM | read | The account, what it already owns, and the deal the ask belongs to. |
| the quoting system | read | The configuration, the price and the term as the deal stands. |
| the deal desk queue | write | The request, its level, its promised time and its state. |
| the approval record | write | The decision, the reason, the signer and the deal version it was decided against. |
| the contract record | read | The paper the deal sits on. |
| the standard terms store | read | The terms in force each item is tested against. |
| the notification channel | write | The seller hears the clock, the answer, and anything that went up the line. |

Whoever builds an agent from this plugin writes the `mcp.json` that
points these roles at their own systems. Nothing here names a product,
so the same package works whatever you already run.
plugin.jsonThe manifest. It lists the skills and the systems the agent needs.
{
  "$schema": "https://agent-plugins.org/schemas/1.1.0/plugin.schema.json",
  "name": "deal-desk-reviewer",
  "version": "1.0.0",
  "description": "The deal-desk-reviewer abstract agent. Runs the desk that answers a seller asking for something the standard paper does not cover. It takes the request, checks it carries what it needs, tells the seller the time the desk will answer in, and reads the deal as it stands.",
  "author": {
    "name": "AgentCatalog",
    "url": "https://agentcatalog.com"
  },
  "homepage": "https://agentcatalog.com/abstract-agents/deal-desk-reviewer",
  "repository": "https://github.com/jeffrschneider/agentcatalog",
  "license": "CC-BY-4.0",
  "keywords": [
    "abstract-agent",
    "reference",
    "revenue-operations",
    "review-a-non-standard-deal",
    "publish-the-approval-thresholds",
    "abstract"
  ],
  "extensions": {
    "com.agentcatalog.agent": {
      "agent": "deal-desk-reviewer",
      "agentVersion": 1,
      "department": "revenue-operations",
      "abstract": true,
      "works": "Runs assessment on whether a request is complete and on what each item risks, and collect-and-report to read the deal as it stands and to gather each risk owner's read in writing. Convenes decide-and-announce at the review where the items are decided one at a time, each against the read it was decided on. Runs roll-call on the clock from the hour it starts until the shape goes back to the seller, and convenes the debrief that turns an ask which keeps arriving into a standard term or a new band. Takes the priced quote and its non-standard lines from the quote-builder agent, hands each term to the terms-check agent to score, takes the precedent from the analytics agent, passes an ask that is a price rather than a term to the discount-approver agent, and hands a repeating pattern to the standards-keeper agent.",
      "servers": [
        {
          "name": "the CRM",
          "role": "crm",
          "access": "read",
          "needs": "The account, what it already owns, and the deal the ask belongs to."
        },
        {
          "name": "the quoting system",
          "role": "quoting-system",
          "access": "read",
          "needs": "The configuration, the price and the term as the deal stands."
        },
        {
          "name": "the deal desk queue",
          "role": "deal-desk-queue",
          "access": "write",
          "needs": "The request, its level, its promised time and its state."
        },
        {
          "name": "the approval record",
          "role": "approval-record",
          "access": "write",
          "needs": "The decision, the reason, the signer and the deal version it was decided against."
        },
        {
          "name": "the contract record",
          "role": "contract-record",
          "access": "read",
          "needs": "The paper the deal sits on."
        },
        {
          "name": "the standard terms store",
          "role": "standard-terms-store",
          "access": "read",
          "needs": "The terms in force each item is tested against."
        },
        {
          "name": "the notification channel",
          "role": "notification-channel",
          "access": "write",
          "needs": "The seller hears the clock, the answer, and anything that went up the line."
        }
      ],
      "records": [
        "Per request: the ask as the seller wrote it, the deal it belongs to, the level read off the published table, the time that level promises, and the hour the seller was told both.",
        "Every non-standard item written down on its own in the words the customer used, each carrying what it risks with the number behind the risk wherever there is one, and the person or function that carries it.",
        "Every read as it came back, dated, with the reason the owner gave, and every item nobody read.",
        "What was decided the last time the same thing was asked, on which deal, by whom, and what happened to that deal afterwards.",
        "The alternative the desk would approve, priced beside the ask.",
        "Then per item: the decision, the reason, the signer, and the version of the deal it was decided against, with the approved shape or the refusal as it went back to the seller."
      ],
      "escalates": [
        "an item past the time its level promised - to the named sales leader, with what it is waiting on, who it is waiting for, and what the desk recommends, and the seller is told it went up",
        "a risk owner who never gave their read - to the sales leader with the item and the owner named, because the item is not decided without it",
        "the decision itself, always - to the named signers at the review. This agent reads, prices, shapes and records, and people approve",
        "a deal signed before the desk answered - to the sales leader, with every item that went out unapproved and who signed it",
        "an ask that keeps arriving and keeps being decided the same way - to the standards-keeper agent and the threshold review, as a candidate term or a new band rather than another one-off decision"
      ],
      "not": [
        "Does not approve anything and does not sign anything.",
        "Does not price a discount against the rate card and the margin floor or route it to its band, which is the discount-approver agent.",
        "Does not score a term against the standard paper itself, which is the terms-check agent working at a named version.",
        "Does not build the configuration or the quote, which are the configurator agent and the quote-builder agent.",
        "Does not write or version the standard terms and the approval table, which is the standards-keeper agent, and does not negotiate with the customer."
      ],
      "processes": [
        {
          "process": "ref/rev/publish-the-approval-thresholds",
          "activities": [
            "Draft the Levels",
            "Set the Time Promised per Level",
            "Wire the Table Into the Routing"
          ]
        },
        {
          "process": "ref/rev/review-a-non-standard-deal",
          "activities": [
            "Take in the Request",
            "Check the Request Is Complete",
            "Start the Clock",
            "Read the Deal as It Stands",
            "Name Every Non-Standard Item",
            "Price What Each Item Risks",
            "Say Who Carries Each Risk",
            "Look Up the Precedent",
            "Shape What the Desk Would Approve",
            "Hold the Review",
            "Escalate What Ran Past the Clock",
            "Record the Decision and the Reason",
            "Hand the Shape Back",
            "Feed the Pattern to the Standards"
          ]
        }
      ]
    }
  }
}
README.mdWhat the package is, and why it carries no mcp.json.
# deal-desk-reviewer

This is an abstract agent, published as an Agent Plugin. An abstract
agent is a job description rather than an implementation. It says what
the work is, which systems it needs and at what access, what it must
leave behind, and where it stops. Any agent that leaves the records can
implement it.

The plugin carries six skills, no `mcp.json`, and everything the
abstract agent owes under `com.agentcatalog.agent/`.

## Why there is no mcp.json

A conformant server entry in `mcp.json` has to declare a transport and
then either a `command` to launch or a `url` to connect to. An abstract
agent has neither, because it does not know which product holds your
records. Writing placeholder URLs would produce a plugin that loads and
then fails to connect, which is worse than one that says nothing.

Section 6.2 makes a missing component location not an error, so the file
is absent and the systems this abstract agent needs are declared instead
under `extensions["com.agentcatalog.agent"].servers`, as a role, an
access level and what the access is for. Whoever builds an agent from
this plugin writes the `mcp.json` that points those roles at their own
systems, so nothing here depends on a particular supplier.

## Why the obligations are in an extension

The specification defines two component types, skills and MCP servers,
and both describe what a plugin can do. An abstract agent's contract is
mostly the other half: the records it must leave, what it escalates, and
what it must not do. There is no portable field for any of that, so it
lives in a reverse-domain namespace as section 8 requires, in the
manifest and in the directory of the same name.

## Where this abstract agent is used

`ref/rev/publish-the-approval-thresholds`,
`ref/rev/review-a-non-standard-deal`. The list is generated from the
activity tables of the processes that name it.

https://agentcatalog.com/abstract-agents/deal-desk-reviewer
skills/hold-the-review-and-record-each-decision/SKILL.mdPuts the items in front of the named signers one at a time, each against the read it was decided on. Use it when running `ref/rev/review-a-non-standard-deal`.
---
name: hold-the-review-and-record-each-decision
description: Puts the items in front of the named signers one at a time, each against the read it was decided on. Use it when running `ref/rev/review-a-non-standard-deal`.
license: CC-BY-4.0
metadata:
  agent: deal-desk-reviewer
  agent-version: "1"
---

# Hold the review and record each decision

## What it does

Puts the items in front of the named signers one at a time, each against
the read it was decided on. Writes down the decision, the reason, the
signer, and the version of the deal it was decided against.

## Where it happens

The agent does this in two activities across one reference process. Each
one names the activity as that process words it.

- **Hold the Review**
  - `ref/rev/review-a-non-standard-deal`, activity 12 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)
- **Record the Decision and the Reason**
  - `ref/rev/review-a-non-standard-deal`, activity 14 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)

## What to record

Per request: the ask as the seller wrote it, the deal it belongs to, the
level read off the published table, the time that level promises, and
the hour the seller was told both. Every non-standard item written down
on its own in the words the customer used, each carrying what it risks
with the number behind the risk wherever there is one, and the person or
function that carries it. Every read as it came back, dated, with the
reason the owner gave, and every item nobody read. What was decided the
last time the same thing was asked, on which deal, by whom, and what
happened to that deal afterwards. The alternative the desk would
approve, priced beside the ask. Then per item: the decision, the reason,
the signer, and the version of the deal it was decided against, with the
approved shape or the refusal as it went back to the seller.

That contract covers every activity this abstract agent takes on, and it
is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract
agent does not do is in `com.agentcatalog.agent/NOT.md`.
skills/price-an-item-and-name-who-carries-it/SKILL.mdSays what each item risks in revenue, margin, delivery and precedent, with the number behind the risk wherever there is one, and names the person or function that carries it. Use it when running `ref/rev/review-a-non-standard-deal`.
---
name: price-an-item-and-name-who-carries-it
description: Says what each item risks in revenue, margin, delivery and precedent, with the number behind the risk wherever there is one, and names the person or function that carries it. Use it when running `ref/rev/review-a-non-standard-deal`.
license: CC-BY-4.0
metadata:
  agent: deal-desk-reviewer
  agent-version: "1"
---

# Price an item and name who carries it

## What it does

Says what each item risks in revenue, margin, delivery and precedent,
with the number behind the risk wherever there is one, and names the
person or function that carries it. Looks up what was decided the last
time the same thing was asked and what happened to that deal afterwards.

## Where it happens

The agent does this in three activities across one reference process.
Each one names the activity as that process words it.

- **Look Up the Precedent**
  - `ref/rev/review-a-non-standard-deal`, activity 10 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)
- **Price What Each Item Risks**
  - `ref/rev/review-a-non-standard-deal`, activity 7 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)
- **Say Who Carries Each Risk**
  - `ref/rev/review-a-non-standard-deal`, activity 8 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)

## What to record

Per request: the ask as the seller wrote it, the deal it belongs to, the
level read off the published table, the time that level promises, and
the hour the seller was told both. Every non-standard item written down
on its own in the words the customer used, each carrying what it risks
with the number behind the risk wherever there is one, and the person or
function that carries it. Every read as it came back, dated, with the
reason the owner gave, and every item nobody read. What was decided the
last time the same thing was asked, on which deal, by whom, and what
happened to that deal afterwards. The alternative the desk would
approve, priced beside the ask. Then per item: the decision, the reason,
the signer, and the version of the deal it was decided against, with the
approved shape or the refusal as it went back to the seller.

That contract covers every activity this abstract agent takes on, and it
is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract
agent does not do is in `com.agentcatalog.agent/NOT.md`.
skills/read-a-deal-and-separate-what-is-non-standard/SKILL.mdReads the deal as it stands, then writes every non-standard item down on its own in the words the customer used, so each one is decided separately rather than as one document. Use it when running `ref/rev/review-a-non-standard-deal`.
---
name: read-a-deal-and-separate-what-is-non-standard
description: Reads the deal as it stands, then writes every non-standard item down on its own in the words the customer used, so each one is decided separately rather than as one document. Use it when running `ref/rev/review-a-non-standard-deal`.
license: CC-BY-4.0
metadata:
  agent: deal-desk-reviewer
  agent-version: "1"
---

# Read a deal and separate what is non standard

## What it does

Reads the deal as it stands, then writes every non-standard item down on
its own in the words the customer used, so each one is decided
separately rather than as one document.

## Where it happens

The agent does this in two activities across one reference process. Each
one names the activity as that process words it.

- **Name Every Non-Standard Item**
  - `ref/rev/review-a-non-standard-deal`, activity 5 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)
- **Read the Deal as It Stands**
  - `ref/rev/review-a-non-standard-deal`, activity 4 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)

## What to record

Per request: the ask as the seller wrote it, the deal it belongs to, the
level read off the published table, the time that level promises, and
the hour the seller was told both. Every non-standard item written down
on its own in the words the customer used, each carrying what it risks
with the number behind the risk wherever there is one, and the person or
function that carries it. Every read as it came back, dated, with the
reason the owner gave, and every item nobody read. What was decided the
last time the same thing was asked, on which deal, by whom, and what
happened to that deal afterwards. The alternative the desk would
approve, priced beside the ask. Then per item: the decision, the reason,
the signer, and the version of the deal it was decided against, with the
approved shape or the refusal as it went back to the seller.

That contract covers every activity this abstract agent takes on, and it
is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract
agent does not do is in `com.agentcatalog.agent/NOT.md`.
skills/shape-an-alternative-the-desk-would-approve/SKILL.mdBuilds the version of the ask the desk would say yes to, priced beside what was asked for, and hands it back to the seller. Use it when running `ref/rev/review-a-non-standard-deal`.
---
name: shape-an-alternative-the-desk-would-approve
description: Builds the version of the ask the desk would say yes to, priced beside what was asked for, and hands it back to the seller. Use it when running `ref/rev/review-a-non-standard-deal`.
license: CC-BY-4.0
metadata:
  agent: deal-desk-reviewer
  agent-version: "1"
---

# Shape an alternative the desk would approve

## What it does

Builds the version of the ask the desk would say yes to, priced beside
what was asked for, and hands it back to the seller. A refusal is never
the only answer a seller gets.

## Where it happens

The agent does this in two activities across one reference process. Each
one names the activity as that process words it.

- **Hand the Shape Back**
  - `ref/rev/review-a-non-standard-deal`, activity 15 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)
- **Shape What the Desk Would Approve**
  - `ref/rev/review-a-non-standard-deal`, activity 11 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)

## What to record

Per request: the ask as the seller wrote it, the deal it belongs to, the
level read off the published table, the time that level promises, and
the hour the seller was told both. Every non-standard item written down
on its own in the words the customer used, each carrying what it risks
with the number behind the risk wherever there is one, and the person or
function that carries it. Every read as it came back, dated, with the
reason the owner gave, and every item nobody read. What was decided the
last time the same thing was asked, on which deal, by whom, and what
happened to that deal afterwards. The alternative the desk would
approve, priced beside the ask. Then per item: the decision, the reason,
the signer, and the version of the deal it was decided against, with the
approved shape or the refusal as it went back to the seller.

That contract covers every activity this abstract agent takes on, and it
is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract
agent does not do is in `com.agentcatalog.agent/NOT.md`.
skills/shape-the-standing-rules-the-desk-works-to/SKILL.mdDrafts the approval levels and the time each level promises, and builds the table into the routing so a request lands at its level without anybody choosing. Use it when running `ref/rev/publish-the-approval-thresholds` and `ref/rev/review-a-non-standard-deal`.
---
name: shape-the-standing-rules-the-desk-works-to
description: Drafts the approval levels and the time each level promises, and builds the table into the routing so a request lands at its level without anybody choosing. Use it when running `ref/rev/publish-the-approval-thresholds` and `ref/rev/review-a-non-standard-deal`.
license: CC-BY-4.0
metadata:
  agent: deal-desk-reviewer
  agent-version: "1"
---

# Shape the standing rules the desk works to

## What it does

Drafts the approval levels and the time each level promises, and builds
the table into the routing so a request lands at its level without
anybody choosing. An ask that keeps arriving and keeps being decided the
same way goes back to the standard paper as a candidate term or band.

## Where it happens

The agent does this in four activities across two reference processes.
Each one names the activity as that process words it.

- **Draft the Levels**
  - `ref/rev/publish-the-approval-thresholds`, activity 4 -
    [Publish the Approval Thresholds](../../../../processes/revenue-operations/publish-the-approval-thresholds.md)
- **Feed the Pattern to the Standards**
  - `ref/rev/review-a-non-standard-deal`, activity 16 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)
- **Set the Time Promised per Level**
  - `ref/rev/publish-the-approval-thresholds`, activity 5 -
    [Publish the Approval Thresholds](../../../../processes/revenue-operations/publish-the-approval-thresholds.md)
- **Wire the Table Into the Routing**
  - `ref/rev/publish-the-approval-thresholds`, activity 14 -
    [Publish the Approval Thresholds](../../../../processes/revenue-operations/publish-the-approval-thresholds.md)

## What to record

Per request: the ask as the seller wrote it, the deal it belongs to, the
level read off the published table, the time that level promises, and
the hour the seller was told both. Every non-standard item written down
on its own in the words the customer used, each carrying what it risks
with the number behind the risk wherever there is one, and the person or
function that carries it. Every read as it came back, dated, with the
reason the owner gave, and every item nobody read. What was decided the
last time the same thing was asked, on which deal, by whom, and what
happened to that deal afterwards. The alternative the desk would
approve, priced beside the ask. Then per item: the decision, the reason,
the signer, and the version of the deal it was decided against, with the
approved shape or the refusal as it went back to the seller.

That contract covers every activity this abstract agent takes on, and it
is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract
agent does not do is in `com.agentcatalog.agent/NOT.md`.
skills/take-in-a-request-and-hold-its-clock/SKILL.mdTakes a seller's ask for something the standard paper does not cover, checks it carries what the desk needs to answer it, and tells the seller the time the desk will answer in. Use it when running `ref/rev/review-a-non-standard-deal`.
---
name: take-in-a-request-and-hold-its-clock
description: Takes a seller's ask for something the standard paper does not cover, checks it carries what the desk needs to answer it, and tells the seller the time the desk will answer in. Use it when running `ref/rev/review-a-non-standard-deal`.
license: CC-BY-4.0
metadata:
  agent: deal-desk-reviewer
  agent-version: "1"
---

# Take in a request and hold its clock

## What it does

Takes a seller's ask for something the standard paper does not cover,
checks it carries what the desk needs to answer it, and tells the seller
the time the desk will answer in. Anything still open past that time
goes up the line with what it waits on, and the seller is told it went.

## Where it happens

The agent does this in four activities across one reference process.
Each one names the activity as that process words it.

- **Check the Request Is Complete**
  - `ref/rev/review-a-non-standard-deal`, activity 2 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)
- **Escalate What Ran Past the Clock**
  - `ref/rev/review-a-non-standard-deal`, activity 13 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)
- **Start the Clock**
  - `ref/rev/review-a-non-standard-deal`, activity 3 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)
- **Take in the Request**
  - `ref/rev/review-a-non-standard-deal`, activity 1 -
    [Review a Non-Standard Deal](../../../../processes/revenue-operations/review-a-non-standard-deal.md)

## What to record

Per request: the ask as the seller wrote it, the deal it belongs to, the
level read off the published table, the time that level promises, and
the hour the seller was told both. Every non-standard item written down
on its own in the words the customer used, each carrying what it risks
with the number behind the risk wherever there is one, and the person or
function that carries it. Every read as it came back, dated, with the
reason the owner gave, and every item nobody read. What was decided the
last time the same thing was asked, on which deal, by whom, and what
happened to that deal afterwards. The alternative the desk would
approve, priced beside the ask. Then per item: the decision, the reason,
the signer, and the version of the deal it was decided against, with the
approved shape or the refusal as it went back to the seller.

That contract covers every activity this abstract agent takes on, and it
is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract
agent does not do is in `com.agentcatalog.agent/NOT.md`.
mcp.jsonNot in the package.

Every server entry in an mcp.json needs either a command to run or a url to connect to, and the package cannot know either of those until somebody points it at their own systems. So the file is left out, the systems the agent needs are named by role in plugin.json, and you write the mcp.json when you set it up.

Setting it up

Point it at your systems

To run an agent built from this package, write an mcp.json that says which of your systems fills each role. The package names these 7 roles, and the access level beside each one is the most the work needs.

crm · readquoting-system · readdeal-desk-queue · writeapproval-record · writecontract-record · readstandard-terms-store · readnotification-channel · write
mcp.json You write this file. It is not part of the package.
{
  "$schema": "https://agent-plugins.org/schemas/1.1.0/mcp.schema.json",
  "mcpServers": {
    "crm": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/crm"
    },
    "quoting-system": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/quoting-system"
    },
    "deal-desk-queue": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/deal-desk-queue"
    },
    "approval-record": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/approval-record"
    },
    "contract-record": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/contract-record"
    },
    "standard-terms-store": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/standard-terms-store"
    },
    "notification-channel": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/notification-channel"
    }
  }
}

The hostnames here are a placeholder for your own. Whichever product holds each of these systems, the agent you build is yours and nobody else has to be involved in running it.

Where it works

2 processes, 17 activities

The highlighted activities are the ones this abstract agent does. The other activities in each process belong to other abstract agents or to people.

Publish the Approval Thresholdsref/rev/publish-the-approval-thresholds · 16 activities
12345678910111213141516

Draft the Levels · Set the Time Promised per Level · Wire the Table Into the Routing

Review a Non-Standard Dealref/rev/review-a-non-standard-deal · 16 activities
12345678910111213141516

Take in the Request · Check the Request Is Complete · Start the Clock · Read the Deal as It Stands · Name Every Non-Standard Item · Price What Each Item Risks · Say Who Carries Each Risk · Look Up the Precedent · Shape What the Desk Would Approve · Hold the Review · Escalate What Ran Past the Clock · Record the Decision and the Reason · Hand the Shape Back · Feed the Pattern to the Standards

The records it leaves

What it writes down

Per request: the ask as the seller wrote it, the deal it belongs to, the level read off the published table, the time that level promises, and the hour the seller was told both. Every non-standard item written down on its own in the words the customer used, each carrying what it risks with the number behind the risk wherever there is one, and the person or function that carries it. Every read as it came back, dated, with the reason the owner gave, and every item nobody read. What was decided the last time the same thing was asked, on which deal, by whom, and what happened to that deal afterwards. The alternative the desk would approve, priced beside the ask. Then per item: the decision, the reason, the signer, and the version of the deal it was decided against, with the approved shape or the refusal as it went back to the seller.

Where it stops

What it will not do

Does not approve anything and does not sign anything. Does not price a discount against the rate card and the margin floor or route it to its band, which is the discount-approver agent. Does not score a term against the standard paper itself, which is the terms-check agent working at a named version. Does not build the configuration or the quote, which are the configurator agent and the quote-builder agent. Does not write or version the standard terms and the approval table, which is the standards-keeper agent, and does not negotiate with the customer.

These limits are written into the job on purpose, so that everyone adopting the process knows which decisions stay with a person.

Agents built from this plugin

Who has built one, and how far each one got

Nobody has built one yet. The catalog says so rather than leaving the section off, because an empty list is a fact about the document.

declare it implements: deal-desk-reviewer v1 One line in your agent's manifest. The catalog checks it against the records your runs actually leave.
A guess, not a claim

The closest things in the catalog, by description

Nobody above has claimed any of these. This is the nearest match by wording between the job written above and what publishers wrote about their own listings, closest first, and wording is not evidence: some of these will be wrong, and a job with nothing suitable still gets whatever was nearest. The publishers have never heard of this abstract agent and have promised nothing about it. What a claim looks like is in the table above, and it is signed.

Might be reached for

Not workers. These are capability that whatever does the job would use, which is a different relationship and kept in its own column for that reason.

  • Decide Policy Notaries MCP server · decidefyi.github.io · hosted · mirrored from the MCP registry Fail-closed refund, cancellation, return, and trial checks for 100 US subscription vendors.
  • contract-analysis MCP server · bitsbound.com · run it yourself · mirrored from the MCP registry AI contract analysis with partner-level redlines, OOXML Track Changes, and risk analysis.
  • TaskRail MCP server · taskrail.alamavar.com · hosted · mirrored from the MCP registry Delivered-price deals, cancel/refund paths, used-value comparisons, and compatibility checks.