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

Web producer

web-producer v1

Assembles the approved copy and the approved design into a working page in the website, using the templates and components the site already has, and gets a preview in front of the people who have to look at it before it goes anywhere. Sets the page's address and any redirects it needs. Publishes when the named owner says go, and records what went live, at which version, and who said go.

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/account-based-playref/mkt/announce-company-newsref/mkt/brand-guidelinesGRANTEDthe website's content systemwrite — pages are built as drafts, at versionsthe websitewrite — cap: which parts of the site it may puthe asset storereadthe site's templates and componentsreadredirects and address settingswriteTHE ABSTRACT AGENTweb-producerv1assembles the approved…HANDS TO A PERSONa request to publish a…a person decidesthe decision to publish,…a person decidesa publish that would take…a person decidesa page it cannot build…it says what will not fit…MUST FOLLOWbuild-by-talentbriefingapprovalroll call

Holds the assembly slice in build-by-talent, building to what the copy and the design already assume. Sits in the briefing for a page so it knows what the page is for before it starts building. Takes a changes-requested from an approval by reopening only the part that was named. Answers roll-calls with the state of the page and a preview link that shows it.

The plugin

What is in the package

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

web-producer · 16 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 copy or make the design, and does not edit either one
to make it fit. Does not decide what the page is for or what it has to
say, which the content-manager agent owns. Does not put the measurement
on the page or connect its form to the CRM, which is the
conversion-tracker agent. Does not score the page against accessibility
and technical standards - the accessibility-check agent does that, and
this agent fixes what its findings name. Does not choose the search
terms the page is built to answer, which is the search-optimizer agent.
Does not build or bid the ad campaigns that send people to the page,
which is the media-buyer agent. Does not sign anything.

## What always goes to a person

- a request to publish a page that has not been signed off, every time
- the decision to publish, which stays with the named owner however
  automated the rest of the build becomes
- a publish that would take an address an existing page already uses, or
  break links that point at one
- a page it cannot build without changing the copy or the design - it
  says what will not fit and sends that piece back to the agent that
  made it
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 `web-producer` leaves the
following behind, on every run.

The page at a version, with the preview link that shows it. The publish
record naming the version, the time, and the person who said go. Every
redirect it set, with the address it came from and the address it now
points at. The rollback record when a page comes down, saying what is in
its place.

An agent that leaves less than this does not implement `web-producer`,
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

Five 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 website's content system | write | Pages are built as drafts, at versions, each with a preview link. |
| the website | write | Cap: which parts of the site it may publish to without asking, set by the adopting organization. |
| the asset store | read |  |
| the site's templates and components | read |  |
| redirects and address settings | write |  |

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": "web-producer",
  "version": "1.0.0",
  "description": "The web-producer abstract agent. Assembles the approved copy and the approved design into a working page in the website, using the templates and components the site already has, and gets a preview in front of the people who have to look at it before it goes anywhere.",
  "author": {
    "name": "AgentCatalog",
    "url": "https://agentcatalog.com"
  },
  "homepage": "https://agentcatalog.com/abstract-agents/web-producer",
  "repository": "https://github.com/jeffrschneider/agentcatalog",
  "license": "CC-BY-4.0",
  "keywords": [
    "abstract-agent",
    "reference",
    "marketing",
    "conversion-experiment",
    "brand-refresh",
    "landing-page",
    "abstract"
  ],
  "extensions": {
    "com.agentcatalog.agent": {
      "agent": "web-producer",
      "agentVersion": 1,
      "department": "marketing",
      "abstract": true,
      "works": "Holds the assembly slice in build-by-talent, building to what the copy and the design already assume. Sits in the briefing for a page so it knows what the page is for before it starts building. Takes a changes-requested from an approval by reopening only the part that was named. Answers roll-calls with the state of the page and a preview link that shows it.",
      "servers": [
        {
          "name": "the website's content system",
          "role": "websites-content-system",
          "access": "write",
          "needs": "Pages are built as drafts, at versions, each with a preview link."
        },
        {
          "name": "the website",
          "role": "website",
          "access": "write",
          "needs": "Cap: which parts of the site it may publish to without asking, set by the adopting organization."
        },
        {
          "name": "the asset store",
          "role": "asset-store",
          "access": "read"
        },
        {
          "name": "the site's templates and components",
          "role": "sites-templates-and-components",
          "access": "read"
        },
        {
          "name": "redirects and address settings",
          "role": "redirects-and-address-settings",
          "access": "write"
        }
      ],
      "records": [
        "The page at a version, with the preview link that shows it.",
        "The publish record naming the version, the time, and the person who said go.",
        "Every redirect it set, with the address it came from and the address it now points at.",
        "The rollback record when a page comes down, saying what is in its place."
      ],
      "escalates": [
        "a request to publish a page that has not been signed off, every time",
        "the decision to publish, which stays with the named owner however automated the rest of the build becomes",
        "a publish that would take an address an existing page already uses, or break links that point at one",
        "a page it cannot build without changing the copy or the design - it says what will not fit and sends that piece back to the agent that made it"
      ],
      "not": [
        "Does not write the copy or make the design, and does not edit either one to make it fit.",
        "Does not decide what the page is for or what it has to say, which the content-manager agent owns.",
        "Does not put the measurement on the page or connect its form to the CRM, which is the conversion-tracker agent.",
        "Does not score the page against accessibility and technical standards - the accessibility-check agent does that, and this agent fixes what its findings name.",
        "Does not choose the search terms the page is built to answer, which is the search-optimizer agent.",
        "Does not build or bid the ad campaigns that send people to the page, which is the media-buyer agent.",
        "Does not sign anything."
      ],
      "processes": [
        {
          "process": "ref/mkt/account-based-play",
          "activities": [
            "Build the Pages and the Notice"
          ]
        },
        {
          "process": "ref/mkt/announce-company-news",
          "activities": [
            "Issue the Release"
          ]
        },
        {
          "process": "ref/mkt/brand-guidelines",
          "activities": [
            "Publish the Version"
          ]
        },
        {
          "process": "ref/mkt/brand-refresh",
          "activities": [
            "Brief the Agents that Remake the Material",
            "Rebuild the Templates",
            "Stage the Changes",
            "Switch the Properties"
          ]
        },
        {
          "process": "ref/mkt/channel-program",
          "activities": [
            "Build the Partner Portal"
          ]
        },
        {
          "process": "ref/mkt/co-marketing-campaign",
          "activities": [
            "Build the Registration Page",
            "Launch the Joint Campaign"
          ]
        },
        {
          "process": "ref/mkt/conversion-experiment",
          "activities": [
            "Brief the Makers",
            "Build the Variants",
            "Check the Setup",
            "Start the Test",
            "Carry out the Decision"
          ]
        },
        {
          "process": "ref/mkt/crisis-communication",
          "activities": [
            "Issue the Response"
          ]
        },
        {
          "process": "ref/mkt/customer-case-study",
          "activities": [
            "Build the Page",
            "Publish"
          ]
        },
        {
          "process": "ref/mkt/enable-channel-partner",
          "activities": [
            "Publish the Material"
          ]
        },
        {
          "process": "ref/mkt/feature-release",
          "activities": [
            "Update the Product Pages"
          ]
        },
        {
          "process": "ref/mkt/field-event",
          "activities": [
            "Open Registration"
          ]
        },
        {
          "process": "ref/mkt/landing-page",
          "activities": [
            "Brief the Makers",
            "Build the Page",
            "Publish",
            "Fix What the Numbers Show"
          ]
        },
        {
          "process": "ref/mkt/long-form-content",
          "activities": [
            "Build the Page",
            "Publish"
          ]
        },
        {
          "process": "ref/mkt/paid-search-campaign",
          "activities": [
            "Ready the Landing Pages"
          ]
        },
        {
          "process": "ref/mkt/pricing-change",
          "activities": [
            "Restate the Price Everywhere It Is Published",
            "Change the Public Price"
          ]
        },
        {
          "process": "ref/mkt/product-launch",
          "activities": [
            "Prep the Channels"
          ]
        },
        {
          "process": "ref/mkt/refresh-content",
          "activities": [
            "Make the Changes in the Pages",
            "Set the Addresses and the Redirects",
            "Publish the Changes"
          ]
        },
        {
          "process": "ref/mkt/speaking-engagement",
          "activities": [
            "Publish the Material"
          ]
        },
        {
          "process": "ref/mkt/traffic-ad-creative",
          "activities": [
            "Check Every Destination"
          ]
        },
        {
          "process": "ref/mkt/user-conference",
          "activities": [
            "Open Registration",
            "Repurpose the Content"
          ]
        },
        {
          "process": "ref/mkt/webinar",
          "activities": [
            "Build the Registration Page",
            "Prepare the Recording for Reuse"
          ]
        },
        {
          "process": "ref/mkt/website-content-update",
          "activities": [
            "Make the Change in the Page",
            "Publish the Change",
            "Close out the Change"
          ]
        }
      ]
    }
  }
}
README.mdWhat the package is, and why it carries no mcp.json.
# web-producer

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 eleven 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/account-based-play`, `ref/mkt/announce-company-news`,
`ref/mkt/brand-guidelines`, `ref/mkt/brand-refresh`,
`ref/mkt/channel-program`, `ref/mkt/co-marketing-campaign`, and 17 more.
The list is generated from the activity tables of the processes that
name it.

https://agentcatalog.com/abstract-agents/web-producer
skills/brief-the-agents-that-make-it/SKILL.mdGives every agent that has to produce something the same account of what is wanted, at the same time. Use it when running `ref/mkt/brand-refresh`, `ref/mkt/conversion-experiment` and `ref/mkt/landing-page`.
---
name: brief-the-agents-that-make-it
description: Gives every agent that has to produce something the same account of what is wanted, at the same time. Use it when running `ref/mkt/brand-refresh`, `ref/mkt/conversion-experiment` and `ref/mkt/landing-page`.
license: CC-BY-4.0
metadata:
  agent: web-producer
  agent-version: "1"
---

# Brief the agents that make it

## What it does

Gives every agent that has to produce something the same account of what
is wanted, at the same time.

## Where it happens

The agent does this in two activities across three reference processes.
Each one names the activity as that process words it.

- **Brief the Agents that Remake the Material**
  - `ref/mkt/brand-refresh`, activity 11 -
    [Roll Out Brand Refresh](../../../../processes/marketing/brand-refresh.md)
- **Brief the Makers**
  - `ref/mkt/conversion-experiment`, activity 5 -
    [Run Conversion Experiment](../../../../processes/marketing/conversion-experiment.md)
  - `ref/mkt/landing-page`, activity 4 -
    [Publish Landing Page](../../../../processes/marketing/landing-page.md)

## What to record

The page at a version, with the preview link that shows it. The publish
record naming the version, the time, and the person who said go. Every
redirect it set, with the address it came from and the address it now
points at. The rollback record when a page comes down, saying what is in
its place.

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/build-a-page/SKILL.mdAssembles approved copy and approved design into a working page, using the templates and components the site already has, and wires up whatever the page needs to do its job, such as a form or the tracking behind it. Use it when running `ref/mkt/account-based-play` and 9 other reference processes.
---
name: build-a-page
description: Assembles approved copy and approved design into a working page, using the templates and components the site already has, and wires up whatever the page needs to do its job, such as a form or the tracking behind it. Use it when running `ref/mkt/account-based-play` and 9 other reference processes.
license: CC-BY-4.0
metadata:
  agent: web-producer
  agent-version: "1"
---

# Build a page

## What it does

Assembles approved copy and approved design into a working page, using
the templates and components the site already has, and wires up whatever
the page needs to do its job, such as a form or the tracking behind it.

## Where it happens

The agent does this in six activities across ten reference processes.
Each one names the activity as that process words it.

- **Build the Page**
  - `ref/mkt/customer-case-study`, activity 16 -
    [Produce Customer Case Study](../../../../processes/marketing/customer-case-study.md)
  - `ref/mkt/landing-page`, activity 7 -
    [Publish Landing Page](../../../../processes/marketing/landing-page.md)
  - `ref/mkt/long-form-content`, activity 11 -
    [Produce Long-Form Content](../../../../processes/marketing/long-form-content.md)
- **Build the Pages and the Notice**
  - `ref/mkt/account-based-play`, activity 13 -
    [Run Account-Based Play](../../../../processes/marketing/account-based-play.md)
- **Build the Partner Portal**
  - `ref/mkt/channel-program`, activity 8 -
    [Launch Channel Program](../../../../processes/marketing/channel-program.md)
- **Build the Registration Page**
  - `ref/mkt/co-marketing-campaign`, activity 9 -
    [Run Co-Marketing Campaign](../../../../processes/marketing/co-marketing-campaign.md)
  - `ref/mkt/webinar`, activity 4 -
    [Produce Webinar](../../../../processes/marketing/webinar.md)
- **Open Registration**
  - `ref/mkt/field-event`, activity 8 -
    [Host Field Event](../../../../processes/marketing/field-event.md)
  - `ref/mkt/user-conference`, activity 7 -
    [Host User Conference](../../../../processes/marketing/user-conference.md)
- **Ready the Landing Pages**
  - `ref/mkt/paid-search-campaign`, activity 5 -
    [Run Paid Search Campaign](../../../../processes/marketing/paid-search-campaign.md)

## What to record

The page at a version, with the preview link that shows it. The publish
record naming the version, the time, and the person who said go. Every
redirect it set, with the address it came from and the address it now
points at. The rollback record when a page comes down, saying what is in
its place.

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/change-a-published-page/SKILL.mdPuts an approved change into a page that is already live and leaves it as a draft for the people who have to look at it. Use it when running `ref/mkt/feature-release` and 4 other reference processes.
---
name: change-a-published-page
description: Puts an approved change into a page that is already live and leaves it as a draft for the people who have to look at it. Use it when running `ref/mkt/feature-release` and 4 other reference processes.
license: CC-BY-4.0
metadata:
  agent: web-producer
  agent-version: "1"
---

# Change a published page

## What it does

Puts an approved change into a page that is already live and leaves it
as a draft for the people who have to look at it. The change may be new
wording, new visuals, a new figure, or a fix to the part of the page
people are leaving from.

## Where it happens

The agent does this in five activities across five reference processes.
Each one names the activity as that process words it.

- **Fix What the Numbers Show**
  - `ref/mkt/landing-page`, activity 14 -
    [Publish Landing Page](../../../../processes/marketing/landing-page.md)
- **Make the Change in the Page**
  - `ref/mkt/website-content-update`, activity 9 -
    [Update Website Content](../../../../processes/marketing/website-content-update.md)
- **Make the Changes in the Pages**
  - `ref/mkt/refresh-content`, activity 16 -
    [Refresh Published Content](../../../../processes/marketing/refresh-content.md)
- **Restate the Price Everywhere It Is Published**
  - `ref/mkt/pricing-change`, activity 7 -
    [Launch Pricing Change](../../../../processes/marketing/pricing-change.md)
- **Update the Product Pages**
  - `ref/mkt/feature-release`, activity 6 -
    [Announce Feature Release](../../../../processes/marketing/feature-release.md)

## What to record

The page at a version, with the preview link that shows it. The publish
record naming the version, the time, and the person who said go. Every
redirect it set, with the address it came from and the address it now
points at. The rollback record when a page comes down, saying what is in
its place.

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/check-every-destination/SKILL.mdOpens the page behind every live link and confirms that it loads and that the visit is recorded. Use it when running `ref/mkt/traffic-ad-creative`.
---
name: check-every-destination
description: Opens the page behind every live link and confirms that it loads and that the visit is recorded. Use it when running `ref/mkt/traffic-ad-creative`.
license: CC-BY-4.0
metadata:
  agent: web-producer
  agent-version: "1"
---

# Check every destination

## What it does

Opens the page behind every live link and confirms that it loads and
that the visit is recorded.

## Where it happens

The agent does this in one activity across one reference process. Each
one names the activity as that process words it.

- **Check Every Destination**
  - `ref/mkt/traffic-ad-creative`, activity 10 -
    [Traffic Ad Creative](../../../../processes/marketing/traffic-ad-creative.md)

## What to record

The page at a version, with the preview link that shows it. The publish
record naming the version, the time, and the person who said go. Every
redirect it set, with the address it came from and the address it now
points at. The rollback record when a page comes down, saying what is in
its place.

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-out-a-change/SKILL.mdGets the requester to agree that the change is done, and writes the record of what changed, when, and on whose word. Use it when running `ref/mkt/website-content-update`.
---
name: close-out-a-change
description: Gets the requester to agree that the change is done, and writes the record of what changed, when, and on whose word. Use it when running `ref/mkt/website-content-update`.
license: CC-BY-4.0
metadata:
  agent: web-producer
  agent-version: "1"
---

# Close out a change

## What it does

Gets the requester to agree that the change is done, and writes the
record of what changed, when, and on whose word.

## Where it happens

The agent does this in one activity across one reference process. 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)

## What to record

The page at a version, with the preview link that shows it. The publish
record naming the version, the time, and the person who said go. Every
redirect it set, with the address it came from and the address it now
points at. The rollback record when a page comes down, saying what is in
its place.

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/rebuild-the-templates/SKILL.mdRemakes the templates the rest of the material is built from, so that everything produced after them comes out right. Use it when running `ref/mkt/brand-refresh`.
---
name: rebuild-the-templates
description: Remakes the templates the rest of the material is built from, so that everything produced after them comes out right. Use it when running `ref/mkt/brand-refresh`.
license: CC-BY-4.0
metadata:
  agent: web-producer
  agent-version: "1"
---

# Rebuild the templates

## What it does

Remakes the templates the rest of the material is built from, so that
everything produced after them comes out right.

## Where it happens

The agent does this in one activity across one reference process. Each
one names the activity as that process words it.

- **Rebuild the Templates**
  - `ref/mkt/brand-refresh`, activity 12 -
    [Roll Out Brand Refresh](../../../../processes/marketing/brand-refresh.md)

## What to record

The page at a version, with the preview link that shows it. The publish
record naming the version, the time, and the person who said go. Every
redirect it set, with the address it came from and the address it now
points at. The rollback record when a page comes down, saying what is in
its place.

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/repurpose-existing-material/SKILL.mdTurns material that already exists into new pages and pieces, which includes cutting a recording, adding captions and building the page it sits on. Use it when running `ref/mkt/user-conference` and `ref/mkt/webinar`.
---
name: repurpose-existing-material
description: Turns material that already exists into new pages and pieces, which includes cutting a recording, adding captions and building the page it sits on. Use it when running `ref/mkt/user-conference` and `ref/mkt/webinar`.
license: CC-BY-4.0
metadata:
  agent: web-producer
  agent-version: "1"
---

# Repurpose existing material

## What it does

Turns material that already exists into new pages and pieces, which
includes cutting a recording, adding captions and building the page it
sits on.

## Where it happens

The agent does this in two activities across two reference processes.
Each one names the activity as that process words it.

- **Prepare the Recording for Reuse**
  - `ref/mkt/webinar`, activity 14 -
    [Produce Webinar](../../../../processes/marketing/webinar.md)
- **Repurpose the Content**
  - `ref/mkt/user-conference`, activity 15 -
    [Host User Conference](../../../../processes/marketing/user-conference.md)

## What to record

The page at a version, with the preview link that shows it. The publish
record naming the version, the time, and the person who said go. Every
redirect it set, with the address it came from and the address it now
points at. The rollback record when a page comes down, saying what is in
its place.

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-a-split-test/SKILL.mdBuilds each version of a page and sets up how the traffic divides between them, confirms every version serves and its numbers arrive, starts the split when the owner says go, and afterwards puts one version in front of everyone or takes the change out. Use it when running `ref/mkt/conversion-experiment`.
---
name: run-a-split-test
description: Builds each version of a page and sets up how the traffic divides between them, confirms every version serves and its numbers arrive, starts the split when the owner says go, and afterwards puts one version in front of everyone or takes the change out. Use it when running `ref/mkt/conversion-experiment`.
license: CC-BY-4.0
metadata:
  agent: web-producer
  agent-version: "1"
---

# Run a split test

## What it does

Builds each version of a page and sets up how the traffic divides
between them, confirms every version serves and its numbers arrive,
starts the split when the owner says go, and afterwards puts one version
in front of everyone or takes the change out.

## Where it happens

The agent does this in four activities across one reference process.
Each one names the activity as that process words it.

- **Build the Variants**
  - `ref/mkt/conversion-experiment`, activity 7 -
    [Run Conversion Experiment](../../../../processes/marketing/conversion-experiment.md)
- **Carry out the Decision**
  - `ref/mkt/conversion-experiment`, activity 15 -
    [Run Conversion Experiment](../../../../processes/marketing/conversion-experiment.md)
- **Check the Setup**
  - `ref/mkt/conversion-experiment`, activity 10 -
    [Run Conversion Experiment](../../../../processes/marketing/conversion-experiment.md)
- **Start the Test**
  - `ref/mkt/conversion-experiment`, activity 11 -
    [Run Conversion Experiment](../../../../processes/marketing/conversion-experiment.md)

## What to record

The page at a version, with the preview link that shows it. The publish
record naming the version, the time, and the person who said go. Every
redirect it set, with the address it came from and the address it now
points at. The rollback record when a page comes down, saying what is in
its place.

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-addresses-and-the-redirects/SKILL.mdSets the address a page lives at and points merged and retired pages somewhere sensible. Use it when running `ref/mkt/refresh-content`.
---
name: set-the-addresses-and-the-redirects
description: Sets the address a page lives at and points merged and retired pages somewhere sensible. Use it when running `ref/mkt/refresh-content`.
license: CC-BY-4.0
metadata:
  agent: web-producer
  agent-version: "1"
---

# Set the addresses and the redirects

## What it does

Sets the address a page lives at and points merged and retired pages
somewhere sensible.

## Where it happens

The agent does this in one activity across one reference process. Each
one names the activity as that process words it.

- **Set the Addresses and the Redirects**
  - `ref/mkt/refresh-content`, activity 17 -
    [Refresh Published Content](../../../../processes/marketing/refresh-content.md)

## What to record

The page at a version, with the preview link that shows it. The publish
record naming the version, the time, and the person who said go. Every
redirect it set, with the address it came from and the address it now
points at. The rollback record when a page comes down, saying what is in
its place.

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/stage-changes-before-the-date/SKILL.mdBuilds and previews everything ahead of a date without any of it serving, so the people who have to look at it can, and so it all goes live together. Use it when running `ref/mkt/brand-refresh` and `ref/mkt/product-launch`.
---
name: stage-changes-before-the-date
description: Builds and previews everything ahead of a date without any of it serving, so the people who have to look at it can, and so it all goes live together. Use it when running `ref/mkt/brand-refresh` and `ref/mkt/product-launch`.
license: CC-BY-4.0
metadata:
  agent: web-producer
  agent-version: "1"
---

# Stage changes before the date

## What it does

Builds and previews everything ahead of a date without any of it
serving, so the people who have to look at it can, and so it all goes
live together.

## Where it happens

The agent does this in two activities across two reference processes.
Each one names the activity as that process words it.

- **Prep the Channels**
  - `ref/mkt/product-launch`, activity 6 -
    [Launch Product](../../../../processes/marketing/product-launch.md)
- **Stage the Changes**
  - `ref/mkt/brand-refresh`, activity 18 -
    [Roll Out Brand Refresh](../../../../processes/marketing/brand-refresh.md)

## What to record

The page at a version, with the preview link that shows it. The publish
record naming the version, the time, and the person who said go. Every
redirect it set, with the address it came from and the address it now
points at. The rollback record when a page comes down, saying what is in
its place.

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-it-live-on-the-owners-word/SKILL.mdWaits for the named owner to say go, takes the staged work live on the date it was set for, and records what went live, at which version and who said go. Use it when running `ref/mkt/announce-company-news` and 12 other reference processes.
---
name: take-it-live-on-the-owners-word
description: Waits for the named owner to say go, takes the staged work live on the date it was set for, and records what went live, at which version and who said go. Use it when running `ref/mkt/announce-company-news` and 12 other reference processes.
license: CC-BY-4.0
metadata:
  agent: web-producer
  agent-version: "1"
---

# Take it live on the owners word

## What it does

Waits for the named owner to say go, takes the staged work live on the
date it was set for, and records what went live, at which version and
who said go.

## Where it happens

The agent does this in ten activities across thirteen 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 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)
- **Launch the Joint Campaign**
  - `ref/mkt/co-marketing-campaign`, activity 12 -
    [Run Co-Marketing Campaign](../../../../processes/marketing/co-marketing-campaign.md)
- **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)
- **Publish the Material**
  - `ref/mkt/enable-channel-partner`, activity 9 -
    [Enable Channel Partner](../../../../processes/marketing/enable-channel-partner.md)
  - `ref/mkt/speaking-engagement`, activity 14 -
    [Secure Speaking Engagement](../../../../processes/marketing/speaking-engagement.md)
- **Publish the Version**
  - `ref/mkt/brand-guidelines`, activity 13 -
    [Publish Brand Guidelines](../../../../processes/marketing/brand-guidelines.md)
- **Switch the Properties**
  - `ref/mkt/brand-refresh`, activity 19 -
    [Roll Out Brand Refresh](../../../../processes/marketing/brand-refresh.md)

## What to record

The page at a version, with the preview link that shows it. The publish
record naming the version, the time, and the person who said go. Every
redirect it set, with the address it came from and the address it now
points at. The rollback record when a page comes down, saying what is in
its place.

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 5 roles, and the access level beside each one is the most the work needs.

websites-content-system · writewebsite · writeasset-store · readsites-templates-and-components · readredirects-and-address-settings · write
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": {
    "websites-content-system": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/websites-content-system"
    },
    "website": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/website"
    },
    "asset-store": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/asset-store"
    },
    "sites-templates-and-components": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/sites-templates-and-components"
    },
    "redirects-and-address-settings": {
      "type": "streamable-http",
      "url": "https://mcp.yourcompany.com/redirects-and-address-settings"
    }
  }
}

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

23 processes, 43 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.

Run Account-Based Playref/mkt/account-based-play · 19 activities
12345678910111213141516171819

Build the Pages and the Notice

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

Issue the Release

Publish Brand Guidelinesref/mkt/brand-guidelines · 16 activities
12345678910111213141516

Publish the Version

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

Brief the Agents that Remake the Material · Rebuild the Templates · Stage the Changes · Switch the Properties

Launch Channel Programref/mkt/channel-program · 17 activities
1234567891011121314151617

Build the Partner Portal

Run Co-Marketing Campaignref/mkt/co-marketing-campaign · 16 activities
12345678910111213141516

Build the Registration Page · Launch the Joint Campaign

Run Conversion Experimentref/mkt/conversion-experiment · 16 activities
12345678910111213141516

Brief the Makers · Build the Variants · Check the Setup · Start the Test · Carry out the Decision

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

Issue the Response

Produce Customer Case Studyref/mkt/customer-case-study · 21 activities
123456789101112131415161718192021

Build the Page · Publish

Enable Channel Partnerref/mkt/enable-channel-partner · 16 activities
12345678910111213141516

Publish the Material

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

Update the Product Pages

Host Field Eventref/mkt/field-event · 16 activities
12345678910111213141516

Open Registration

Publish Landing Pageref/mkt/landing-page · 15 activities
123456789101112131415

Brief the Makers · Build the Page · Publish · Fix What the Numbers Show

Produce Long-Form Contentref/mkt/long-form-content · 18 activities
123456789101112131415161718

Build the Page · Publish

Run Paid Search Campaignref/mkt/paid-search-campaign · 13 activities
12345678910111213

Ready the Landing Pages

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

Restate the Price Everywhere It Is Published · Change the Public Price

Launch Productref/mkt/product-launch · 11 activities
1234567891011

Prep the Channels

Refresh Published Contentref/mkt/refresh-content · 22 activities
12345678910111213141516171819202122

Make the Changes in the Pages · Set the Addresses and the Redirects · Publish the Changes

Secure Speaking Engagementref/mkt/speaking-engagement · 16 activities
12345678910111213141516

Publish the Material

Traffic Ad Creativeref/mkt/traffic-ad-creative · 17 activities
1234567891011121314151617

Check Every Destination

Host User Conferenceref/mkt/user-conference · 17 activities
1234567891011121314151617

Open Registration · Repurpose the Content

Produce Webinarref/mkt/webinar · 18 activities
123456789101112131415161718

Build the Registration Page · Prepare the Recording for Reuse

Update Website Contentref/mkt/website-content-update · 12 activities
123456789101112

Make the Change in the Page · Publish the Change · Close out the Change

The records it leaves

What it writes down

The page at a version, with the preview link that shows it. The publish record naming the version, the time, and the person who said go. Every redirect it set, with the address it came from and the address it now points at. The rollback record when a page comes down, saying what is in its place.

Where it stops

What it will not do

Does not write the copy or make the design, and does not edit either one to make it fit. Does not decide what the page is for or what it has to say, which the content-manager agent owns. Does not put the measurement on the page or connect its form to the CRM, which is the conversion-tracker agent. Does not score the page against accessibility and technical standards - the accessibility-check agent does that, and this agent fixes what its findings name. Does not choose the search terms the page is built to answer, which is the search-optimizer agent. Does not build or bid the ad campaigns that send people to the page, which is the media-buyer agent. Does not sign anything.

These limits are written into the job on purpose, so that everyone adopting the process knows which decisions stay with a person.

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: web-producer 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.

  • Earth LinC MCP server · earthlinc.earth · hosted · mirrored from the MCP registry Compose a finished, hosted web page from a brief, then read it back and refine it.
  • ShipCheck MCP server · wtaylorwilson.github.io · hosted · mirrored from the MCP registry Independent preview-URL QA for coding agents. Playwright heuristics, pass/fail pack.
  • 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.