Deal inspector
deal-inspector v1Tests what a deal is really resting on, against the record rather than against the seller's confidence. It pulls the deal's own history, names who signs and who can stop it, looks for the customer's words rather than the champion's, checks the money exists and belongs to somebody, and walks every step still owed before the close date. Each claim comes out marked evidenced, asserted or absent, and the gaps go to the owner to answer out loud. It says what is missing and never fills it in.
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.
Runs collect-and-report to pull the deal record with every change and its author, to name who won a lost deal, and to write the clause decisions other deals read. Runs assessment to mark every claim, to classify a loss against the reason list, to read a stated loss reason against what the deal looked like on the way through, and to mark what a partner brought or whether a partner introduced the customer against the standard the partner process sets. Convenes the assessment where the findings are put to the owner, and the ones where committed and best case deals are walked in the forecast call. Sits in the decide-and-announce where the loss date and the actions are agreed. Runs roll-call over the actions it left behind and over the basis a committed number rests on, and sits in the joint check-in where a partner and the account team read the same plan on a cadence. Takes the activity read from the analytics agent and the date test from the forecaster agent, and sends its findings ahead of the call so the room argues instead of catching up.
What is in the package
12 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.
# Where this abstract agent stops Does not write stage, amount or close date. Those belong to the deal owner, and an inspection that edited them would be inspecting itself. Does not set a category: a named person says committed, best case or neither, and this agent records it with the reason. Does not convert an assertion into evidence, and does not accept evidence that lives only in the conversation. Does not recompute the roll-up it reads, which arrives published from operations. Does not stop the open work on a lost deal or return the buyer's material: that is the close-plan-keeper agent with the signature-manager agent and the legal reviewer. ## What always goes to a person - a deal with no customer words anywhere in the record, into the finding and into the category that follows, marked as resting on assertion whatever the owner's confidence - a close date the remaining steps do not fit, to the sales manager, who either shortens the steps with the person who agreed named, or moves the date - a buying group with nobody who can sign, into the actions with a date, and the deal is not eligible for committed until it closes - an owner who will not attend, to the manager before the category is set, with the questions that went unanswered named - a no that came from somebody who did not take part in the decision, back to the signal, before anything is closed - a stated loss reason the deal record contradicts, to the sales leader, with both versions kept readable
# The records this abstract agent must leave
This is the contract. An agent implementing `deal-inspector` leaves the
following behind, on every run.
Per inspection: the deal record with every change to stage, amount and
date carrying its author. The buying group, each named person marked met
or unmet. What the customer said, dated and quoted, and every place the
record holds nothing. The budget, the approver, and whether the money is
committed elsewhere. Who else is in it and what would have to be true to
win. Every remaining step with its owner and the time it takes, and
whether they fit before the close date or by how much they miss. Every
claim marked evidenced, asserted or absent, with the record and the date
behind each evidenced one. The one or two things that decide the deal.
The owner's answers as given, the actions with owners and dates, and the
category with who set it and their reason. Per loss: the signal, who
confirmed the decision, the loss date, the buyer's own words kept beside
one reason code, the winner or the decision to do nothing, any
contradiction between the stated reason and the record, and the
follow-up date with what would have to change.
An agent that leaves less than this does not implement `deal-inspector`,
whatever else it does well.
# The systems this abstract agent needs
Nine 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 stage, the amount and the close date as they stand, with every change and who made it. |
| the call record | read | The customer's own words, quoted rather than summarized. |
| the activity record | read | Who was met, how recently, and by whom. |
| the contract system | read | The steps a signature still has to pass. |
| the inspection record | write | The findings at a version, dated. |
| the clause record | write | What was decided last time the same change came up. |
| the loss record | write | The reason code, the buyer's words, the winner and the follow-up date. |
| the partner deal register | read | What a partner claimed, when, and the evidence they brought for it. |
| the notification channel | write | The people who worked a deal hear the outcome from us first. |
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.
{
"$schema": "https://agent-plugins.org/schemas/1.1.0/plugin.schema.json",
"name": "deal-inspector",
"version": "1.0.0",
"description": "The deal-inspector abstract agent. Tests what a deal is really resting on, against the record rather than against the seller's confidence.",
"author": {
"name": "AgentCatalog",
"url": "https://agentcatalog.com"
},
"homepage": "https://agentcatalog.com/abstract-agents/deal-inspector",
"repository": "https://github.com/jeffrschneider/agentcatalog",
"license": "CC-BY-4.0",
"keywords": [
"abstract-agent",
"reference",
"sales",
"inspect-a-deal",
"record-a-lost-deal",
"run-the-forecast-call",
"abstract"
],
"extensions": {
"com.agentcatalog.agent": {
"agent": "deal-inspector",
"agentVersion": 1,
"department": "sales",
"abstract": true,
"works": "Runs collect-and-report to pull the deal record with every change and its author, to name who won a lost deal, and to write the clause decisions other deals read. Runs assessment to mark every claim, to classify a loss against the reason list, to read a stated loss reason against what the deal looked like on the way through, and to mark what a partner brought or whether a partner introduced the customer against the standard the partner process sets. Convenes the assessment where the findings are put to the owner, and the ones where committed and best case deals are walked in the forecast call. Sits in the decide-and-announce where the loss date and the actions are agreed. Runs roll-call over the actions it left behind and over the basis a committed number rests on, and sits in the joint check-in where a partner and the account team read the same plan on a cadence. Takes the activity read from the analytics agent and the date test from the forecaster agent, and sends its findings ahead of the call so the room argues instead of catching up.",
"servers": [
{
"name": "the CRM",
"role": "crm",
"access": "read",
"needs": "The stage, the amount and the close date as they stand, with every change and who made it."
},
{
"name": "the call record",
"role": "call-record",
"access": "read",
"needs": "The customer's own words, quoted rather than summarized."
},
{
"name": "the activity record",
"role": "activity-record",
"access": "read",
"needs": "Who was met, how recently, and by whom."
},
{
"name": "the contract system",
"role": "contract-system",
"access": "read",
"needs": "The steps a signature still has to pass."
},
{
"name": "the inspection record",
"role": "inspection-record",
"access": "write",
"needs": "The findings at a version, dated."
},
{
"name": "the clause record",
"role": "clause-record",
"access": "write",
"needs": "What was decided last time the same change came up."
},
{
"name": "the loss record",
"role": "loss-record",
"access": "write",
"needs": "The reason code, the buyer's words, the winner and the follow-up date."
},
{
"name": "the partner deal register",
"role": "partner-deal-register",
"access": "read",
"needs": "What a partner claimed, when, and the evidence they brought for it."
},
{
"name": "the notification channel",
"role": "notification-channel",
"access": "write",
"needs": "The people who worked a deal hear the outcome from us first."
}
],
"records": [
"Per inspection: the deal record with every change to stage, amount and date carrying its author.",
"The buying group, each named person marked met or unmet.",
"What the customer said, dated and quoted, and every place the record holds nothing.",
"The budget, the approver, and whether the money is committed elsewhere.",
"Who else is in it and what would have to be true to win.",
"Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss.",
"Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one.",
"The one or two things that decide the deal.",
"The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason.",
"Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change."
],
"escalates": [
"a deal with no customer words anywhere in the record, into the finding and into the category that follows, marked as resting on assertion whatever the owner's confidence",
"a close date the remaining steps do not fit, to the sales manager, who either shortens the steps with the person who agreed named, or moves the date",
"a buying group with nobody who can sign, into the actions with a date, and the deal is not eligible for committed until it closes",
"an owner who will not attend, to the manager before the category is set, with the questions that went unanswered named",
"a no that came from somebody who did not take part in the decision, back to the signal, before anything is closed",
"a stated loss reason the deal record contradicts, to the sales leader, with both versions kept readable"
],
"not": [
"Does not write stage, amount or close date.",
"Those belong to the deal owner, and an inspection that edited them would be inspecting itself.",
"Does not set a category: a named person says committed, best case or neither, and this agent records it with the reason.",
"Does not convert an assertion into evidence, and does not accept evidence that lives only in the conversation.",
"Does not recompute the roll-up it reads, which arrives published from operations.",
"Does not stop the open work on a lost deal or return the buyer's material: that is the close-plan-keeper agent with the signature-manager agent and the legal reviewer."
],
"processes": [
{
"process": "ref/prt/register-a-deal",
"activities": [
"Read What the Partner Brought"
]
},
{
"process": "ref/prt/resolve-a-channel-conflict",
"activities": [
"Test Who Brought the Customer"
]
},
{
"process": "ref/prt/run-a-co-sell",
"activities": [
"Hold the Joint Check-In"
]
},
{
"process": "ref/sls/commit-the-number",
"activities": [
"Test What the Gap Rests On",
"Watch It Through the Period"
]
},
{
"process": "ref/sls/inspect-a-deal",
"activities": [
"Take in the Deal",
"Pull the Deal Record",
"Name the Buying Group",
"Test What the Customer Said",
"Check the Money Is Real",
"Read the Competitive Position",
"Walk the Steps to Signature",
"Test the Close Date",
"Mark Each Claim",
"Name What the Deal Rests On",
"Put the Findings to the Owner",
"Say Where the Deal Stands",
"Record the Inspection"
]
},
{
"process": "ref/sls/record-a-lost-deal",
"activities": [
"Take in the Signal",
"Confirm the Decision Is Real",
"Set the Loss Date",
"Classify the Loss",
"Name Who Won",
"Check the Deal Against the Record",
"Set the Follow-Up Date",
"Tell the People Who Worked It",
"Close the Record",
"Feed the Loss into the Review"
]
},
{
"process": "ref/sls/review-the-redlines",
"activities": [
"Check Against Prior Decisions",
"Log the Clause Decisions"
]
},
{
"process": "ref/sls/run-the-close-plan",
"activities": [
"Report the Plan",
"Close the Plan on the Record"
]
},
{
"process": "ref/sls/run-the-forecast-call",
"activities": [
"Flag the Deals the Call Will Walk",
"Send the Inspections Ahead",
"Walk the Committed Deals",
"Walk the Best Case"
]
}
]
}
}
}
# deal-inspector 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 twelve 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/prt/register-a-deal`, `ref/prt/resolve-a-channel-conflict`, `ref/prt/run-a-co-sell`, `ref/sls/commit-the-number`, `ref/sls/inspect-a-deal`, `ref/sls/record-a-lost-deal`, and 3 more. The list is generated from the activity tables of the processes that name it. https://agentcatalog.com/abstract-agents/deal-inspector
--- name: close-a-lost-deal-out description: Sets the date to come back and what would have to change by then, tells the people who worked the deal before they hear it somewhere else, closes the record, and feeds the loss into the review that reads them together. Use it when running `ref/sls/record-a-lost-deal`. license: CC-BY-4.0 metadata: agent: deal-inspector agent-version: "1" --- # Close a lost deal out ## What it does Sets the date to come back and what would have to change by then, tells the people who worked the deal before they hear it somewhere else, closes the record, and feeds the loss into the review that reads them together. ## Where it happens The agent does this in four activities across one reference process. Each one names the activity as that process words it. - **Close the Record** - `ref/sls/record-a-lost-deal`, activity 13 - [Record a Lost Deal](../../../../processes/sales/record-a-lost-deal.md) - **Feed the Loss into the Review** - `ref/sls/record-a-lost-deal`, activity 14 - [Record a Lost Deal](../../../../processes/sales/record-a-lost-deal.md) - **Set the Follow-Up Date** - `ref/sls/record-a-lost-deal`, activity 11 - [Record a Lost Deal](../../../../processes/sales/record-a-lost-deal.md) - **Tell the People Who Worked It** - `ref/sls/record-a-lost-deal`, activity 12 - [Record a Lost Deal](../../../../processes/sales/record-a-lost-deal.md) ## What to record Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change. 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`.
--- name: establish-a-loss description: Takes in the signal that a deal is lost, confirms the decision came from somebody who took part in it, sets the loss date, classifies it against the reason list, and names who won. Use it when running `ref/sls/record-a-lost-deal`. license: CC-BY-4.0 metadata: agent: deal-inspector agent-version: "1" --- # Establish a loss ## What it does Takes in the signal that a deal is lost, confirms the decision came from somebody who took part in it, sets the loss date, classifies it against the reason list, and names who won. Reads the stated reason against what the deal looked like on the way through, and keeps both versions when they disagree. ## Where it happens The agent does this in six activities across one reference process. Each one names the activity as that process words it. - **Check the Deal Against the Record** - `ref/sls/record-a-lost-deal`, activity 8 - [Record a Lost Deal](../../../../processes/sales/record-a-lost-deal.md) - **Classify the Loss** - `ref/sls/record-a-lost-deal`, activity 6 - [Record a Lost Deal](../../../../processes/sales/record-a-lost-deal.md) - **Confirm the Decision Is Real** - `ref/sls/record-a-lost-deal`, activity 2 - [Record a Lost Deal](../../../../processes/sales/record-a-lost-deal.md) - **Name Who Won** - `ref/sls/record-a-lost-deal`, activity 7 - [Record a Lost Deal](../../../../processes/sales/record-a-lost-deal.md) - **Set the Loss Date** - `ref/sls/record-a-lost-deal`, activity 4 - [Record a Lost Deal](../../../../processes/sales/record-a-lost-deal.md) - **Take in the Signal** - `ref/sls/record-a-lost-deal`, activity 1 - [Record a Lost Deal](../../../../processes/sales/record-a-lost-deal.md) ## What to record Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change. 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`.
--- name: keep-the-clause-decisions-other-deals-read description: Checks a proposed change to the paper against what was decided the last time the same change came up, and writes the decision down so the next deal reads it rather than arguing it again. Use it when running `ref/sls/review-the-redlines`. license: CC-BY-4.0 metadata: agent: deal-inspector agent-version: "1" --- # Keep the clause decisions other deals read ## What it does Checks a proposed change to the paper against what was decided the last time the same change came up, and writes the decision down so the next deal reads it rather than arguing it again. ## Where it happens The agent does this in two activities across one reference process. Each one names the activity as that process words it. - **Check Against Prior Decisions** - `ref/sls/review-the-redlines`, activity 5 - [Review the Redlines](../../../../processes/sales/review-the-redlines.md) - **Log the Clause Decisions** - `ref/sls/review-the-redlines`, activity 15 - [Review the Redlines](../../../../processes/sales/review-the-redlines.md) ## What to record Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change. 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`.
--- name: mark-the-claims-and-put-them-to-the-owner description: Marks every claim evidenced, asserted or absent, names the one or two things that actually decide the deal, and puts the gaps to the owner to answer out loud. Use it when running `ref/sls/inspect-a-deal`. license: CC-BY-4.0 metadata: agent: deal-inspector agent-version: "1" --- # Mark the claims and put them to the owner ## What it does Marks every claim evidenced, asserted or absent, names the one or two things that actually decide the deal, and puts the gaps to the owner to answer out loud. Records where the deal stands with the person who said so and the reason they gave. ## Where it happens The agent does this in five activities across one reference process. Each one names the activity as that process words it. - **Mark Each Claim** - `ref/sls/inspect-a-deal`, activity 10 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) - **Name What the Deal Rests On** - `ref/sls/inspect-a-deal`, activity 11 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) - **Put the Findings to the Owner** - `ref/sls/inspect-a-deal`, activity 12 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) - **Record the Inspection** - `ref/sls/inspect-a-deal`, activity 15 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) - **Say Where the Deal Stands** - `ref/sls/inspect-a-deal`, activity 14 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) ## What to record Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change. 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`.
--- name: read-the-joint-plan-with-a-partner description: Sits in the check-in where a partner and the account team read the same plan on a cadence, so both sides work from one version of where the deal stands. Use it when running `ref/prt/run-a-co-sell`. license: CC-BY-4.0 metadata: agent: deal-inspector agent-version: "1" --- # Read the joint plan with a partner ## What it does Sits in the check-in where a partner and the account team read the same plan on a cadence, so both sides work from one version of where the deal stands. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Hold the Joint Check-In** - `ref/prt/run-a-co-sell`, activity 14 - [Run a Co-Sell](../../../../processes/partners/run-a-co-sell.md) ## What to record Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change. 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`.
--- name: report-a-close-plan-against-the-record description: Reports a close plan against what the record shows, and closes it on the record when the steps are done or given up, so a plan does not stay open on paper after the deal has moved on. Use it when running `ref/sls/run-the-close-plan`. license: CC-BY-4.0 metadata: agent: deal-inspector agent-version: "1" --- # Report a close plan against the record ## What it does Reports a close plan against what the record shows, and closes it on the record when the steps are done or given up, so a plan does not stay open on paper after the deal has moved on. ## Where it happens The agent does this in two activities across one reference process. Each one names the activity as that process words it. - **Close the Plan on the Record** - `ref/sls/run-the-close-plan`, activity 16 - [Run the Close Plan](../../../../processes/sales/run-the-close-plan.md) - **Report the Plan** - `ref/sls/run-the-close-plan`, activity 12 - [Run the Close Plan](../../../../processes/sales/run-the-close-plan.md) ## What to record Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change. 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`.
--- name: take-in-a-deal-and-pull-its-record description: "Takes a deal in and pulls its own history: the stage, the amount and the close date as they stand, with every change and who made it. Use it when running `ref/sls/inspect-a-deal`." license: CC-BY-4.0 metadata: agent: deal-inspector agent-version: "1" --- # Take in a deal and pull its record ## What it does Takes a deal in and pulls its own history: the stage, the amount and the close date as they stand, with every change and who made it. The record is where the inspection starts, not the seller's account of it. ## Where it happens The agent does this in two activities across one reference process. Each one names the activity as that process words it. - **Pull the Deal Record** - `ref/sls/inspect-a-deal`, activity 2 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) - **Take in the Deal** - `ref/sls/inspect-a-deal`, activity 1 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) ## What to record Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change. 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`.
--- name: take-the-inspections-into-the-forecast-call description: Flags which deals a call will walk and sends the inspections ahead, so the room argues instead of catching up, then walks the committed deals and the best case ones against what the record shows. Use it when running `ref/sls/run-the-forecast-call`. license: CC-BY-4.0 metadata: agent: deal-inspector agent-version: "1" --- # Take the inspections into the forecast call ## What it does Flags which deals a call will walk and sends the inspections ahead, so the room argues instead of catching up, then walks the committed deals and the best case ones against what the record shows. ## Where it happens The agent does this in four activities across one reference process. Each one names the activity as that process words it. - **Flag the Deals the Call Will Walk** - `ref/sls/run-the-forecast-call`, activity 4 - [Run the Forecast Call](../../../../processes/sales/run-the-forecast-call.md) - **Send the Inspections Ahead** - `ref/sls/run-the-forecast-call`, activity 5 - [Run the Forecast Call](../../../../processes/sales/run-the-forecast-call.md) - **Walk the Best Case** - `ref/sls/run-the-forecast-call`, activity 8 - [Run the Forecast Call](../../../../processes/sales/run-the-forecast-call.md) - **Walk the Committed Deals** - `ref/sls/run-the-forecast-call`, activity 7 - [Run the Forecast Call](../../../../processes/sales/run-the-forecast-call.md) ## What to record Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change. 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`.
--- name: test-the-basis-under-a-committed-number description: Tests what the gap between the number and what is in front of it actually rests on, and keeps reading that basis through the period rather than at the end of it. Use it when running `ref/sls/commit-the-number`. license: CC-BY-4.0 metadata: agent: deal-inspector agent-version: "1" --- # Test the basis under a committed number ## What it does Tests what the gap between the number and what is in front of it actually rests on, and keeps reading that basis through the period rather than at the end of it. ## Where it happens The agent does this in two activities across one reference process. Each one names the activity as that process words it. - **Test What the Gap Rests On** - `ref/sls/commit-the-number`, activity 7 - [Commit the Number](../../../../processes/sales/commit-the-number.md) - **Watch It Through the Period** - `ref/sls/commit-the-number`, activity 14 - [Commit the Number](../../../../processes/sales/commit-the-number.md) ## What to record Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change. 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`.
--- name: test-what-a-deal-rests-on description: Names who signs and who can stop it, marking each person met or unmet, and looks for the customer's own words rather than the champion's. Use it when running `ref/sls/inspect-a-deal`. license: CC-BY-4.0 metadata: agent: deal-inspector agent-version: "1" --- # Test what a deal rests on ## What it does Names who signs and who can stop it, marking each person met or unmet, and looks for the customer's own words rather than the champion's. Checks the money exists and belongs to somebody, and reads who else is in the deal and what would have to be true to win it. ## 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 Money Is Real** - `ref/sls/inspect-a-deal`, activity 6 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) - **Name the Buying Group** - `ref/sls/inspect-a-deal`, activity 4 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) - **Read the Competitive Position** - `ref/sls/inspect-a-deal`, activity 7 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) - **Test What the Customer Said** - `ref/sls/inspect-a-deal`, activity 5 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) ## What to record Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change. 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`.
--- name: test-what-a-partner-claims description: Reads what a partner brought against the standard the partner process sets. Use it when running `ref/prt/register-a-deal` and `ref/prt/resolve-a-channel-conflict`. license: CC-BY-4.0 metadata: agent: deal-inspector agent-version: "1" --- # Test what a partner claims ## What it does Reads what a partner brought against the standard the partner process sets. Where two parties claim the same customer, it tests who actually brought them, against the evidence each side registered and the date it was registered. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Read What the Partner Brought** - `ref/prt/register-a-deal`, activity 7 - [Register a Deal](../../../../processes/partners/register-a-deal.md) - **Test Who Brought the Customer** - `ref/prt/resolve-a-channel-conflict`, activity 7 - [Resolve a Channel Conflict](../../../../processes/partners/resolve-a-channel-conflict.md) ## What to record Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change. 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`.
--- name: walk-the-steps-left-before-the-close-date description: Walks every step a signature still has to pass, each with its owner and the time it takes, and says whether they fit before the close date or by how much they miss it. Use it when running `ref/sls/inspect-a-deal`. license: CC-BY-4.0 metadata: agent: deal-inspector agent-version: "1" --- # Walk the steps left before the close date ## What it does Walks every step a signature still has to pass, each with its owner and the time it takes, and says whether they fit before the close date or by how much they miss it. ## Where it happens The agent does this in two activities across one reference process. Each one names the activity as that process words it. - **Test the Close Date** - `ref/sls/inspect-a-deal`, activity 9 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) - **Walk the Steps to Signature** - `ref/sls/inspect-a-deal`, activity 8 - [Inspect a Deal](../../../../processes/sales/inspect-a-deal.md) ## What to record Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change. 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`.
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.
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 9 roles, and the access level beside each one is the most the work needs.
{
"$schema": "https://agent-plugins.org/schemas/1.1.0/mcp.schema.json",
"mcpServers": {
"crm": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/crm"
},
"call-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/call-record"
},
"activity-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/activity-record"
},
"contract-system": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/contract-system"
},
"inspection-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/inspection-record"
},
"clause-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/clause-record"
},
"loss-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/loss-record"
},
"partner-deal-register": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/partner-deal-register"
},
"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.
9 processes, 36 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.
Read What the Partner Brought
Test Who Brought the Customer
Hold the Joint Check-In
Test What the Gap Rests On · Watch It Through the Period
Take in the Deal · Pull the Deal Record · Name the Buying Group · Test What the Customer Said · Check the Money Is Real · Read the Competitive Position · Walk the Steps to Signature · Test the Close Date · Mark Each Claim · Name What the Deal Rests On · Put the Findings to the Owner · Say Where the Deal Stands · Record the Inspection
Take in the Signal · Confirm the Decision Is Real · Set the Loss Date · Classify the Loss · Name Who Won · Check the Deal Against the Record · Set the Follow-Up Date · Tell the People Who Worked It · Close the Record · Feed the Loss into the Review
Check Against Prior Decisions · Log the Clause Decisions
Report the Plan · Close the Plan on the Record
Flag the Deals the Call Will Walk · Send the Inspections Ahead · Walk the Committed Deals · Walk the Best Case
What it writes down
Per inspection: the deal record with every change to stage, amount and date carrying its author. The buying group, each named person marked met or unmet. What the customer said, dated and quoted, and every place the record holds nothing. The budget, the approver, and whether the money is committed elsewhere. Who else is in it and what would have to be true to win. Every remaining step with its owner and the time it takes, and whether they fit before the close date or by how much they miss. Every claim marked evidenced, asserted or absent, with the record and the date behind each evidenced one. The one or two things that decide the deal. The owner's answers as given, the actions with owners and dates, and the category with who set it and their reason. Per loss: the signal, who confirmed the decision, the loss date, the buyer's own words kept beside one reason code, the winner or the decision to do nothing, any contradiction between the stated reason and the record, and the follow-up date with what would have to change.
What it will not do
Does not write stage, amount or close date. Those belong to the deal owner, and an inspection that edited them would be inspecting itself. Does not set a category: a named person says committed, best case or neither, and this agent records it with the reason. Does not convert an assertion into evidence, and does not accept evidence that lives only in the conversation. Does not recompute the roll-up it reads, which arrives published from operations. Does not stop the open work on a lost deal or return the buyer's material: that is the close-plan-keeper agent with the signature-manager agent and the legal reviewer.
These limits are written into the job on purpose, so that everyone adopting the process knows which decisions stay with a person.
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.
implements: deal-inspector v1
One line in your agent's manifest. The catalog checks it against the records your runs actually leave.
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.
Things that could be the worker: an agent, a packaged product, a plugin.
- The Website Specification — A2A agent Agent · specification.website Read-only A2A agent that answers natural-language questions about The Website Specification and returns matching topics with status, canonical URL,…
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.
- fahali MCP server · fahaliai.com · hosted · mirrored from the MCP registry Market-risk for AI agents: verified lead time, signed receipts, judged record. Not advice.
- agentic-ai MCP server · anthonywlicausi.github.io · hosted · mirrored from the MCP registry Deal intelligence for agents: SEC-verified financials, validation, institutional deal scoring.
- mcp MCP server · purchaseiq.io · hosted · mirrored from the MCP registry Pre-purchase trust checks for AI agents: recalls, scam signals, proceed/caution/avoid verdict.