Account planner
account-planner v1Holds the account plan itself: what to sell into an account, to whom, in what order, and what has to be true for that order to work. Builds it from the account read and the people map, ties every opportunity to evidence for it and against it, and writes the assumptions as statements a later review can test. Keeps the plan current rather than writing it once, bringing it back up on its review date and whenever a tripwire fires. The plan commits the account team and nobody else.
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.
Convenes decide-and-announce to settle what the plan is for and the order the team goes after, and delivers into the approval where the account owner and the sales leader sign. Runs assessment on the opportunities and the risks, and commissions collect-and-report for the reads it plans from. Takes the people map from the relationship mapper, the history and the standing from the account monitor, the sizing from the analytics agent, and the outside evidence from the researcher. Hands the chosen version to the decision coordinator to announce, and hands the plan itself to the expansion spotter and the upsell planner, who check their openings against it.
What is in the package
8 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 forecast. No money from the plan reaches a forecast until a deal is open in the CRM under the opportunity rules, and a review round changes no forecast by itself. Does not map the people at the account, which is the relationship mapper's job, and does not build prospect lists. Does not price, quote or contact the customer. ## What always goes to a person - signing the plan, always - to the account owner and the sales leader, with the chosen version, the reasons behind it, and anyone who disagreed with what was chosen - an ask for people, money or product time from outside the account team - to whoever has to agree to it, before the plan is chosen - an account the standing check marks as not to be worked - to whoever rules on it, before any further research spend - research spend past the cap for the run - to whoever holds it, with what the spend so far bought - an assumption that failed - into the review as a new version, never as a quiet edit over the plan that is running
# The records this abstract agent must leave
This is the contract. An agent implementing `account-planner` leaves the
following behind, on every run.
The account read at a version, every line naming the system or document
it came from and the date that value was current, with the questions
nothing answered left standing as unknown. The plan at a version: each
opportunity with the evidence for it and against it, its buyer or the
note that it has none, its size in a confidence band, the order and what
each step depends on the one before it delivering, the assumptions
written as testable statements, the risks and what the plan does about
each, the moves with their owners and dates, and the asks naming who had
to agree. The signed version names both signers and the date. At review,
each plan is scored against what it said when it was signed, and every
decision records who made it, on what evidence, and anyone who
disagreed.
An agent that leaves less than this does not implement
`account-planner`, whatever else it does well.
# 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 plan record | write | The plan is issued at a version, and a version it replaces stays where it is. |
| the account read record | write | It assembles and issues the read. |
| the account map record | read | Every opportunity names a buyer from the map, or is marked as having none. |
| the CRM | read | The history, the open deals and who owns the account. |
| the pricing record and the offer catalogue | read | To say what could be sold and roughly what it is worth. |
| public and paid research sources | read | Inside the run's spend cap. |
| the notification channel | write | Everyone who acts on the plan is told what they were given and when it applies from. |
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": "account-planner",
"version": "1.0.0",
"description": "The account-planner abstract agent. Holds the account plan itself: what to sell into an account, to whom, in what order, and what has to be true for that order to work.",
"author": {
"name": "AgentCatalog",
"url": "https://agentcatalog.com"
},
"homepage": "https://agentcatalog.com/abstract-agents/account-planner",
"repository": "https://github.com/jeffrschneider/agentcatalog",
"license": "CC-BY-4.0",
"keywords": [
"abstract-agent",
"reference",
"sales",
"write-an-account-plan",
"review-the-account-plans",
"research-an-account",
"abstract"
],
"extensions": {
"com.agentcatalog.agent": {
"agent": "account-planner",
"agentVersion": 1,
"department": "sales",
"abstract": true,
"works": "Convenes decide-and-announce to settle what the plan is for and the order the team goes after, and delivers into the approval where the account owner and the sales leader sign. Runs assessment on the opportunities and the risks, and commissions collect-and-report for the reads it plans from. Takes the people map from the relationship mapper, the history and the standing from the account monitor, the sizing from the analytics agent, and the outside evidence from the researcher. Hands the chosen version to the decision coordinator to announce, and hands the plan itself to the expansion spotter and the upsell planner, who check their openings against it.",
"servers": [
{
"name": "the plan record",
"role": "plan-record",
"access": "write",
"needs": "The plan is issued at a version, and a version it replaces stays where it is."
},
{
"name": "the account read record",
"role": "account-read-record",
"access": "write",
"needs": "It assembles and issues the read."
},
{
"name": "the account map record",
"role": "account-map-record",
"access": "read",
"needs": "Every opportunity names a buyer from the map, or is marked as having none."
},
{
"name": "the CRM",
"role": "crm",
"access": "read",
"needs": "The history, the open deals and who owns the account."
},
{
"name": "the pricing record and the offer catalogue",
"role": "pricing-record-and-the-offer-catalogue",
"access": "read",
"needs": "To say what could be sold and roughly what it is worth."
},
{
"name": "public and paid research sources",
"role": "public-and-paid-research-sources",
"access": "read",
"needs": "Inside the run's spend cap."
},
{
"name": "the notification channel",
"role": "notification-channel",
"access": "write",
"needs": "Everyone who acts on the plan is told what they were given and when it applies from."
}
],
"records": [
"The account read at a version, every line naming the system or document it came from and the date that value was current, with the questions nothing answered left standing as unknown.",
"The plan at a version: each opportunity with the evidence for it and against it, its buyer or the note that it has none, its size in a confidence band, the order and what each step depends on the one before it delivering, the assumptions written as testable statements, the risks and what the plan does about each, the moves with their owners and dates, and the asks naming who had to agree.",
"The signed version names both signers and the date.",
"At review, each plan is scored against what it said when it was signed, and every decision records who made it, on what evidence, and anyone who disagreed."
],
"escalates": [
"signing the plan, always - to the account owner and the sales leader, with the chosen version, the reasons behind it, and anyone who disagreed with what was chosen",
"an ask for people, money or product time from outside the account team - to whoever has to agree to it, before the plan is chosen",
"an account the standing check marks as not to be worked - to whoever rules on it, before any further research spend",
"research spend past the cap for the run - to whoever holds it, with what the spend so far bought",
"an assumption that failed - into the review as a new version, never as a quiet edit over the plan that is running"
],
"not": [
"Does not forecast.",
"No money from the plan reaches a forecast until a deal is open in the CRM under the opportunity rules, and a review round changes no forecast by itself.",
"Does not map the people at the account, which is the relationship mapper's job, and does not build prospect lists.",
"Does not price, quote or contact the customer."
],
"processes": [
{
"process": "ref/sls/research-an-account",
"activities": [
"Take in the Account",
"Set the Research Questions",
"Work out What the Account Wants",
"Mark What Is Unknown",
"Assemble the Account Read",
"Review the Read with the Owner",
"Issue the Read at a Version",
"Set the Refresh Date"
]
},
{
"process": "ref/sls/map-the-account-people",
"activities": [
"Take in the Account Read",
"Name the Decisions to Map",
"Name the Coverage Gaps",
"Review the Map with the Account Team"
]
},
{
"process": "ref/sls/write-an-account-plan",
"activities": [
"Open the Plan",
"Read the Account Read and the Map",
"Set What the Plan Is For",
"List What Could Be Sold",
"Size Each Opportunity",
"Test Each Opportunity Against the Read",
"Name Who Buys Each One",
"Put the Opportunities in Order",
"Write down What Has to Be True",
"Name the Risks and What Would Kill It",
"Say What the Account Team Will Do",
"Ask for What the Plan Needs",
"Sign the Plan",
"Issue the Plan and Tell the Readers",
"Set the Review Date and the Tripwires"
]
},
{
"process": "ref/sls/review-the-account-plans",
"activities": [
"Open the Review Round",
"Pull Every Plan in Scope",
"Test the Assumptions Again",
"Score Each Plan",
"Sort the Plans into What Happens Next",
"Move the Effort",
"Amend the Plans that Change",
"Retire the Plans that Stop",
"Tell the Readers",
"Record What the Round Taught"
]
},
{
"process": "ref/sls/spot-an-expansion",
"activities": [
"Check Nobody Is Already On It",
"Size What It Could Be Worth",
"Check It Against the Account Plan"
]
},
{
"process": "ref/sls/open-an-expansion-deal",
"activities": [
"Re-Read the Account",
"Set the Timing Against the Contract",
"Get the Internal Go-Ahead",
"Open the Deal"
]
}
]
}
}
}
# account-planner 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 eight 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/sls/research-an-account`, `ref/sls/map-the-account-people`, `ref/sls/write-an-account-plan`, `ref/sls/review-the-account-plans`, `ref/sls/spot-an-expansion`, `ref/sls/open-an-expansion-deal`. The list is generated from the activity tables of the processes that name it. https://agentcatalog.com/abstract-agents/account-planner
--- name: assemble-the-account-read description: "Reads an account into one document: what it wants, what is going on inside it, and what nothing answered. Use it when running `ref/sls/research-an-account`." license: CC-BY-4.0 metadata: agent: account-planner agent-version: "1" --- # Assemble the account read ## What it does Reads an account into one document: what it wants, what is going on inside it, and what nothing answered. Every line names where it came from and the date that value was current, and the read is issued at a version with a date to take it again. ## Where it happens The agent does this in eight activities across one reference process. Each one names the activity as that process words it. - **Assemble the Account Read** - `ref/sls/research-an-account`, activity 12 - [Research an Account](../../../../processes/sales/research-an-account.md) - **Issue the Read at a Version** - `ref/sls/research-an-account`, activity 14 - [Research an Account](../../../../processes/sales/research-an-account.md) - **Mark What Is Unknown** - `ref/sls/research-an-account`, activity 11 - [Research an Account](../../../../processes/sales/research-an-account.md) - **Review the Read with the Owner** - `ref/sls/research-an-account`, activity 13 - [Research an Account](../../../../processes/sales/research-an-account.md) - **Set the Refresh Date** - `ref/sls/research-an-account`, activity 15 - [Research an Account](../../../../processes/sales/research-an-account.md) - **Set the Research Questions** - `ref/sls/research-an-account`, activity 2 - [Research an Account](../../../../processes/sales/research-an-account.md) - **Take in the Account** - `ref/sls/research-an-account`, activity 1 - [Research an Account](../../../../processes/sales/research-an-account.md) - **Work out What the Account Wants** - `ref/sls/research-an-account`, activity 6 - [Research an Account](../../../../processes/sales/research-an-account.md) ## What to record The account read at a version, every line naming the system or document it came from and the date that value was current, with the questions nothing answered left standing as unknown. The plan at a version: each opportunity with the evidence for it and against it, its buyer or the note that it has none, its size in a confidence band, the order and what each step depends on the one before it delivering, the assumptions written as testable statements, the risks and what the plan does about each, the moves with their owners and dates, and the asks naming who had to agree. The signed version names both signers and the date. At review, each plan is scored against what it said when it was signed, and every decision records who made it, on what evidence, and anyone who disagreed. 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: check-an-expansion-against-the-plan description: "Reads an opening somebody else spotted against the open deals and against the plan: whether anybody is already on the same ground, roughly what it could be worth, and whether the plan already says to sell it. Use it when running `ref/sls/spot-an-expansion`." license: CC-BY-4.0 metadata: agent: account-planner agent-version: "1" --- # Check an expansion against the plan ## What it does Reads an opening somebody else spotted against the open deals and against the plan: whether anybody is already on the same ground, roughly what it could be worth, and whether the plan already says to sell it. ## Where it happens The agent does this in three activities across one reference process. Each one names the activity as that process words it. - **Check It Against the Account Plan** - `ref/sls/spot-an-expansion`, activity 13 - [Spot an Expansion](../../../../processes/sales/spot-an-expansion.md) - **Check Nobody Is Already On It** - `ref/sls/spot-an-expansion`, activity 8 - [Spot an Expansion](../../../../processes/sales/spot-an-expansion.md) - **Size What It Could Be Worth** - `ref/sls/spot-an-expansion`, activity 9 - [Spot an Expansion](../../../../processes/sales/spot-an-expansion.md) ## What to record The account read at a version, every line naming the system or document it came from and the date that value was current, with the questions nothing answered left standing as unknown. The plan at a version: each opportunity with the evidence for it and against it, its buyer or the note that it has none, its size in a confidence band, the order and what each step depends on the one before it delivering, the assumptions written as testable statements, the risks and what the plan does about each, the moves with their owners and dates, and the asks naming who had to agree. The signed version names both signers and the date. At review, each plan is scored against what it said when it was signed, and every decision records who made it, on what evidence, and anyone who disagreed. 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: name-the-opportunities-worth-selling description: Lists what could be sold into the account, puts a size band on each one, and tests each against the read. Use it when running `ref/sls/write-an-account-plan`. license: CC-BY-4.0 metadata: agent: account-planner agent-version: "1" --- # Name the opportunities worth selling ## What it does Lists what could be sold into the account, puts a size band on each one, and tests each against the read. Every opportunity names the buyer behind it or is marked as having none, and what survives is put in the order the team goes after it. ## Where it happens The agent does this in five activities across one reference process. Each one names the activity as that process words it. - **List What Could Be Sold** - `ref/sls/write-an-account-plan`, activity 4 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) - **Name Who Buys Each One** - `ref/sls/write-an-account-plan`, activity 7 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) - **Put the Opportunities in Order** - `ref/sls/write-an-account-plan`, activity 8 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) - **Size Each Opportunity** - `ref/sls/write-an-account-plan`, activity 5 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) - **Test Each Opportunity Against the Read** - `ref/sls/write-an-account-plan`, activity 6 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) ## What to record The account read at a version, every line naming the system or document it came from and the date that value was current, with the questions nothing answered left standing as unknown. The plan at a version: each opportunity with the evidence for it and against it, its buyer or the note that it has none, its size in a confidence band, the order and what each step depends on the one before it delivering, the assumptions written as testable statements, the risks and what the plan does about each, the moves with their owners and dates, and the asks naming who had to agree. The signed version names both signers and the date. At review, each plan is scored against what it said when it was signed, and every decision records who made it, on what evidence, and anyone who disagreed. 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: open-an-expansion-deal description: Reads the account again before an opening is put to the customer, sets the timing against the contract they already hold, gets the go-ahead from inside, and opens the deal with its evidence on it. Use it when running `ref/sls/open-an-expansion-deal`. license: CC-BY-4.0 metadata: agent: account-planner agent-version: "1" --- # Open an expansion deal ## What it does Reads the account again before an opening is put to the customer, sets the timing against the contract they already hold, gets the go-ahead from inside, and opens the deal with its evidence on 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. - **Get the Internal Go-Ahead** - `ref/sls/open-an-expansion-deal`, activity 11 - [Open an Expansion Deal](../../../../processes/sales/open-an-expansion-deal.md) - **Open the Deal** - `ref/sls/open-an-expansion-deal`, activity 14 - [Open an Expansion Deal](../../../../processes/sales/open-an-expansion-deal.md) - **Re-Read the Account** - `ref/sls/open-an-expansion-deal`, activity 2 - [Open an Expansion Deal](../../../../processes/sales/open-an-expansion-deal.md) - **Set the Timing Against the Contract** - `ref/sls/open-an-expansion-deal`, activity 6 - [Open an Expansion Deal](../../../../processes/sales/open-an-expansion-deal.md) ## What to record The account read at a version, every line naming the system or document it came from and the date that value was current, with the questions nothing answered left standing as unknown. The plan at a version: each opportunity with the evidence for it and against it, its buyer or the note that it has none, its size in a confidence band, the order and what each step depends on the one before it delivering, the assumptions written as testable statements, the risks and what the plan does about each, the moves with their owners and dates, and the asks naming who had to agree. The signed version names both signers and the date. At review, each plan is scored against what it said when it was signed, and every decision records who made it, on what evidence, and anyone who disagreed. 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: review-the-plans-on-their-date description: Brings every plan in scope back up, tests what each one assumed against what actually happened, scores it, and sorts it into what happens next. Use it when running `ref/sls/review-the-account-plans`. license: CC-BY-4.0 metadata: agent: account-planner agent-version: "1" --- # Review the plans on their date ## What it does Brings every plan in scope back up, tests what each one assumed against what actually happened, scores it, and sorts it into what happens next. Effort moves, plans that change are amended at a new version, plans that stop are retired, and the readers are told. ## Where it happens The agent does this in ten activities across one reference process. Each one names the activity as that process words it. - **Amend the Plans that Change** - `ref/sls/review-the-account-plans`, activity 11 - [Review the Account Plans](../../../../processes/sales/review-the-account-plans.md) - **Move the Effort** - `ref/sls/review-the-account-plans`, activity 10 - [Review the Account Plans](../../../../processes/sales/review-the-account-plans.md) - **Open the Review Round** - `ref/sls/review-the-account-plans`, activity 1 - [Review the Account Plans](../../../../processes/sales/review-the-account-plans.md) - **Pull Every Plan in Scope** - `ref/sls/review-the-account-plans`, activity 2 - [Review the Account Plans](../../../../processes/sales/review-the-account-plans.md) - **Record What the Round Taught** - `ref/sls/review-the-account-plans`, activity 14 - [Review the Account Plans](../../../../processes/sales/review-the-account-plans.md) - **Retire the Plans that Stop** - `ref/sls/review-the-account-plans`, activity 12 - [Review the Account Plans](../../../../processes/sales/review-the-account-plans.md) - **Score Each Plan** - `ref/sls/review-the-account-plans`, activity 6 - [Review the Account Plans](../../../../processes/sales/review-the-account-plans.md) - **Sort the Plans into What Happens Next** - `ref/sls/review-the-account-plans`, activity 7 - [Review the Account Plans](../../../../processes/sales/review-the-account-plans.md) - **Tell the Readers** - `ref/sls/review-the-account-plans`, activity 13 - [Review the Account Plans](../../../../processes/sales/review-the-account-plans.md) - **Test the Assumptions Again** - `ref/sls/review-the-account-plans`, activity 4 - [Review the Account Plans](../../../../processes/sales/review-the-account-plans.md) ## What to record The account read at a version, every line naming the system or document it came from and the date that value was current, with the questions nothing answered left standing as unknown. The plan at a version: each opportunity with the evidence for it and against it, its buyer or the note that it has none, its size in a confidence band, the order and what each step depends on the one before it delivering, the assumptions written as testable statements, the risks and what the plan does about each, the moves with their owners and dates, and the asks naming who had to agree. The signed version names both signers and the date. At review, each plan is scored against what it said when it was signed, and every decision records who made it, on what evidence, and anyone who disagreed. 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: scope-the-people-map description: Says which decisions the people map has to cover before anybody starts mapping, and reads the finished map back with the account team. Use it when running `ref/sls/map-the-account-people`. license: CC-BY-4.0 metadata: agent: account-planner agent-version: "1" --- # Scope the people map ## What it does Says which decisions the people map has to cover before anybody starts mapping, and reads the finished map back with the account team. A decision nobody covers is named as a gap rather than left blank. ## Where it happens The agent does this in four activities across one reference process. Each one names the activity as that process words it. - **Name the Coverage Gaps** - `ref/sls/map-the-account-people`, activity 10 - [Map the People at an Account](../../../../processes/sales/map-the-account-people.md) - **Name the Decisions to Map** - `ref/sls/map-the-account-people`, activity 2 - [Map the People at an Account](../../../../processes/sales/map-the-account-people.md) - **Review the Map with the Account Team** - `ref/sls/map-the-account-people`, activity 12 - [Map the People at an Account](../../../../processes/sales/map-the-account-people.md) - **Take in the Account Read** - `ref/sls/map-the-account-people`, activity 1 - [Map the People at an Account](../../../../processes/sales/map-the-account-people.md) ## What to record The account read at a version, every line naming the system or document it came from and the date that value was current, with the questions nothing answered left standing as unknown. The plan at a version: each opportunity with the evidence for it and against it, its buyer or the note that it has none, its size in a confidence band, the order and what each step depends on the one before it delivering, the assumptions written as testable statements, the risks and what the plan does about each, the moves with their owners and dates, and the asks naming who had to agree. The signed version names both signers and the date. At review, each plan is scored against what it said when it was signed, and every decision records who made it, on what evidence, and anyone who disagreed. 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: sign-and-issue-the-plan description: Puts the plan to the people who have to sign it, issues the signed version to everyone who acts on it, and sets the date it comes back up along with the tripwires that bring it back sooner. Use it when running `ref/sls/write-an-account-plan`. license: CC-BY-4.0 metadata: agent: account-planner agent-version: "1" --- # Sign and issue the plan ## What it does Puts the plan to the people who have to sign it, issues the signed version to everyone who acts on it, and sets the date it comes back up along with the tripwires that bring it back sooner. ## Where it happens The agent does this in three activities across one reference process. Each one names the activity as that process words it. - **Issue the Plan and Tell the Readers** - `ref/sls/write-an-account-plan`, activity 15 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) - **Set the Review Date and the Tripwires** - `ref/sls/write-an-account-plan`, activity 16 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) - **Sign the Plan** - `ref/sls/write-an-account-plan`, activity 14 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) ## What to record The account read at a version, every line naming the system or document it came from and the date that value was current, with the questions nothing answered left standing as unknown. The plan at a version: each opportunity with the evidence for it and against it, its buyer or the note that it has none, its size in a confidence band, the order and what each step depends on the one before it delivering, the assumptions written as testable statements, the risks and what the plan does about each, the moves with their owners and dates, and the asks naming who had to agree. The signed version names both signers and the date. At review, each plan is scored against what it said when it was signed, and every decision records who made it, on what evidence, and anyone who disagreed. 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: write-the-plan description: "Writes the plan around that order: what the plan is for, the assumptions written as statements a later review can test, the risks with what the plan does about each, the moves the account team commits to, and the asks that need somebody outside the team to agree. Use it when running `ref/sls/write-an-account-plan`." license: CC-BY-4.0 metadata: agent: account-planner agent-version: "1" --- # Write the plan ## What it does Writes the plan around that order: what the plan is for, the assumptions written as statements a later review can test, the risks with what the plan does about each, the moves the account team commits to, and the asks that need somebody outside the team to agree. ## Where it happens The agent does this in seven activities across one reference process. Each one names the activity as that process words it. - **Ask for What the Plan Needs** - `ref/sls/write-an-account-plan`, activity 12 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) - **Name the Risks and What Would Kill It** - `ref/sls/write-an-account-plan`, activity 10 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) - **Open the Plan** - `ref/sls/write-an-account-plan`, activity 1 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) - **Read the Account Read and the Map** - `ref/sls/write-an-account-plan`, activity 2 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) - **Say What the Account Team Will Do** - `ref/sls/write-an-account-plan`, activity 11 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) - **Set What the Plan Is For** - `ref/sls/write-an-account-plan`, activity 3 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) - **Write down What Has to Be True** - `ref/sls/write-an-account-plan`, activity 9 - [Write an Account Plan](../../../../processes/sales/write-an-account-plan.md) ## What to record The account read at a version, every line naming the system or document it came from and the date that value was current, with the questions nothing answered left standing as unknown. The plan at a version: each opportunity with the evidence for it and against it, its buyer or the note that it has none, its size in a confidence band, the order and what each step depends on the one before it delivering, the assumptions written as testable statements, the risks and what the plan does about each, the moves with their owners and dates, and the asks naming who had to agree. The signed version names both signers and the date. At review, each plan is scored against what it said when it was signed, and every decision records who made it, on what evidence, and anyone who disagreed. 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 7 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": {
"plan-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/plan-record"
},
"account-read-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/account-read-record"
},
"account-map-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/account-map-record"
},
"crm": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/crm"
},
"pricing-record-and-the-offer-catalogue": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/pricing-record-and-the-offer-catalogue"
},
"public-and-paid-research-sources": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/public-and-paid-research-sources"
},
"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.
6 processes, 44 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.
Take in the Account Read · Name the Decisions to Map · Name the Coverage Gaps · Review the Map with the Account Team
Re-Read the Account · Set the Timing Against the Contract · Get the Internal Go-Ahead · Open the Deal
Take in the Account · Set the Research Questions · Work out What the Account Wants · Mark What Is Unknown · Assemble the Account Read · Review the Read with the Owner · Issue the Read at a Version · Set the Refresh Date
Open the Review Round · Pull Every Plan in Scope · Test the Assumptions Again · Score Each Plan · Sort the Plans into What Happens Next · Move the Effort · Amend the Plans that Change · Retire the Plans that Stop · Tell the Readers · Record What the Round Taught
Check Nobody Is Already On It · Size What It Could Be Worth · Check It Against the Account Plan
Open the Plan · Read the Account Read and the Map · Set What the Plan Is For · List What Could Be Sold · Size Each Opportunity · Test Each Opportunity Against the Read · Name Who Buys Each One · Put the Opportunities in Order · Write down What Has to Be True · Name the Risks and What Would Kill It · Say What the Account Team Will Do · Ask for What the Plan Needs · Sign the Plan · Issue the Plan and Tell the Readers · Set the Review Date and the Tripwires
What it writes down
The account read at a version, every line naming the system or document it came from and the date that value was current, with the questions nothing answered left standing as unknown. The plan at a version: each opportunity with the evidence for it and against it, its buyer or the note that it has none, its size in a confidence band, the order and what each step depends on the one before it delivering, the assumptions written as testable statements, the risks and what the plan does about each, the moves with their owners and dates, and the asks naming who had to agree. The signed version names both signers and the date. At review, each plan is scored against what it said when it was signed, and every decision records who made it, on what evidence, and anyone who disagreed.
What it will not do
Does not forecast. No money from the plan reaches a forecast until a deal is open in the CRM under the opportunity rules, and a review round changes no forecast by itself. Does not map the people at the account, which is the relationship mapper's job, and does not build prospect lists. Does not price, quote or contact the customer.
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: account-planner 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.
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.
- AI/MCP Enablement Agency MCP server · checkmycontractorquote.com · hosted · mirrored from the MCP registry AI workflow/MCP implementation package planner.
- PlanWright MCP server · planwright.tools · hosted · mirrored from the MCP registry Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
- Content Review Planner MCP server · wxt-ai.github.io · hosted · mirrored from the MCP registry Prepare a content review plan