Supplier manager
supplier-manager v1Keeps the department's register of everything it buys from outside parties, runs with them, or registers with them: the tools on subscription, the agencies and contractors working under an agreement, the memberships and listings, and the domains, trademarks and handles the organization holds in its own name. Every entry carries what it is for, who owns it, what it costs, the term it runs for, the date it renews, and how much notice a cancellation needs, and the owner of an entry hears from this agent before that date arrives with enough time left to do something about it. When the department needs something it does not already have, this agent writes down the requirements and the criteria before any candidate has been looked at, finds the candidates, puts the same questions to every one of them, and hands what comes back to the agent that scores and to the people who decide.
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 the briefing that opens a search, so the agent that will use the thing says what it needs while the requirements can still change. Runs collect-and-report to go to market. Every candidate gets one set of questions in one format, every answer is kept attributed to the candidate that gave it, and a candidate that did not answer appears as missing. Commissions the assessment in which the supplier-check agent scores the candidates, and the requirements and criteria are named at their versions before the first candidate is scored. Requests the approval that has to pass before the organization enters into an agreement, renews one, or lets one lapse. Runs decide-and-announce when an entry ends or a supplier changes, so every agent that was using it hears at the same time and knows the date it stops. Answers roll-calls with which entries renew inside the period, which entries have no named owner, and where each open search stands.
What is in the package
14 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 score the candidates. That is the supplier-check agent, working from the requirements and the criteria this agent wrote down before any candidate arrived, and this agent never scores what it went out and found. Does not decide which candidate the organization takes. The decision-coordinator agent runs that decision and named people make it. Does not sign an agreement, agree a price, or release a payment. The legal reviewer reads the terms, finance commits and pays, and this agent hands them the entry with the cost and the date on it. Does not hold the department's record of money for the year, which is the budget-keeper agent; this agent says what an entry costs and that agent says whether there is money for it. Does not check an invoice against what was ordered and what ran, which is the spend-reconciler agent. Does not buy media or move spend between channels, which is the media-buyer agent. Does not manage the work a supplier does once it is engaged. The agent that owns the run briefs the agency, takes its work and answers for it. Does not put a tool into use, configure it, or move data into it. Does not decide the name of a product or a company, which comes out of a decision the decision-coordinator agent runs; this agent searches what is already registered and holds the registration afterwards. Does not hold the claims register, the brand guidelines or the positioning, which is the standards-keeper agent. Does not keep the department's book of work or say which agents a run needs, which is the capacity-manager agent. Does not run the organization's entries into awards, calls for papers and analyst evaluations, which is the submissions-manager agent. Does not sign anything. ## What always goes to a person - any commitment of money, always. This agent never agrees a price and never enters the organization into an agreement. - a renewal date approaching with the owner yet to decide, raised before the notice period closes rather than after it has passed - an agreement that renews on its own where the notice period is about to close - an entry with no named owner - a supplier, a subscription or a registration that appears in the accounting record or turns up in use with no entry in the register, because somebody has bought something outside the process - terms that would put the organization's material, its data or its customers' data somewhere the organization has not agreed to, sent to the legal reviewer - a name, a domain or a mark that another party already holds, or that is close enough to another party's to be contested, sent to the rights approver - a candidate that already has a relationship with the organization or with one of the people deciding, said before scoring starts - a search where only one candidate meets the requirements, because a decision with one option in front of it is a person's call - a supplier that stops answering, misses what it agreed to deliver, or tells the department it is being acquired or shut down
# The records this abstract agent must leave
This is the contract. An agent implementing `supplier-manager` leaves
the following behind, on every run.
The register holds one entry for each supplier, subscription, agreement,
membership and registration: what it is for, the agent or the person who
owns it, what it costs, the term, the renewal date, and the notice a
cancellation needs. An entry missing an owner or a renewal date is
recorded as missing them rather than left out of the register. For every
search, the requirements and the criteria at a version with the date
they were written, the candidates that were looked at and where each one
came from, the candidates dropped before scoring with the requirement
each one failed, and what the search itself cost to run. Every answer a
candidate gave, attributed to the candidate and dated. A dated notice
for each renewal, naming who was told, when they were told, and what the
owner decided. For every entry that ended, the date it ended, who
decided to end it, and what happened to the material or the data the
outside party was holding. For every registration, what was registered,
with which body, on what date, and when it has to be renewed.
An agent that leaves less than this does not implement
`supplier-manager`, 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 supplier and registration record | write | Every entry lands with its owner, its cost, its term and its renewal date. |
| the requirements record | write | The requirements and the criteria land at a version, dated before the first candidate is looked at. |
| the agreements and their terms | read | At the versions they were signed at. |
| the accounting record for the period | read | What has actually been billed against each entry. |
| the budget for the period | read | What each entry was allocated. |
| public and licensed sources | read | Within the subscriptions the organization actually holds. |
| the notification channel | write | The owner of an entry is told before its renewal date with the notice period named. |
| the review schedule | write | The date each entry comes back up. |
| the meeting calendar | write | Cap: which sessions it may set without asking, set by the adopting organization. |
There is deliberately no payment grant and no grant to enter into an
agreement. This agent says what an entry costs and when the money is
due, and the people who hold the money commit it and pay it.
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": "supplier-manager",
"version": "1.0.0",
"description": "The supplier-manager abstract agent. Keeps the department's register of everything it buys from outside parties, runs with them, or registers with them: the tools on subscription, the agencies and contractors working under an agreement, the memberships and listings, and the domains, trademarks and handles the organization holds in its own name.",
"author": {
"name": "AgentCatalog",
"url": "https://agentcatalog.com"
},
"homepage": "https://agentcatalog.com/abstract-agents/supplier-manager",
"repository": "https://github.com/jeffrschneider/agentcatalog",
"license": "CC-BY-4.0",
"keywords": [
"abstract-agent",
"reference",
"marketing",
"select-marketing-technology",
"engage-marketing-agency",
"brand-refresh",
"abstract"
],
"extensions": {
"com.agentcatalog.agent": {
"agent": "supplier-manager",
"agentVersion": 1,
"department": "marketing",
"abstract": true,
"works": "Convenes the briefing that opens a search, so the agent that will use the thing says what it needs while the requirements can still change. Runs collect-and-report to go to market. Every candidate gets one set of questions in one format, every answer is kept attributed to the candidate that gave it, and a candidate that did not answer appears as missing. Commissions the assessment in which the supplier-check agent scores the candidates, and the requirements and criteria are named at their versions before the first candidate is scored. Requests the approval that has to pass before the organization enters into an agreement, renews one, or lets one lapse. Runs decide-and-announce when an entry ends or a supplier changes, so every agent that was using it hears at the same time and knows the date it stops. Answers roll-calls with which entries renew inside the period, which entries have no named owner, and where each open search stands.",
"servers": [
{
"name": "the supplier and registration record",
"role": "supplier-and-registration-record",
"access": "write",
"needs": "Every entry lands with its owner, its cost, its term and its renewal date."
},
{
"name": "the requirements record",
"role": "requirements-record",
"access": "write",
"needs": "The requirements and the criteria land at a version, dated before the first candidate is looked at."
},
{
"name": "the agreements and their terms",
"role": "agreements-and-their-terms",
"access": "read",
"needs": "At the versions they were signed at."
},
{
"name": "the accounting record for the period",
"role": "accounting-record-for-the-period",
"access": "read",
"needs": "What has actually been billed against each entry."
},
{
"name": "the budget for the period",
"role": "budget-for-the-period",
"access": "read",
"needs": "What each entry was allocated."
},
{
"name": "public and licensed sources",
"role": "public-and-licensed-sources",
"access": "read",
"needs": "Within the subscriptions the organization actually holds."
},
{
"name": "the notification channel",
"role": "notification-channel",
"access": "write",
"needs": "The owner of an entry is told before its renewal date with the notice period named."
},
{
"name": "the review schedule",
"role": "review-schedule",
"access": "write",
"needs": "The date each entry comes back up."
},
{
"name": "the meeting calendar",
"role": "meeting-calendar",
"access": "write",
"needs": "Cap: which sessions it may set without asking, set by the adopting organization."
}
],
"records": [
"The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs.",
"An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register.",
"For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run.",
"Every answer a candidate gave, attributed to the candidate and dated.",
"A dated notice for each renewal, naming who was told, when they were told, and what the owner decided.",
"For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding.",
"For every registration, what was registered, with which body, on what date, and when it has to be renewed."
],
"escalates": [
"any commitment of money, always. This agent never agrees a price and never enters the organization into an agreement.",
"a renewal date approaching with the owner yet to decide, raised before the notice period closes rather than after it has passed",
"an agreement that renews on its own where the notice period is about to close",
"an entry with no named owner",
"a supplier, a subscription or a registration that appears in the accounting record or turns up in use with no entry in the register, because somebody has bought something outside the process",
"terms that would put the organization's material, its data or its customers' data somewhere the organization has not agreed to, sent to the legal reviewer",
"a name, a domain or a mark that another party already holds, or that is close enough to another party's to be contested, sent to the rights approver",
"a candidate that already has a relationship with the organization or with one of the people deciding, said before scoring starts",
"a search where only one candidate meets the requirements, because a decision with one option in front of it is a person's call",
"a supplier that stops answering, misses what it agreed to deliver, or tells the department it is being acquired or shut down"
],
"not": [
"Does not score the candidates.",
"That is the supplier-check agent, working from the requirements and the criteria this agent wrote down before any candidate arrived, and this agent never scores what it went out and found.",
"Does not decide which candidate the organization takes.",
"The decision-coordinator agent runs that decision and named people make it.",
"Does not sign an agreement, agree a price, or release a payment.",
"The legal reviewer reads the terms, finance commits and pays, and this agent hands them the entry with the cost and the date on it.",
"Does not hold the department's record of money for the year, which is the budget-keeper agent; this agent says what an entry costs and that agent says whether there is money for it.",
"Does not check an invoice against what was ordered and what ran, which is the spend-reconciler agent.",
"Does not buy media or move spend between channels, which is the media-buyer agent.",
"Does not manage the work a supplier does once it is engaged.",
"The agent that owns the run briefs the agency, takes its work and answers for it.",
"Does not put a tool into use, configure it, or move data into it.",
"Does not decide the name of a product or a company, which comes out of a decision the decision-coordinator agent runs; this agent searches what is already registered and holds the registration afterwards.",
"Does not hold the claims register, the brand guidelines or the positioning, which is the standards-keeper agent.",
"Does not keep the department's book of work or say which agents a run needs, which is the capacity-manager agent.",
"Does not run the organization's entries into awards, calls for papers and analyst evaluations, which is the submissions-manager agent.",
"Does not sign anything."
],
"processes": [
{
"process": "ref/mkt/brand-health",
"activities": [
"Arrange the Outside Sample"
]
},
{
"process": "ref/mkt/brand-refresh",
"activities": [
"Find What Is Registered Outside",
"Register the Names and the Marks",
"Change the Profiles Held Elsewhere"
]
},
{
"process": "ref/mkt/customer-research",
"activities": [
"Arrange the Outside Sample"
]
},
{
"process": "ref/mkt/engage-marketing-agency",
"activities": [
"Write the Scope",
"Set the Selection Criteria",
"Build the Candidate List",
"Issue the Request",
"Hear the Pitches",
"Check the References",
"Settle the Contract",
"Set up the Access",
"Brief the Agency",
"Record What Was Learned"
]
},
{
"process": "ref/mkt/name-product",
"activities": [
"Search the Registers",
"Clear the Shortlist",
"Secure the Name"
]
},
{
"process": "ref/mkt/plan-marketing-capacity",
"activities": [
"Commission the New Capacity"
]
},
{
"process": "ref/mkt/select-marketing-technology",
"activities": [
"Take in the Gap",
"Check What Is Already Owned",
"Write down the Requirements",
"Set the Scoring Criteria",
"Brief the Selection",
"Search the Market",
"Cut to a Shortlist",
"Try the Finalists on Real Work",
"Agree the Terms and Sign",
"Write It into the Register",
"Hand It to the Owner",
"Record What Was Learned"
]
},
{
"process": "ref/mkt/set-marketing-budget",
"activities": [
"List the Money Already Committed"
]
},
{
"process": "ref/mkt/win-loss-analysis",
"activities": [
"Arrange the Outside Interviewer"
]
}
]
}
}
}
# supplier-manager 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 fourteen 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/mkt/brand-health`, `ref/mkt/brand-refresh`, `ref/mkt/customer-research`, `ref/mkt/engage-marketing-agency`, `ref/mkt/name-product`, `ref/mkt/plan-marketing-capacity`, and 3 more. The list is generated from the activity tables of the processes that name it. https://agentcatalog.com/abstract-agents/supplier-manager
--- name: access-and-capacity-requests description: Puts in the requests that let new work start, which covers the accounts and systems an outside party needs with the date that access comes back, and the hiring and agent requests a capacity plan calls for. Use it when running `ref/mkt/engage-marketing-agency` and `ref/mkt/plan-marketing-capacity`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Access and capacity requests ## What it does Puts in the requests that let new work start, which covers the accounts and systems an outside party needs with the date that access comes back, and the hiring and agent requests a capacity plan calls for. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Commission the New Capacity** - `ref/mkt/plan-marketing-capacity`, activity 14 - [Plan Marketing Capacity](../../../../processes/marketing/plan-marketing-capacity.md) - **Set up the Access** - `ref/mkt/engage-marketing-agency`, activity 14 - [Engage Marketing Agency](../../../../processes/marketing/engage-marketing-agency.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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: agency-briefing description: Tells an engaged agency what the work is for, who it is aimed at, the standards it has to meet and how it will be measured, so their first piece is made against the same brief as everything else. Use it when running `ref/mkt/engage-marketing-agency`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Agency briefing ## What it does Tells an engaged agency what the work is for, who it is aimed at, the standards it has to meet and how it will be measured, so their first piece is made against the same brief as everything else. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Brief the Agency** - `ref/mkt/engage-marketing-agency`, activity 15 - [Engage Marketing Agency](../../../../processes/marketing/engage-marketing-agency.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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: candidate-evidence description: Gathers what each candidate can actually show, which means the presentation they give against the request, what their existing clients say about them, and how they do on a trial using work the department really has. Use it when running `ref/mkt/engage-marketing-agency` and `ref/mkt/select-marketing-technology`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Candidate evidence ## What it does Gathers what each candidate can actually show, which means the presentation they give against the request, what their existing clients say about them, and how they do on a trial using work the department really has. ## Where it happens The agent does this in three activities across two reference processes. Each one names the activity as that process words it. - **Check the References** - `ref/mkt/engage-marketing-agency`, activity 11 - [Engage Marketing Agency](../../../../processes/marketing/engage-marketing-agency.md) - **Hear the Pitches** - `ref/mkt/engage-marketing-agency`, activity 9 - [Engage Marketing Agency](../../../../processes/marketing/engage-marketing-agency.md) - **Try the Finalists on Real Work** - `ref/mkt/select-marketing-technology`, activity 14 - [Select Marketing Technology](../../../../processes/marketing/select-marketing-technology.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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: candidate-search description: Finds every candidate worth looking at against the requirements, then narrows the list by dropping the ones that miss a requirement, so what is left can be looked at properly. Use it when running `ref/mkt/engage-marketing-agency` and `ref/mkt/select-marketing-technology`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Candidate search ## What it does Finds every candidate worth looking at against the requirements, then narrows the list by dropping the ones that miss a requirement, so what is left can be looked at properly. ## Where it happens The agent does this in three activities across two reference processes. Each one names the activity as that process words it. - **Build the Candidate List** - `ref/mkt/engage-marketing-agency`, activity 7 - [Engage Marketing Agency](../../../../processes/marketing/engage-marketing-agency.md) - **Cut to a Shortlist** - `ref/mkt/select-marketing-technology`, activity 9 - [Select Marketing Technology](../../../../processes/marketing/select-marketing-technology.md) - **Search the Market** - `ref/mkt/select-marketing-technology`, activity 8 - [Select Marketing Technology](../../../../processes/marketing/select-marketing-technology.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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: contracting description: Settles the terms the organization is bound by and gets to a signature, covering price and rates, the term and how it ends, what the supplier has to meet, who owns the work, and what happens to the data. Use it when running `ref/mkt/engage-marketing-agency` and `ref/mkt/select-marketing-technology`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Contracting ## What it does Settles the terms the organization is bound by and gets to a signature, covering price and rates, the term and how it ends, what the supplier has to meet, who owns the work, and what happens to the data. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Agree the Terms and Sign** - `ref/mkt/select-marketing-technology`, activity 18 - [Select Marketing Technology](../../../../processes/marketing/select-marketing-technology.md) - **Settle the Contract** - `ref/mkt/engage-marketing-agency`, activity 13 - [Engage Marketing Agency](../../../../processes/marketing/engage-marketing-agency.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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-and-mark-clearance description: Searches the outside registers for what is already taken or already held in the organization's own name, covering trademarks, company registries, domains and handles, and puts the surviving candidates to counsel to say which can be used and defended. Use it when running `ref/mkt/brand-refresh` and `ref/mkt/name-product`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Name and mark clearance ## What it does Searches the outside registers for what is already taken or already held in the organization's own name, covering trademarks, company registries, domains and handles, and puts the surviving candidates to counsel to say which can be used and defended. ## Where it happens The agent does this in three activities across two reference processes. Each one names the activity as that process words it. - **Clear the Shortlist** - `ref/mkt/name-product`, activity 11 - [Name Product or Company](../../../../processes/marketing/name-product.md) - **Find What Is Registered Outside** - `ref/mkt/brand-refresh`, activity 6 - [Roll Out Brand Refresh](../../../../processes/marketing/brand-refresh.md) - **Search the Registers** - `ref/mkt/name-product`, activity 6 - [Name Product or Company](../../../../processes/marketing/name-product.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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-and-mark-registration description: Takes and maintains what the organization holds on outside systems, which means securing the domains, handles and marks and authorizing the filings, and bringing the profiles, listings and pages that other people serve up to the current version. Use it when running `ref/mkt/brand-refresh` and `ref/mkt/name-product`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Name and mark registration ## What it does Takes and maintains what the organization holds on outside systems, which means securing the domains, handles and marks and authorizing the filings, and bringing the profiles, listings and pages that other people serve up to the current version. ## Where it happens The agent does this in three activities across two reference processes. Each one names the activity as that process words it. - **Change the Profiles Held Elsewhere** - `ref/mkt/brand-refresh`, activity 20 - [Roll Out Brand Refresh](../../../../processes/marketing/brand-refresh.md) - **Register the Names and the Marks** - `ref/mkt/brand-refresh`, activity 15 - [Roll Out Brand Refresh](../../../../processes/marketing/brand-refresh.md) - **Secure the Name** - `ref/mkt/name-product`, activity 13 - [Name Product or Company](../../../../processes/marketing/name-product.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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: outside-research-supply description: Buys in the research capacity the department cannot supply itself, such as respondents the contact base does not reach and an interviewer from outside the deal who will hear more than the people who ran it. Use it when running `ref/mkt/brand-health`, `ref/mkt/customer-research` and `ref/mkt/win-loss-analysis`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Outside research supply ## What it does Buys in the research capacity the department cannot supply itself, such as respondents the contact base does not reach and an interviewer from outside the deal who will hear more than the people who ran it. ## Where it happens The agent does this in two activities across three reference processes. Each one names the activity as that process words it. - **Arrange the Outside Interviewer** - `ref/mkt/win-loss-analysis`, activity 7 - [Conduct Win/Loss Analysis](../../../../processes/marketing/win-loss-analysis.md) - **Arrange the Outside Sample** - `ref/mkt/brand-health`, activity 9 - [Measure Brand Health](../../../../processes/marketing/brand-health.md) - `ref/mkt/customer-research`, activity 8 - [Conduct Customer Research](../../../../processes/marketing/customer-research.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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: register-entry description: Lands a new agreement in the register with everything a later reader needs, which is what it is for, what it costs, the term, the renewal date and the named owner, and hands it to that owner with a date to review it. Use it when running `ref/mkt/select-marketing-technology`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Register entry ## What it does Lands a new agreement in the register with everything a later reader needs, which is what it is for, what it costs, the term, the renewal date and the named owner, and hands it to that owner with a date to review 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. - **Hand It to the Owner** - `ref/mkt/select-marketing-technology`, activity 20 - [Select Marketing Technology](../../../../processes/marketing/select-marketing-technology.md) - **Write It into the Register** - `ref/mkt/select-marketing-technology`, activity 19 - [Select Marketing Technology](../../../../processes/marketing/select-marketing-technology.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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: register-lookup description: Reads the register of what the department already buys and already owns, to answer whether something on hand does the job and how much money is already committed to contracts and licenses running into the coming period. Use it when running `ref/mkt/select-marketing-technology` and `ref/mkt/set-marketing-budget`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Register lookup ## What it does Reads the register of what the department already buys and already owns, to answer whether something on hand does the job and how much money is already committed to contracts and licenses running into the coming period. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Check What Is Already Owned** - `ref/mkt/select-marketing-technology`, activity 2 - [Select Marketing Technology](../../../../processes/marketing/select-marketing-technology.md) - **List the Money Already Committed** - `ref/mkt/set-marketing-budget`, activity 3 - [Set Marketing Budget](../../../../processes/marketing/set-marketing-budget.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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: requirement-definition description: Writes down what is needed before any candidate has been looked at, starting from the gap the department cannot cover today and ending with requirements that are ranked and testable or a scope of work with its deliverables and dates. Use it when running `ref/mkt/engage-marketing-agency` and `ref/mkt/select-marketing-technology`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Requirement definition ## What it does Writes down what is needed before any candidate has been looked at, starting from the gap the department cannot cover today and ending with requirements that are ranked and testable or a scope of work with its deliverables and dates. ## Where it happens The agent does this in three activities across two reference processes. Each one names the activity as that process words it. - **Take in the Gap** - `ref/mkt/select-marketing-technology`, activity 1 - [Select Marketing Technology](../../../../processes/marketing/select-marketing-technology.md) - **Write down the Requirements** - `ref/mkt/select-marketing-technology`, activity 3 - [Select Marketing Technology](../../../../processes/marketing/select-marketing-technology.md) - **Write the Scope** - `ref/mkt/engage-marketing-agency`, activity 4 - [Engage Marketing Agency](../../../../processes/marketing/engage-marketing-agency.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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: same-request-to-every-candidate description: Puts one request in front of everyone at the same time, with the same scope and the same questions, so that what comes back can be compared line for line. Use it when running `ref/mkt/engage-marketing-agency` and `ref/mkt/select-marketing-technology`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Same request to every candidate ## What it does Puts one request in front of everyone at the same time, with the same scope and the same questions, so that what comes back can be compared line for line. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Brief the Selection** - `ref/mkt/select-marketing-technology`, activity 5 - [Select Marketing Technology](../../../../processes/marketing/select-marketing-technology.md) - **Issue the Request** - `ref/mkt/engage-marketing-agency`, activity 8 - [Engage Marketing Agency](../../../../processes/marketing/engage-marketing-agency.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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: scoring-criteria description: Fixes how a candidate or a proposal will be judged, and does it before any of them arrive, so nobody can change the measure once the names are known. Use it when running `ref/mkt/engage-marketing-agency` and `ref/mkt/select-marketing-technology`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Scoring criteria ## What it does Fixes how a candidate or a proposal will be judged, and does it before any of them arrive, so nobody can change the measure once the names are known. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Set the Scoring Criteria** - `ref/mkt/select-marketing-technology`, activity 4 - [Select Marketing Technology](../../../../processes/marketing/select-marketing-technology.md) - **Set the Selection Criteria** - `ref/mkt/engage-marketing-agency`, activity 6 - [Engage Marketing Agency](../../../../processes/marketing/engage-marketing-agency.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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: selection-learnings description: Files what the selection or the engagement taught, which means what to repeat and what to avoid the next time the department buys something like it. Use it when running `ref/mkt/engage-marketing-agency` and `ref/mkt/select-marketing-technology`. license: CC-BY-4.0 metadata: agent: supplier-manager agent-version: "1" --- # Selection learnings ## What it does Files what the selection or the engagement taught, which means what to repeat and what to avoid the next time the department buys something like it. ## Where it happens The agent does this in one activity across two reference processes. Each one names the activity as that process words it. - **Record What Was Learned** - `ref/mkt/engage-marketing-agency`, activity 16 - [Engage Marketing Agency](../../../../processes/marketing/engage-marketing-agency.md) - `ref/mkt/select-marketing-technology`, activity 21 - [Select Marketing Technology](../../../../processes/marketing/select-marketing-technology.md) ## What to record The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed. 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": {
"supplier-and-registration-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/supplier-and-registration-record"
},
"requirements-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/requirements-record"
},
"agreements-and-their-terms": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/agreements-and-their-terms"
},
"accounting-record-for-the-period": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/accounting-record-for-the-period"
},
"budget-for-the-period": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/budget-for-the-period"
},
"public-and-licensed-sources": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/public-and-licensed-sources"
},
"notification-channel": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/notification-channel"
},
"review-schedule": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/review-schedule"
},
"meeting-calendar": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/meeting-calendar"
}
}
}
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, 33 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.
Arrange the Outside Sample
Find What Is Registered Outside · Register the Names and the Marks · Change the Profiles Held Elsewhere
Arrange the Outside Sample
Write the Scope · Set the Selection Criteria · Build the Candidate List · Issue the Request · Hear the Pitches · Check the References · Settle the Contract · Set up the Access · Brief the Agency · Record What Was Learned
Search the Registers · Clear the Shortlist · Secure the Name
Commission the New Capacity
Take in the Gap · Check What Is Already Owned · Write down the Requirements · Set the Scoring Criteria · Brief the Selection · Search the Market · Cut to a Shortlist · Try the Finalists on Real Work · Agree the Terms and Sign · Write It into the Register · Hand It to the Owner · Record What Was Learned
List the Money Already Committed
Arrange the Outside Interviewer
What it writes down
The register holds one entry for each supplier, subscription, agreement, membership and registration: what it is for, the agent or the person who owns it, what it costs, the term, the renewal date, and the notice a cancellation needs. An entry missing an owner or a renewal date is recorded as missing them rather than left out of the register. For every search, the requirements and the criteria at a version with the date they were written, the candidates that were looked at and where each one came from, the candidates dropped before scoring with the requirement each one failed, and what the search itself cost to run. Every answer a candidate gave, attributed to the candidate and dated. A dated notice for each renewal, naming who was told, when they were told, and what the owner decided. For every entry that ended, the date it ended, who decided to end it, and what happened to the material or the data the outside party was holding. For every registration, what was registered, with which body, on what date, and when it has to be renewed.
What it will not do
Does not score the candidates. That is the supplier-check agent, working from the requirements and the criteria this agent wrote down before any candidate arrived, and this agent never scores what it went out and found. Does not decide which candidate the organization takes. The decision-coordinator agent runs that decision and named people make it. Does not sign an agreement, agree a price, or release a payment. The legal reviewer reads the terms, finance commits and pays, and this agent hands them the entry with the cost and the date on it. Does not hold the department's record of money for the year, which is the budget-keeper agent; this agent says what an entry costs and that agent says whether there is money for it. Does not check an invoice against what was ordered and what ran, which is the spend-reconciler agent. Does not buy media or move spend between channels, which is the media-buyer agent. Does not manage the work a supplier does once it is engaged. The agent that owns the run briefs the agency, takes its work and answers for it. Does not put a tool into use, configure it, or move data into it. Does not decide the name of a product or a company, which comes out of a decision the decision-coordinator agent runs; this agent searches what is already registered and holds the registration afterwards. Does not hold the claims register, the brand guidelines or the positioning, which is the standards-keeper agent. Does not keep the department's book of work or say which agents a run needs, which is the capacity-manager agent. Does not run the organization's entries into awards, calls for papers and analyst evaluations, which is the submissions-manager agent. Does not sign anything.
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: supplier-manager 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.
- map MCP server · maraventano.github.io · run it yourself · mirrored from the MCP registry A subtractive MCP for agent commerce: read · pay · publish. Teacher, not butler.
- Supplier Terms Reader MCP server · wxt-ai.github.io · hosted · mirrored from the MCP registry Prepare supplier purchasing terms
- agentfulfyl MCP server · capataina.github.io · hosted · mirrored from the MCP registry Research storefront for AI agents: fixed GBP prices, evidence ledgers, citation-refund guarantee.