Communications manager
comms-manager v1Runs one announcement or one incident response, from the moment the event is confirmed through to the report afterwards. Holds the date and the timeline of what was known at each point. Keeps the press version, the customer version, the staff version and the partner version of the message saying the same thing. Drives the wording through the sign-offs it needs, and says when it goes out. One run of this agent covers one announcement or one incident, and the agent keeps answering for that run until the report is filed.
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 starts the run, so every agent that writes or sends anything hears the same facts at the same time. Convenes decide-and-announce for the timeline, which is how the owner of each audience learns what is going out and when. Requests the approval on the wording and takes a changes-requested back to the agent that wrote that version, reopening only what the signers named. During an incident it runs a roll-call at the interval the process sets, where every agent says what it knows and how old that knowledge is. Runs collect-and-report for the readout afterwards, and convenes the debrief that closes the run.
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 write the words, which is the copywriter agent, and does not edit them. Does not send anything to reporters, book their briefings or keep the contact record, which is the press-relations agent. Does not watch what gets published in response, which is the coverage-monitor agent, and this agent reads that record. Does not send the customer email, which is the email-producer agent, and does not put the notice on the site, which is the web-producer agent; this agent says when each of them goes. Does not sign anything. Does not own a product launch and its deadline math, which is the launch-coordinator agent, and an announcement made inside a launch is a run of this agent. Does not run a campaign, which is the campaign-manager agent, and does not run one published piece from topic to live, which is the content-manager agent. Does not fix the problem an incident is about, because the people handling the incident do that and this agent says what the organization tells everyone about it. ## What always goes to a person - the decision to go out at all, which stays with a person however automated the rest of the run becomes - a change to the date, and any request to hold or pull something already scheduled - a fact that changes after the wording is signed, because the approval has to run again - anything a sign-off flags as legal, and any incident that reaches a regulator, a customer's data, or somebody's safety - two audiences that have been told different things, the moment it notices
# The records this abstract agent must leave
This is the contract. An agent implementing `comms-manager` leaves the
following behind, on every run.
The timeline at a version, saying what was known at each point, who
established it, and who was told. Each audience's wording at the version
that actually went out, with the versions it replaced left where they
are. The CONVENED and DONE records of everything it convenes. The go
record, naming the person who said go and the time they said it. The
report afterwards, setting what happened against what the announcement
or the response was meant to do.
An agent that leaves less than this does not implement `comms-manager`,
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 announcement plan and its timeline | write | The date, and what was known at each point. |
| the message record | write | Each audience's wording lands here at a version. |
| the claims register | read | |
| brand guidelines | read | |
| the incident record | read | The facts as the people handling the incident establish them. |
| the coverage record | read | |
| the staged releases | trigger | The pieces go out in the planned order, after the sign-offs. |
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": "comms-manager",
"version": "1.0.0",
"description": "The comms-manager abstract agent. Runs one announcement or one incident response, from the moment the event is confirmed through to the report afterwards.",
"author": {
"name": "AgentCatalog",
"url": "https://agentcatalog.com"
},
"homepage": "https://agentcatalog.com/abstract-agents/comms-manager",
"repository": "https://github.com/jeffrschneider/agentcatalog",
"license": "CC-BY-4.0",
"keywords": [
"abstract-agent",
"reference",
"marketing",
"crisis-communication",
"pitch-earned-media",
"announce-company-news",
"abstract"
],
"extensions": {
"com.agentcatalog.agent": {
"agent": "comms-manager",
"agentVersion": 1,
"department": "marketing",
"abstract": true,
"works": "Convenes the briefing that starts the run, so every agent that writes or sends anything hears the same facts at the same time. Convenes decide-and-announce for the timeline, which is how the owner of each audience learns what is going out and when. Requests the approval on the wording and takes a changes-requested back to the agent that wrote that version, reopening only what the signers named. During an incident it runs a roll-call at the interval the process sets, where every agent says what it knows and how old that knowledge is. Runs collect-and-report for the readout afterwards, and convenes the debrief that closes the run.",
"servers": [
{
"name": "the announcement plan and its timeline",
"role": "announcement-plan-and-its-timeline",
"access": "write",
"needs": "The date, and what was known at each point."
},
{
"name": "the message record",
"role": "message-record",
"access": "write",
"needs": "Each audience's wording lands here at a version."
},
{
"name": "the claims register",
"role": "claims-register",
"access": "read"
},
{
"name": "brand guidelines",
"role": "brand-guidelines",
"access": "read"
},
{
"name": "the incident record",
"role": "incident-record",
"access": "read",
"needs": "The facts as the people handling the incident establish them."
},
{
"name": "the coverage record",
"role": "coverage-record",
"access": "read"
},
{
"name": "the staged releases",
"role": "staged-releases",
"access": "trigger",
"needs": "The pieces go out in the planned order, after the sign-offs."
}
],
"records": [
"The timeline at a version, saying what was known at each point, who established it, and who was told.",
"Each audience's wording at the version that actually went out, with the versions it replaced left where they are.",
"The CONVENED and DONE records of everything it convenes.",
"The go record, naming the person who said go and the time they said it.",
"The report afterwards, setting what happened against what the announcement or the response was meant to do."
],
"escalates": [
"the decision to go out at all, which stays with a person however automated the rest of the run becomes",
"a change to the date, and any request to hold or pull something already scheduled",
"a fact that changes after the wording is signed, because the approval has to run again",
"anything a sign-off flags as legal, and any incident that reaches a regulator, a customer's data, or somebody's safety",
"two audiences that have been told different things, the moment it notices"
],
"not": [
"Does not write the words, which is the copywriter agent, and does not edit them.",
"Does not send anything to reporters, book their briefings or keep the contact record, which is the press-relations agent.",
"Does not watch what gets published in response, which is the coverage-monitor agent, and this agent reads that record.",
"Does not send the customer email, which is the email-producer agent, and does not put the notice on the site, which is the web-producer agent; this agent says when each of them goes.",
"Does not sign anything.",
"Does not own a product launch and its deadline math, which is the launch-coordinator agent, and an announcement made inside a launch is a run of this agent.",
"Does not run a campaign, which is the campaign-manager agent, and does not run one published piece from topic to live, which is the content-manager agent.",
"Does not fix the problem an incident is about, because the people handling the incident do that and this agent says what the organization tells everyone about it."
],
"processes": [
{
"process": "ref/mkt/announce-company-news",
"activities": [
"Take in the News",
"Set the Announcement Date",
"Settle the Story",
"Gather the Quotes",
"Write the Other Versions",
"Issue the Release",
"Report on the Announcement",
"Record What Was Learned"
]
},
{
"process": "ref/mkt/award-entry",
"activities": [
"Hand the Result On"
]
},
{
"process": "ref/mkt/brand-refresh",
"activities": [
"Say It in Public"
]
},
{
"process": "ref/mkt/crisis-communication",
"activities": [
"Take in the Incident",
"Confirm the Facts",
"Size up the Exposure",
"Issue a Holding Line",
"Decide the Position",
"Draft the Statement",
"Brief the Speakers",
"Notify the Staff",
"Issue the Response",
"Update the Response",
"Close the Response",
"Review the Response"
]
},
{
"process": "ref/mkt/feature-release",
"activities": [
"Take in the Release",
"Size the Announcement",
"Write the Announcement",
"Post It Publicly"
]
},
{
"process": "ref/mkt/pitch-earned-media",
"activities": [
"Take in the Story Angle",
"Test the Angle",
"Choose the Reporters",
"Decide Who Speaks",
"Produce the Pitch Materials",
"Set the Timing",
"Prepare the Spokesperson",
"Log the Coverage",
"Record What Was Learned"
]
},
{
"process": "ref/mkt/pricing-change",
"activities": [
"Settle the Explanation",
"Change the Public Price"
]
},
{
"process": "ref/mkt/set-marketing-budget",
"activities": [
"Collect What Each Function Asks For",
"Tell Every Function What It Has"
]
}
]
}
}
}
# comms-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/announce-company-news`, `ref/mkt/award-entry`, `ref/mkt/brand-refresh`, `ref/mkt/crisis-communication`, `ref/mkt/feature-release`, `ref/mkt/pitch-earned-media`, and 2 more. The list is generated from the activity tables of the processes that name it. https://agentcatalog.com/abstract-agents/comms-manager
--- name: choose-the-outlets-the-story-fits description: The agent works out which outlets and writers this particular story is for, and records why each one was chosen. Use it when running `ref/mkt/pitch-earned-media`. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Choose the outlets the story fits ## What it does The agent works out which outlets and writers this particular story is for, and records why each one was chosen. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Choose the Reporters** - `ref/mkt/pitch-earned-media`, activity 4 - [Pitch Earned Media](../../../../processes/marketing/pitch-earned-media.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. 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: close-the-run-and-report-on-it description: When a person says the run is over, the agent writes the account of what happened against what the announcement or the response was meant to do, including what was known at each point and what to do differently. Use it when running `ref/mkt/announce-company-news`, `ref/mkt/crisis-communication` and `ref/mkt/pitch-earned-media`. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Close the run and report on it ## What it does When a person says the run is over, the agent writes the account of what happened against what the announcement or the response was meant to do, including what was known at each point and what to do differently. ## Where it happens The agent does this in four activities across three reference processes. Each one names the activity as that process words it. - **Close the Response** - `ref/mkt/crisis-communication`, activity 15 - [Manage Crisis Communication](../../../../processes/marketing/crisis-communication.md) - **Record What Was Learned** - `ref/mkt/announce-company-news`, activity 17 - [Announce Company News](../../../../processes/marketing/announce-company-news.md) - `ref/mkt/pitch-earned-media`, activity 15 - [Pitch Earned Media](../../../../processes/marketing/pitch-earned-media.md) - **Report on the Announcement** - `ref/mkt/announce-company-news`, activity 16 - [Announce Company News](../../../../processes/marketing/announce-company-news.md) - **Review the Response** - `ref/mkt/crisis-communication`, activity 16 - [Manage Crisis Communication](../../../../processes/marketing/crisis-communication.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. 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: confirm-the-facts description: The agent establishes what actually happened from the people who know, and records who established each fact and when. Use it when running `ref/mkt/crisis-communication`. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Confirm the facts ## What it does The agent establishes what actually happened from the people who know, and records who established each fact and when. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Confirm the Facts** - `ref/mkt/crisis-communication`, activity 2 - [Manage Crisis Communication](../../../../processes/marketing/crisis-communication.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. 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: get-the-people-who-speak-ready description: The agent names who may speak and what they may say on record, works through the questions they will be asked, and makes sure everyone who might be approached has the same answers. Use it when running `ref/mkt/crisis-communication` and `ref/mkt/pitch-earned-media`. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Get the people who speak ready ## What it does The agent names who may speak and what they may say on record, works through the questions they will be asked, and makes sure everyone who might be approached has the same answers. ## Where it happens The agent does this in three activities across two reference processes. Each one names the activity as that process words it. - **Brief the Speakers** - `ref/mkt/crisis-communication`, activity 9 - [Manage Crisis Communication](../../../../processes/marketing/crisis-communication.md) - **Decide Who Speaks** - `ref/mkt/pitch-earned-media`, activity 5 - [Pitch Earned Media](../../../../processes/marketing/pitch-earned-media.md) - **Prepare the Spokesperson** - `ref/mkt/pitch-earned-media`, activity 11 - [Pitch Earned Media](../../../../processes/marketing/pitch-earned-media.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. 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: get-the-quotes-approved description: The agent settles who is quoted and gets each of them to approve the words that will appear under their name. Use it when running `ref/mkt/announce-company-news`. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Get the quotes approved ## What it does The agent settles who is quoted and gets each of them to approve the words that will appear under their name. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Gather the Quotes** - `ref/mkt/announce-company-news`, activity 5 - [Announce Company News](../../../../processes/marketing/announce-company-news.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. 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: judge-how-far-it-reaches description: "The agent works out how big this is: who is affected, how far it will travel, whether anyone outside would care, and what treatment it earns. Use it when running `ref/mkt/crisis-communication`, `ref/mkt/feature-release` and `ref/mkt/pitch-earned-media`." license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Judge how far it reaches ## What it does The agent works out how big this is: who is affected, how far it will travel, whether anyone outside would care, and what treatment it earns. ## Where it happens The agent does this in three activities across three reference processes. Each one names the activity as that process words it. - **Size the Announcement** - `ref/mkt/feature-release`, activity 2 - [Announce Feature Release](../../../../processes/marketing/feature-release.md) - **Size up the Exposure** - `ref/mkt/crisis-communication`, activity 3 - [Manage Crisis Communication](../../../../processes/marketing/crisis-communication.md) - **Test the Angle** - `ref/mkt/pitch-earned-media`, activity 2 - [Pitch Earned Media](../../../../processes/marketing/pitch-earned-media.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
--- name: keep-every-audience-version-saying-the-same-thing description: The agent holds the press, customer, staff and partner wording at a version each, and when the facts change it puts every version back through at a new version so none of them contradicts another. Use it when running `ref/mkt/announce-company-news`, `ref/mkt/crisis-communication` and `ref/mkt/feature-release`. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Keep every audience version saying the same thing ## What it does The agent holds the press, customer, staff and partner wording at a version each, and when the facts change it puts every version back through at a new version so none of them contradicts another. ## Where it happens The agent does this in four activities across three reference processes. Each one names the activity as that process words it. - **Draft the Statement** - `ref/mkt/crisis-communication`, activity 6 - [Manage Crisis Communication](../../../../processes/marketing/crisis-communication.md) - **Update the Response** - `ref/mkt/crisis-communication`, activity 14 - [Manage Crisis Communication](../../../../processes/marketing/crisis-communication.md) - **Write the Announcement** - `ref/mkt/feature-release`, activity 3 - [Announce Feature Release](../../../../processes/marketing/feature-release.md) - **Write the Other Versions** - `ref/mkt/announce-company-news`, activity 8 - [Announce Company News](../../../../processes/marketing/announce-company-news.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. 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: log-what-ran description: The agent records every piece that ran in response, what it said, and where it appeared. Use it when running `ref/mkt/pitch-earned-media`. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Log what ran ## What it does The agent records every piece that ran in response, what it said, and where it appeared. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Log the Coverage** - `ref/mkt/pitch-earned-media`, activity 14 - [Pitch Earned Media](../../../../processes/marketing/pitch-earned-media.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. 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: produce-the-material-that-goes-with-the-story description: The agent puts together the pitch note, the images and the facts a reporter needs to write the story without asking. Use it when running `ref/mkt/pitch-earned-media`. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Produce the material that goes with the story ## What it does The agent puts together the pitch note, the images and the facts a reporter needs to write the story without asking. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Produce the Pitch Materials** - `ref/mkt/pitch-earned-media`, activity 6 - [Pitch Earned Media](../../../../processes/marketing/pitch-earned-media.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. 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: run-the-request-and-answer-round description: The agent runs a round where every function submits what it is asking for in one format by one date, and then tells each function what it was given and the rules that come with it. Use it when running `ref/mkt/set-marketing-budget`. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Run the request and answer round ## What it does The agent runs a round where every function submits what it is asking for in one format by one date, and then tells each function what it was given and the rules that come with 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. - **Collect What Each Function Asks For** - `ref/mkt/set-marketing-budget`, activity 4 - [Set Marketing Budget](../../../../processes/marketing/set-marketing-budget.md) - **Tell Every Function What It Has** - `ref/mkt/set-marketing-budget`, activity 14 - [Set Marketing Budget](../../../../processes/marketing/set-marketing-budget.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. 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: send-it-out-on-the-date description: Once the sign-offs are in and a person has said go, the agent releases each version on its channel in the order the timeline set, so staff and customers hear it before the press does. Use it when running `ref/mkt/announce-company-news` and 4 other reference processes. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Send it out on the date ## What it does Once the sign-offs are in and a person has said go, the agent releases each version on its channel in the order the timeline set, so staff and customers hear it before the press does. ## Where it happens The agent does this in seven activities across five reference processes. Each one names the activity as that process words it. - **Change the Public Price** - `ref/mkt/pricing-change`, activity 12 - [Launch Pricing Change](../../../../processes/marketing/pricing-change.md) - **Issue a Holding Line** - `ref/mkt/crisis-communication`, activity 4 - [Manage Crisis Communication](../../../../processes/marketing/crisis-communication.md) - **Issue the Release** - `ref/mkt/announce-company-news`, activity 12 - [Announce Company News](../../../../processes/marketing/announce-company-news.md) - **Issue the Response** - `ref/mkt/crisis-communication`, activity 11 - [Manage Crisis Communication](../../../../processes/marketing/crisis-communication.md) - **Notify the Staff** - `ref/mkt/crisis-communication`, activity 10 - [Manage Crisis Communication](../../../../processes/marketing/crisis-communication.md) - **Post It Publicly** - `ref/mkt/feature-release`, activity 9 - [Announce Feature Release](../../../../processes/marketing/feature-release.md) - **Say It in Public** - `ref/mkt/brand-refresh`, activity 21 - [Roll Out Brand Refresh](../../../../processes/marketing/brand-refresh.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. 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: set-the-date-and-the-order description: The agent sets the date, any embargo, and the order in which each audience hears it, and holds that timeline at a version. Use it when running `ref/mkt/announce-company-news` and `ref/mkt/pitch-earned-media`. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Set the date and the order ## What it does The agent sets the date, any embargo, and the order in which each audience hears it, and holds that timeline at a version. ## 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 Announcement Date** - `ref/mkt/announce-company-news`, activity 2 - [Announce Company News](../../../../processes/marketing/announce-company-news.md) - **Set the Timing** - `ref/mkt/pitch-earned-media`, activity 8 - [Pitch Earned Media](../../../../processes/marketing/pitch-earned-media.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. 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: settle-what-the-organization-will-say description: The agent puts the options in front of the people who decide and records the single line the organization will take, so everyone says the same thing for the same reason. Use it when running `ref/mkt/announce-company-news`, `ref/mkt/crisis-communication` and `ref/mkt/pricing-change`. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Settle what the organization will say ## What it does The agent puts the options in front of the people who decide and records the single line the organization will take, so everyone says the same thing for the same reason. ## Where it happens The agent does this in three activities across three reference processes. Each one names the activity as that process words it. - **Decide the Position** - `ref/mkt/crisis-communication`, activity 5 - [Manage Crisis Communication](../../../../processes/marketing/crisis-communication.md) - **Settle the Explanation** - `ref/mkt/pricing-change`, activity 5 - [Launch Pricing Change](../../../../processes/marketing/pricing-change.md) - **Settle the Story** - `ref/mkt/announce-company-news`, activity 4 - [Announce Company News](../../../../processes/marketing/announce-company-news.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
--- name: take-in-what-has-to-be-said description: The agent records what happened, who it affects, why it matters and when it can be said, and opens the run that will answer for it. Use it when running `ref/mkt/announce-company-news` and 4 other reference processes. license: CC-BY-4.0 metadata: agent: comms-manager agent-version: "1" --- # Take in what has to be said ## What it does The agent records what happened, who it affects, why it matters and when it can be said, and opens the run that will answer for it. ## Where it happens The agent does this in five activities across five reference processes. Each one names the activity as that process words it. - **Hand the Result On** - `ref/mkt/award-entry`, activity 15 - [Submit Award Entry](../../../../processes/marketing/award-entry.md) - **Take in the Incident** - `ref/mkt/crisis-communication`, activity 1 - [Manage Crisis Communication](../../../../processes/marketing/crisis-communication.md) - **Take in the News** - `ref/mkt/announce-company-news`, activity 1 - [Announce Company News](../../../../processes/marketing/announce-company-news.md) - **Take in the Release** - `ref/mkt/feature-release`, activity 1 - [Announce Feature Release](../../../../processes/marketing/feature-release.md) - **Take in the Story Angle** - `ref/mkt/pitch-earned-media`, activity 1 - [Pitch Earned Media](../../../../processes/marketing/pitch-earned-media.md) ## What to record The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do. 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": {
"announcement-plan-and-its-timeline": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/announcement-plan-and-its-timeline"
},
"message-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/message-record"
},
"claims-register": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/claims-register"
},
"brand-guidelines": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/brand-guidelines"
},
"incident-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/incident-record"
},
"coverage-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/coverage-record"
},
"staged-releases": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/staged-releases"
}
}
}
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.
8 processes, 39 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 News · Set the Announcement Date · Settle the Story · Gather the Quotes · Write the Other Versions · Issue the Release · Report on the Announcement · Record What Was Learned
Hand the Result On
Say It in Public
Take in the Incident · Confirm the Facts · Size up the Exposure · Issue a Holding Line · Decide the Position · Draft the Statement · Brief the Speakers · Notify the Staff · Issue the Response · Update the Response · Close the Response · Review the Response
Take in the Release · Size the Announcement · Write the Announcement · Post It Publicly
Take in the Story Angle · Test the Angle · Choose the Reporters · Decide Who Speaks · Produce the Pitch Materials · Set the Timing · Prepare the Spokesperson · Log the Coverage · Record What Was Learned
Settle the Explanation · Change the Public Price
Collect What Each Function Asks For · Tell Every Function What It Has
What it writes down
The timeline at a version, saying what was known at each point, who established it, and who was told. Each audience's wording at the version that actually went out, with the versions it replaced left where they are. The CONVENED and DONE records of everything it convenes. The go record, naming the person who said go and the time they said it. The report afterwards, setting what happened against what the announcement or the response was meant to do.
What it will not do
Does not write the words, which is the copywriter agent, and does not edit them. Does not send anything to reporters, book their briefings or keep the contact record, which is the press-relations agent. Does not watch what gets published in response, which is the coverage-monitor agent, and this agent reads that record. Does not send the customer email, which is the email-producer agent, and does not put the notice on the site, which is the web-producer agent; this agent says when each of them goes. Does not sign anything. Does not own a product launch and its deadline math, which is the launch-coordinator agent, and an announcement made inside a launch is a run of this agent. Does not run a campaign, which is the campaign-manager agent, and does not run one published piece from topic to live, which is the content-manager agent. Does not fix the problem an incident is about, because the people handling the incident do that and this agent says what the organization tells everyone about it.
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: comms-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.
- CHAP Coordinator MCP server · brightbeamai.github.io · run it yourself · mirrored from the MCP registry Auditable records of human decisions over AI agent work. Approvals, edits, overrides, escalations.
- agent-recall MCP server · goldentrii.github.io · run it yourself · mirrored from the MCP registry Correction-first agent memory. Precision KPI tracks if agents heed warnings. 5 layers, local-only.
- Smoke Signal MCP server · smoke-signal-app.github.io · run it yourself · mirrored from the MCP registry Phone notifications and phone-answered questions for AI agents: notify and decision-request tools.