Sign in
abstract agent · marketing · 8 processes · plugin 1.0.0

Communications manager

comms-manager v1

Runs 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.

The abstract agent

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

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

WORKS INref/mkt/announce-company-newsref/mkt/award-entryref/mkt/brand-refreshGRANTEDthe announcement plan and its timelinewrite — the date, and what was known at each pthe message recordwrite — each audience's wording lands here at the claims registerreadbrand guidelinesreadthe incident recordread — the facts as the people handling the inthe coverage recordreadthe staged releasestrigger — the pieces go out in the planned ordTHE ABSTRACT AGENTcomms-managerv1runs one announcement or…HANDS TO A PERSONthe decision to go out at…a person decidesa change to the date, and…a person decidesa fact that changes after…a person decidesanything a sign-off flags…a person decidestwo audiences that have…a person decidesMUST FOLLOWcollect-and-reportdecide-and-announcebriefingapprovaldebrief

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.

The plugin

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.

comms-manager · 19 files · 1.0.0
com.agentcatalog.agent/NOT.mdWhat the agent does not do, and when it asks a person.
# Where this abstract agent stops

Does not 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
com.agentcatalog.agent/RECORDS.mdThe records the agent must leave behind.
# The records this abstract agent must leave

This is the contract. An agent implementing `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.
com.agentcatalog.agent/SERVERS.mdThe systems the agent needs, by role rather than by product.
# The systems this abstract agent needs

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

| Role | Access | What the access is for |
|---|---|---|
| the 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.
plugin.jsonThe manifest. It lists the skills and the systems the agent needs.
{
  "$schema": "https://agent-plugins.org/schemas/1.1.0/plugin.schema.json",
  "name": "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"
          ]
        }
      ]
    }
  }
}
README.mdWhat the package is, and why it carries no mcp.json.
# 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
skills/choose-the-outlets-the-story-fits/SKILL.mdThe 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`.
---
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`.
skills/close-the-run-and-report-on-it/SKILL.mdWhen 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`.
---
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`.
skills/confirm-the-facts/SKILL.mdThe 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`.
---
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`.
skills/get-the-people-who-speak-ready/SKILL.mdThe 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`.
---
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`.
skills/get-the-quotes-approved/SKILL.mdThe 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`.
---
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`.
skills/judge-how-far-it-reaches/SKILL.md"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`."
---
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`.
skills/keep-every-audience-version-saying-the-same-thing/SKILL.mdThe 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`.
---
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`.
skills/log-what-ran/SKILL.mdThe agent records every piece that ran in response, what it said, and where it appeared. Use it when running `ref/mkt/pitch-earned-media`.
---
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`.
skills/produce-the-material-that-goes-with-the-story/SKILL.mdThe 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`.
---
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`.
skills/run-the-request-and-answer-round/SKILL.mdThe 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`.
---
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`.
skills/send-it-out-on-the-date/SKILL.mdOnce 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.
---
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`.
skills/set-the-date-and-the-order/SKILL.mdThe 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`.
---
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`.
skills/settle-what-the-organization-will-say/SKILL.mdThe 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`.
---
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`.
skills/take-in-what-has-to-be-said/SKILL.mdThe 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.
---
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`.
mcp.jsonNot in the package.

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

Setting it up

Point it at your systems

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

announcement-plan-and-its-timeline · writemessage-record · writeclaims-register · readbrand-guidelines · readincident-record · readcoverage-record · readstaged-releases · trigger
mcp.json You write this file. It is not part of the package.
{
  "$schema": "https://agent-plugins.org/schemas/1.1.0/mcp.schema.json",
  "mcpServers": {
    "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.

Where it works

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.

Announce Company Newsref/mkt/announce-company-news · 17 activities
1234567891011121314151617

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

Submit Award Entryref/mkt/award-entry · 16 activities
12345678910111213141516

Hand the Result On

Roll Out Brand Refreshref/mkt/brand-refresh · 26 activities
1234567891011121314151617181920212223242526

Say It in Public

Manage Crisis Communicationref/mkt/crisis-communication · 16 activities
12345678910111213141516

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

Announce Feature Releaseref/mkt/feature-release · 10 activities
12345678910

Take in the Release · Size the Announcement · Write the Announcement · Post It Publicly

Pitch Earned Mediaref/mkt/pitch-earned-media · 15 activities
123456789101112131415

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

Launch Pricing Changeref/mkt/pricing-change · 16 activities
12345678910111213141516

Settle the Explanation · Change the Public Price

Set Marketing Budgetref/mkt/set-marketing-budget · 15 activities
123456789101112131415

Collect What Each Function Asks For · Tell Every Function What It Has

The records it leaves

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.

Where it stops

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.

Agents built from this plugin

Who has built one, and how far each one got

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

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

The closest things in the catalog, by description

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

Might do the job

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,…
Might be reached for

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

  • 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.