Content manager
content-manager v1Runs one published piece from the approved request through to live: an article, a guide, or a landing page. Takes the request in, settles what the piece has to do and by when, briefs the researcher, the copywriter and the designer, keeps the piece moving through research, writing, editing and sign-off, says when it goes live, and reports how it did once it is out. This agent handles one piece at a time, and it keeps answering for that piece while the piece is live.
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 piece, so the researcher, the copywriter, the designer and the editor all hear the same request at once. Commissions build-by-talent for production, and declares the order of the passes in layered-passes so each checking agent knows when its turn comes. Requests the approval at sign-off and takes a changes-requested back to the agent the signers named. Runs collect-and-report for the performance readout once the piece is live, and convenes the debrief that closes the run.
What is in the package
15 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, research, edit, or design the piece. Does not build the page or push it live - that is the web-producer agent, which acts on this agent's go. Does not put the measurement on the page, which is the conversion-tracker agent. Does not sign anything. Does not run the campaign a piece may sit inside, because one campaign can call for several pieces and each piece gets its own run of this agent. Does not own the department's report for a reporting period - that is the reporting-manager agent, and this agent answers for one piece. ## What always goes to a person - a date the piece cannot make, on the day the math stops working - cutting the piece or moving the date is a person's call - anything a sign-off flags as legal - a correction or a takedown after the piece is live - a person decides what the notice says and where it goes - the publish decision itself, until the adopting organization raises the automation level for it
# The records this abstract agent must leave
This is the contract. An agent implementing `content-manager` leaves the
following behind, on every run.
The request as it was accepted, with the date the piece promised and
what the piece is meant to accomplish. The CONVENED and DONE records of
everything it convenes. The publish record, naming who said go and which
version went live. The performance readout at the cadence the process
sets, and the decision it made after reading that readout: leave the
piece alone, update it, or retire it.
An agent that leaves less than this does not implement
`content-manager`, whatever else it does well.
# The systems this abstract agent needs
Four 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 content plan and its schedule | write | The piece's dates and its current state live here. |
| the asset store | read | |
| the CMS | read | It reads what is live and changes nothing. |
| analytics | read | |
There is deliberately no publishing grant. This agent says when the
piece goes live, and the web-producer agent is the one that publishes
it.
Whoever builds an agent from this plugin writes the `mcp.json` that
points these roles at their own systems. Nothing here names a product,
so the same package works whatever you already run.
{
"$schema": "https://agent-plugins.org/schemas/1.1.0/plugin.schema.json",
"name": "content-manager",
"version": "1.0.0",
"description": "The content-manager abstract agent. Runs one published piece from the approved request through to live: an article, a guide, or a landing page.",
"author": {
"name": "AgentCatalog",
"url": "https://agentcatalog.com"
},
"homepage": "https://agentcatalog.com/abstract-agents/content-manager",
"repository": "https://github.com/jeffrschneider/agentcatalog",
"license": "CC-BY-4.0",
"keywords": [
"abstract-agent",
"reference",
"marketing",
"customer-newsletter",
"landing-page",
"content-calendar",
"abstract"
],
"extensions": {
"com.agentcatalog.agent": {
"agent": "content-manager",
"agentVersion": 1,
"department": "marketing",
"abstract": true,
"works": "Convenes the briefing that starts the piece, so the researcher, the copywriter, the designer and the editor all hear the same request at once. Commissions build-by-talent for production, and declares the order of the passes in layered-passes so each checking agent knows when its turn comes. Requests the approval at sign-off and takes a changes-requested back to the agent the signers named. Runs collect-and-report for the performance readout once the piece is live, and convenes the debrief that closes the run.",
"servers": [
{
"name": "the content plan and its schedule",
"role": "content-plan-and-its-schedule",
"access": "write",
"needs": "The piece's dates and its current state live here."
},
{
"name": "the asset store",
"role": "asset-store",
"access": "read"
},
{
"name": "the CMS",
"role": "cms",
"access": "read",
"needs": "It reads what is live and changes nothing."
},
{
"name": "analytics",
"role": "analytics",
"access": "read"
}
],
"records": [
"The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish.",
"The CONVENED and DONE records of everything it convenes.",
"The publish record, naming who said go and which version went live.",
"The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it."
],
"escalates": [
"a date the piece cannot make, on the day the math stops working - cutting the piece or moving the date is a person's call",
"anything a sign-off flags as legal",
"a correction or a takedown after the piece is live - a person decides what the notice says and where it goes",
"the publish decision itself, until the adopting organization raises the automation level for it"
],
"not": [
"Does not write, research, edit, or design the piece.",
"Does not build the page or push it live - that is the web-producer agent, which acts on this agent's go.",
"Does not put the measurement on the page, which is the conversion-tracker agent.",
"Does not sign anything.",
"Does not run the campaign a piece may sit inside, because one campaign can call for several pieces and each piece gets its own run of this agent.",
"Does not own the department's report for a reporting period - that is the reporting-manager agent, and this agent answers for one piece."
],
"processes": [
{
"process": "ref/mkt/annual-marketing-plan",
"activities": [
"Collect the Candidate Initiatives",
"Build the Calendar",
"Brief the Department"
]
},
{
"process": "ref/mkt/brand-voice",
"activities": [
"Brief the Agents that Write to It"
]
},
{
"process": "ref/mkt/buyer-persona",
"activities": [
"Hand over the Persona"
]
},
{
"process": "ref/mkt/content-calendar",
"activities": [
"List What Is Already Committed",
"Collect the Topic Candidates",
"Size the Production Capacity",
"Draft the Calendar",
"Publish the Calendar",
"Brief the Department",
"Hand over the Approved Topics"
]
},
{
"process": "ref/mkt/customer-case-study",
"activities": [
"Brief the Story",
"Agree What the Story Argues",
"Publish",
"Watch Performance",
"Record What Was Learned"
]
},
{
"process": "ref/mkt/customer-newsletter",
"activities": [
"Open the Issue",
"Settle the Lineup",
"Brief the Makers",
"Proof the Issue",
"Send the Issue",
"Watch the Results",
"Report the Results",
"Record What Was Learned"
]
},
{
"process": "ref/mkt/develop-marketing-strategy",
"activities": [
"Hand the Strategy to the Work that Follows"
]
},
{
"process": "ref/mkt/landing-page",
"activities": [
"Take in the Request",
"Set the Parameters",
"Brief the Makers",
"Publish",
"Hand It to the Campaign",
"Watch It Convert",
"Fix What the Numbers Show",
"Record What Was Learned"
]
},
{
"process": "ref/mkt/long-form-content",
"activities": [
"Take in the Topic",
"Brief the Piece",
"Agree the Outline",
"Publish",
"Watch Performance",
"Report How the Piece Did",
"Record What Was Learned"
]
},
{
"process": "ref/mkt/map-buyer-journey",
"activities": [
"Inventory the Content against the Map",
"Hand over the Map"
]
},
{
"process": "ref/mkt/marketing-performance-report",
"activities": [
"Account for the Published Pieces",
"Check the Account"
]
},
{
"process": "ref/mkt/media-plan",
"activities": [
"Collect What the Plan Must Carry"
]
},
{
"process": "ref/mkt/moderate-community",
"activities": [
"Group the Recurring Questions"
]
},
{
"process": "ref/mkt/plan-marketing-capacity",
"activities": [
"List the Committed Work",
"Break the Work into Activities"
]
},
{
"process": "ref/mkt/prioritize-initiatives",
"activities": [
"Work out What Is Free",
"Settle What Gets Displaced",
"Hand over the Commitments"
]
},
{
"process": "ref/mkt/quarterly-business-review",
"activities": [
"Ask Each Area What It Would Change",
"Brief the Department"
]
},
{
"process": "ref/mkt/refresh-content",
"activities": [
"Brief the Pages in the Cycle",
"Publish the Changes",
"Watch What the Changes Did"
]
},
{
"process": "ref/mkt/set-marketing-budget",
"activities": [
"Collect What Each Function Asks For",
"Tell Every Function What It Has"
]
},
{
"process": "ref/mkt/user-conference",
"activities": [
"Repurpose the Content"
]
},
{
"process": "ref/mkt/website-content-update",
"activities": [
"Take in the Request",
"Route the Change",
"Publish the Change",
"Close out the Change"
]
}
]
}
}
}
# content-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 fifteen 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/annual-marketing-plan`, `ref/mkt/brand-voice`, `ref/mkt/buyer-persona`, `ref/mkt/content-calendar`, `ref/mkt/customer-case-study`, `ref/mkt/customer-newsletter`, and 14 more. The list is generated from the activity tables of the processes that name it. https://agentcatalog.com/abstract-agents/content-manager
--- name: brief-every-agent-at-once description: Gives every agent that has to research, write, design or check the work the same request at the same time, so that nobody is working from a different account of it. Use it when running `ref/mkt/annual-marketing-plan` and 8 other reference processes. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Brief every agent at once ## What it does Gives every agent that has to research, write, design or check the work the same request at the same time, so that nobody is working from a different account of it. ## Where it happens The agent does this in six activities across nine reference processes. Each one names the activity as that process words it. - **Brief the Agents that Write to It** - `ref/mkt/brand-voice`, activity 17 - [Define Brand Voice and Messaging](../../../../processes/marketing/brand-voice.md) - **Brief the Department** - `ref/mkt/annual-marketing-plan`, activity 15 - [Build Annual Marketing Plan](../../../../processes/marketing/annual-marketing-plan.md) - `ref/mkt/content-calendar`, activity 13 - [Plan Content Calendar](../../../../processes/marketing/content-calendar.md) - `ref/mkt/quarterly-business-review`, activity 15 - [Conduct Quarterly Business Review](../../../../processes/marketing/quarterly-business-review.md) - **Brief the Makers** - `ref/mkt/customer-newsletter`, activity 5 - [Publish Customer Newsletter](../../../../processes/marketing/customer-newsletter.md) - `ref/mkt/landing-page`, activity 4 - [Publish Landing Page](../../../../processes/marketing/landing-page.md) - **Brief the Pages in the Cycle** - `ref/mkt/refresh-content`, activity 10 - [Refresh Published Content](../../../../processes/marketing/refresh-content.md) - **Brief the Piece** - `ref/mkt/long-form-content`, activity 3 - [Produce Long-Form Content](../../../../processes/marketing/long-form-content.md) - **Brief the Story** - `ref/mkt/customer-case-study`, activity 6 - [Produce Customer Case Study](../../../../processes/marketing/customer-case-study.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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: build-the-calendar description: Lays the agreed work across the period with a format, an owning agent and a date on each item, and publishes the schedule where every agent reads it. Use it when running `ref/mkt/annual-marketing-plan` and `ref/mkt/content-calendar`. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Build the calendar ## What it does Lays the agreed work across the period with a format, an owning agent and a date on each item, and publishes the schedule where every agent reads it. ## Where it happens The agent does this in three activities across two reference processes. Each one names the activity as that process words it. - **Build the Calendar** - `ref/mkt/annual-marketing-plan`, activity 11 - [Build Annual Marketing Plan](../../../../processes/marketing/annual-marketing-plan.md) - **Draft the Calendar** - `ref/mkt/content-calendar`, activity 10 - [Plan Content Calendar](../../../../processes/marketing/content-calendar.md) - **Publish the Calendar** - `ref/mkt/content-calendar`, activity 12 - [Plan Content Calendar](../../../../processes/marketing/content-calendar.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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: collect-what-every-area-puts-forward description: Sends one request in one format with one due date to every area or agent, and gathers what comes back into a single list. Use it when running `ref/mkt/annual-marketing-plan` and 4 other reference processes. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Collect what every area puts forward ## What it does Sends one request in one format with one due date to every area or agent, and gathers what comes back into a single list. ## Where it happens The agent does this in five activities across five reference processes. Each one names the activity as that process words it. - **Ask Each Area What It Would Change** - `ref/mkt/quarterly-business-review`, activity 8 - [Conduct Quarterly Business Review](../../../../processes/marketing/quarterly-business-review.md) - **Collect What Each Function Asks For** - `ref/mkt/set-marketing-budget`, activity 4 - [Set Marketing Budget](../../../../processes/marketing/set-marketing-budget.md) - **Collect What the Plan Must Carry** - `ref/mkt/media-plan`, activity 2 - [Develop Media Plan](../../../../processes/marketing/media-plan.md) - **Collect the Candidate Initiatives** - `ref/mkt/annual-marketing-plan`, activity 6 - [Build Annual Marketing Plan](../../../../processes/marketing/annual-marketing-plan.md) - **Collect the Topic Candidates** - `ref/mkt/content-calendar`, activity 4 - [Plan Content Calendar](../../../../processes/marketing/content-calendar.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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: hand-the-work-to-the-agents-that-act description: Passes a settled thing to each agent that has to act on it and takes back what each one says it will change. Use it when running `ref/mkt/buyer-persona` and 6 other reference processes. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Hand the work to the agents that act ## What it does Passes a settled thing to each agent that has to act on it and takes back what each one says it will change. ## Where it happens The agent does this in seven activities across seven reference processes. Each one names the activity as that process words it. - **Hand It to the Campaign** - `ref/mkt/landing-page`, activity 12 - [Publish Landing Page](../../../../processes/marketing/landing-page.md) - **Hand over the Approved Topics** - `ref/mkt/content-calendar`, activity 14 - [Plan Content Calendar](../../../../processes/marketing/content-calendar.md) - **Hand over the Commitments** - `ref/mkt/prioritize-initiatives`, activity 15 - [Prioritize Marketing Initiatives](../../../../processes/marketing/prioritize-initiatives.md) - **Hand over the Map** - `ref/mkt/map-buyer-journey`, activity 17 - [Map Buyer Journey](../../../../processes/marketing/map-buyer-journey.md) - **Hand over the Persona** - `ref/mkt/buyer-persona`, activity 18 - [Develop Buyer Persona](../../../../processes/marketing/buyer-persona.md) - **Hand the Strategy to the Work that Follows** - `ref/mkt/develop-marketing-strategy`, activity 15 - [Develop Marketing Strategy](../../../../processes/marketing/develop-marketing-strategy.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 request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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: handle-a-change-to-a-live-page description: Takes a change against a page that is already live, works out whether it is a small edit or needs a bigger run and who has to sign it, makes the change the request or the numbers call for, and closes it when the requester agrees. Use it when running `ref/mkt/landing-page` and `ref/mkt/website-content-update`. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Handle a change to a live page ## What it does Takes a change against a page that is already live, works out whether it is a small edit or needs a bigger run and who has to sign it, makes the change the request or the numbers call for, and closes it when the requester agrees. ## Where it happens The agent does this in three activities across two reference processes. Each one names the activity as that process words it. - **Close out the Change** - `ref/mkt/website-content-update`, activity 12 - [Update Website Content](../../../../processes/marketing/website-content-update.md) - **Fix What the Numbers Show** - `ref/mkt/landing-page`, activity 14 - [Publish Landing Page](../../../../processes/marketing/landing-page.md) - **Route the Change** - `ref/mkt/website-content-update`, activity 3 - [Update Website Content](../../../../processes/marketing/website-content-update.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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: inventory-what-is-already-published description: Goes across what is already published and what readers keep asking, and pulls it into one list, so it is clear which piece answers which question and what has nothing behind it. Use it when running `ref/mkt/map-buyer-journey` and `ref/mkt/moderate-community`. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Inventory what is already published ## What it does Goes across what is already published and what readers keep asking, and pulls it into one list, so it is clear which piece answers which question and what has nothing behind it. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Group the Recurring Questions** - `ref/mkt/moderate-community`, activity 11 - [Moderate User Community](../../../../processes/marketing/moderate-community.md) - **Inventory the Content against the Map** - `ref/mkt/map-buyer-journey`, activity 12 - [Map Buyer Journey](../../../../processes/marketing/map-buyer-journey.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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: proof-it-before-it-goes-out description: Reads test copies the way a reader will get them and finds what is wrong while it can still be fixed. Use it when running `ref/mkt/customer-newsletter`. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Proof it before it goes out ## What it does Reads test copies the way a reader will get them and finds what is wrong while it can still be fixed. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Proof the Issue** - `ref/mkt/customer-newsletter`, activity 11 - [Publish Customer Newsletter](../../../../processes/marketing/customer-newsletter.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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: publish-when-the-owner-says-go description: Puts the work live or sends it out once the named owner says go, and records what went out and when. Use it when running `ref/mkt/customer-case-study` and 5 other reference processes. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Publish when the owner says go ## What it does Puts the work live or sends it out once the named owner says go, and records what went out and when. ## Where it happens The agent does this in four activities across six reference processes. Each one names the activity as that process words it. - **Publish** - `ref/mkt/customer-case-study`, activity 18 - [Produce Customer Case Study](../../../../processes/marketing/customer-case-study.md) - `ref/mkt/landing-page`, activity 11 - [Publish Landing Page](../../../../processes/marketing/landing-page.md) - `ref/mkt/long-form-content`, activity 14 - [Produce Long-Form Content](../../../../processes/marketing/long-form-content.md) - **Publish the Change** - `ref/mkt/website-content-update`, activity 11 - [Update Website Content](../../../../processes/marketing/website-content-update.md) - **Publish the Changes** - `ref/mkt/refresh-content`, activity 19 - [Refresh Published Content](../../../../processes/marketing/refresh-content.md) - **Send the Issue** - `ref/mkt/customer-newsletter`, activity 13 - [Publish Customer Newsletter](../../../../processes/marketing/customer-newsletter.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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: record-what-was-learned description: Writes down what is worth repeating next time and what to avoid, so the next run starts from it. Use it when running `ref/mkt/customer-case-study` and 3 other reference processes. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Record what was learned ## What it does Writes down what is worth repeating next time and what to avoid, so the next run starts from it. ## Where it happens The agent does this in one activity across four reference processes. Each one names the activity as that process words it. - **Record What Was Learned** - `ref/mkt/customer-case-study`, activity 21 - [Produce Customer Case Study](../../../../processes/marketing/customer-case-study.md) - `ref/mkt/customer-newsletter`, activity 17 - [Publish Customer Newsletter](../../../../processes/marketing/customer-newsletter.md) - `ref/mkt/landing-page`, activity 15 - [Publish Landing Page](../../../../processes/marketing/landing-page.md) - `ref/mkt/long-form-content`, activity 18 - [Produce Long-Form Content](../../../../processes/marketing/long-form-content.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
--- name: report-how-it-did description: Sets the results against what the work promised and writes the account of it, then has the agents it names confirm the account is accurate before it goes out. Use it when running `ref/mkt/customer-newsletter`, `ref/mkt/long-form-content` and `ref/mkt/marketing-performance-report`. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Report how it did ## What it does Sets the results against what the work promised and writes the account of it, then has the agents it names confirm the account is accurate before it goes out. ## Where it happens The agent does this in four activities across three reference processes. Each one names the activity as that process words it. - **Account for the Published Pieces** - `ref/mkt/marketing-performance-report`, activity 6 - [Report Marketing Performance](../../../../processes/marketing/marketing-performance-report.md) - **Check the Account** - `ref/mkt/marketing-performance-report`, activity 12 - [Report Marketing Performance](../../../../processes/marketing/marketing-performance-report.md) - **Report How the Piece Did** - `ref/mkt/long-form-content`, activity 17 - [Produce Long-Form Content](../../../../processes/marketing/long-form-content.md) - **Report the Results** - `ref/mkt/customer-newsletter`, activity 16 - [Publish Customer Newsletter](../../../../processes/marketing/customer-newsletter.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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: repurpose-published-material description: Turns material that already exists into new pieces, clips, posts and pages. Use it when running `ref/mkt/user-conference`. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Repurpose published material ## What it does Turns material that already exists into new pieces, clips, posts and pages. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Repurpose the Content** - `ref/mkt/user-conference`, activity 15 - [Host User Conference](../../../../processes/marketing/user-conference.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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-piece-carries description: Settles what the piece argues, the order it argues it in, and which items it carries. Use it when running `ref/mkt/customer-case-study`, `ref/mkt/customer-newsletter` and `ref/mkt/long-form-content`. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Settle what the piece carries ## What it does Settles what the piece argues, the order it argues it in, and which items it carries. ## Where it happens The agent does this in three activities across three reference processes. Each one names the activity as that process words it. - **Agree What the Story Argues** - `ref/mkt/customer-case-study`, activity 9 - [Produce Customer Case Study](../../../../processes/marketing/customer-case-study.md) - **Agree the Outline** - `ref/mkt/long-form-content`, activity 5 - [Produce Long-Form Content](../../../../processes/marketing/long-form-content.md) - **Settle the Lineup** - `ref/mkt/customer-newsletter`, activity 2 - [Publish Customer Newsletter](../../../../processes/marketing/customer-newsletter.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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-the-request description: Takes a request for a piece and settles what it has to do, who it is for, what it asks a reader to do, and the date it is due. Use it when running `ref/mkt/customer-newsletter` and 3 other reference processes. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Take in the request ## What it does Takes a request for a piece and settles what it has to do, who it is for, what it asks a reader to do, and the date it is due. ## Where it happens The agent does this in four activities across four reference processes. Each one names the activity as that process words it. - **Open the Issue** - `ref/mkt/customer-newsletter`, activity 1 - [Publish Customer Newsletter](../../../../processes/marketing/customer-newsletter.md) - **Set the Parameters** - `ref/mkt/landing-page`, activity 2 - [Publish Landing Page](../../../../processes/marketing/landing-page.md) - **Take in the Request** - `ref/mkt/landing-page`, activity 1 - [Publish Landing Page](../../../../processes/marketing/landing-page.md) - `ref/mkt/website-content-update`, activity 1 - [Update Website Content](../../../../processes/marketing/website-content-update.md) - **Take in the Topic** - `ref/mkt/long-form-content`, activity 1 - [Produce Long-Form Content](../../../../processes/marketing/long-form-content.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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: watch-what-happens-after-it-is-live description: Reads what happens once the work is live, covering how many people arrive, what they do next, and how that compares with before, and keeps reporting it against the goal that was set. Use it when running `ref/mkt/customer-case-study` and 4 other reference processes. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Watch what happens after it is live ## What it does Reads what happens once the work is live, covering how many people arrive, what they do next, and how that compares with before, and keeps reporting it against the goal that was set. ## Where it happens The agent does this in four activities across five reference processes. Each one names the activity as that process words it. - **Watch It Convert** - `ref/mkt/landing-page`, activity 13 - [Publish Landing Page](../../../../processes/marketing/landing-page.md) - **Watch Performance** - `ref/mkt/customer-case-study`, activity 20 - [Produce Customer Case Study](../../../../processes/marketing/customer-case-study.md) - `ref/mkt/long-form-content`, activity 16 - [Produce Long-Form Content](../../../../processes/marketing/long-form-content.md) - **Watch What the Changes Did** - `ref/mkt/refresh-content`, activity 20 - [Refresh Published Content](../../../../processes/marketing/refresh-content.md) - **Watch the Results** - `ref/mkt/customer-newsletter`, activity 14 - [Publish Customer Newsletter](../../../../processes/marketing/customer-newsletter.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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: work-out-what-the-makers-can-carry description: Works out how much work the makers can take on in the period. Use it when running `ref/mkt/content-calendar`, `ref/mkt/plan-marketing-capacity` and `ref/mkt/prioritize-initiatives`. license: CC-BY-4.0 metadata: agent: content-manager agent-version: "1" --- # Work out what the makers can carry ## What it does Works out how much work the makers can take on in the period. It breaks the demand into the runs it is actually made of, counts what is already committed, sizes what each run costs to make, says what is still free, and names what in flight has to stop or wait when something new takes its place. ## Where it happens The agent does this in six activities across three reference processes. Each one names the activity as that process words it. - **Break the Work into Activities** - `ref/mkt/plan-marketing-capacity`, activity 3 - [Plan Marketing Capacity](../../../../processes/marketing/plan-marketing-capacity.md) - **List What Is Already Committed** - `ref/mkt/content-calendar`, activity 3 - [Plan Content Calendar](../../../../processes/marketing/content-calendar.md) - **List the Committed Work** - `ref/mkt/plan-marketing-capacity`, activity 2 - [Plan Marketing Capacity](../../../../processes/marketing/plan-marketing-capacity.md) - **Settle What Gets Displaced** - `ref/mkt/prioritize-initiatives`, activity 12 - [Prioritize Marketing Initiatives](../../../../processes/marketing/prioritize-initiatives.md) - **Size the Production Capacity** - `ref/mkt/content-calendar`, activity 7 - [Plan Content Calendar](../../../../processes/marketing/content-calendar.md) - **Work out What Is Free** - `ref/mkt/prioritize-initiatives`, activity 5 - [Prioritize Marketing Initiatives](../../../../processes/marketing/prioritize-initiatives.md) ## What to record The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it. 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 4 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": {
"content-plan-and-its-schedule": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/content-plan-and-its-schedule"
},
"asset-store": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/asset-store"
},
"cms": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/cms"
},
"analytics": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/analytics"
}
}
}
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.
20 processes, 64 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.
Collect the Candidate Initiatives · Build the Calendar · Brief the Department
Brief the Agents that Write to It
Hand over the Persona
List What Is Already Committed · Collect the Topic Candidates · Size the Production Capacity · Draft the Calendar · Publish the Calendar · Brief the Department · Hand over the Approved Topics
Brief the Story · Agree What the Story Argues · Publish · Watch Performance · Record What Was Learned
Open the Issue · Settle the Lineup · Brief the Makers · Proof the Issue · Send the Issue · Watch the Results · Report the Results · Record What Was Learned
Hand the Strategy to the Work that Follows
Take in the Request · Set the Parameters · Brief the Makers · Publish · Hand It to the Campaign · Watch It Convert · Fix What the Numbers Show · Record What Was Learned
Take in the Topic · Brief the Piece · Agree the Outline · Publish · Watch Performance · Report How the Piece Did · Record What Was Learned
Inventory the Content against the Map · Hand over the Map
Account for the Published Pieces · Check the Account
Collect What the Plan Must Carry
Group the Recurring Questions
List the Committed Work · Break the Work into Activities
Work out What Is Free · Settle What Gets Displaced · Hand over the Commitments
Ask Each Area What It Would Change · Brief the Department
Brief the Pages in the Cycle · Publish the Changes · Watch What the Changes Did
Collect What Each Function Asks For · Tell Every Function What It Has
Repurpose the Content
Take in the Request · Route the Change · Publish the Change · Close out the Change
What it writes down
The request as it was accepted, with the date the piece promised and what the piece is meant to accomplish. The CONVENED and DONE records of everything it convenes. The publish record, naming who said go and which version went live. The performance readout at the cadence the process sets, and the decision it made after reading that readout: leave the piece alone, update it, or retire it.
What it will not do
Does not write, research, edit, or design the piece. Does not build the page or push it live - that is the web-producer agent, which acts on this agent's go. Does not put the measurement on the page, which is the conversion-tracker agent. Does not sign anything. Does not run the campaign a piece may sit inside, because one campaign can call for several pieces and each piece gets its own run of this agent. Does not own the department's report for a reporting period - that is the reporting-manager agent, and this agent answers for one piece.
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: content-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.
- cms MCP server · writavo.com · run it yourself · mirrored from the MCP registry Draft, edit, organise, schedule and publish a Writavo Site content from any AI assistant.
- Terrarium MCP server · nelsonsantryhkd.github.io · hosted · mirrored from the MCP registry Human visual review for agent-built HTML: publish artifacts, pull anchored comments, push fixes.