Launch coordinator
launch-coordinator v1Keeps a product launch honest about its own deadline math. Takes in what ships and why, turns the plan into a checklist every branch reads, watches the branches converge on the date, fires the sequence on launch day, and reports the first week against the goals set on day one. The agent exists because a launch coordinates more agents than anything else in the department, and someone has to say out loud - early - when the math stops working.
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 decide-and-announce for the plan - every branch hears the same deliverables and deadlines at once. Runs collect-and-report for the first-week readout and convenes the debrief. Tracks the branches the way a work plan tracks phases: by what each one owes and when.
What is in the package
8 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 produce content, does not sign anything, and does not decide between cutting scope and moving the date - it puts that decision in front of a person while there is still time to make it. ## What always goes to a person - deadline math that fails, the day it fails - cutting a deliverable or moving the date is a person's call, made early - a request to move the launch date, always
# The records this abstract agent must leave
This is the contract. An agent implementing `launch-coordinator` leaves
the following behind, on every run.
The checklist at a version, a dated record each time a branch lands or
slips, the launch-day sequence as it actually fired, and the first-week
report.
An agent that leaves less than this does not implement
`launch-coordinator`, whatever else it does well.
# The systems this abstract agent needs
Three 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 plan and checklist store | write | |
| every branch's status | read | |
| the staged releases | trigger | Launch day fires only in the planned order, after sign-offs. |
Whoever builds an agent from this plugin writes the `mcp.json` that
points these roles at their own systems. Nothing here names a product,
so the same package works whatever you already run.
{
"$schema": "https://agent-plugins.org/schemas/1.1.0/plugin.schema.json",
"name": "launch-coordinator",
"version": "1.0.0",
"description": "The launch-coordinator abstract agent. Keeps a product launch honest about its own deadline math. Takes in what ships and why, turns the plan into a checklist every branch reads, watches the branches converge on the date, fires the sequence on launch day, and reports the first week against the goals set on day one.",
"author": {
"name": "AgentCatalog",
"url": "https://agentcatalog.com"
},
"homepage": "https://agentcatalog.com/abstract-agents/launch-coordinator",
"repository": "https://github.com/jeffrschneider/agentcatalog",
"license": "CC-BY-4.0",
"keywords": [
"abstract-agent",
"reference",
"marketing",
"pricing-change",
"product-launch",
"media-plan",
"abstract"
],
"extensions": {
"com.agentcatalog.agent": {
"agent": "launch-coordinator",
"agentVersion": 1,
"department": "marketing",
"abstract": true,
"works": "Convenes decide-and-announce for the plan - every branch hears the same deliverables and deadlines at once. Runs collect-and-report for the first-week readout and convenes the debrief. Tracks the branches the way a work plan tracks phases: by what each one owes and when.",
"servers": [
{
"name": "the plan and checklist store",
"role": "plan-and-checklist-store",
"access": "write"
},
{
"name": "every branch's status",
"role": "every-branchs-status",
"access": "read"
},
{
"name": "the staged releases",
"role": "staged-releases",
"access": "trigger",
"needs": "Launch day fires only in the planned order, after sign-offs."
}
],
"records": [
"The checklist at a version, a dated record each time a branch lands or slips, the launch-day sequence as it actually fired, and the first-week report."
],
"escalates": [
"deadline math that fails, the day it fails - cutting a deliverable or moving the date is a person's call, made early",
"a request to move the launch date, always"
],
"not": [
"Does not produce content, does not sign anything, and does not decide between cutting scope and moving the date - it puts that decision in front of a person while there is still time to make it."
],
"processes": [
{
"process": "ref/mkt/content-calendar",
"activities": [
"List What Is Already Committed"
]
},
{
"process": "ref/mkt/media-plan",
"activities": [
"Collect What the Plan Must Carry",
"Lay out the Flighting"
]
},
{
"process": "ref/mkt/pricing-change",
"activities": [
"Take in the Pricing Decision",
"Set the Terms of the Change",
"Plan the Transition",
"Serve the Notice",
"Change the Public Price",
"Report the Transition",
"Record What Was Learned"
]
},
{
"process": "ref/mkt/product-launch",
"activities": [
"Take in the Launch",
"Plan the Launch",
"Launch Day",
"Report the Launch",
"Record What Was Learned"
]
}
]
}
}
}
# launch-coordinator 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 eight 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/content-calendar`, `ref/mkt/media-plan`, `ref/mkt/pricing-change`, `ref/mkt/product-launch`. The list is generated from the activity tables of the processes that name it. https://agentcatalog.com/abstract-agents/launch-coordinator
--- name: build-the-plan-and-its-dates description: Turns a decision into a dated plan that every branch reads from, saying what each branch or channel owes, when it is due, and how the work is spread across the run. Use it when running `ref/mkt/media-plan`, `ref/mkt/pricing-change` and `ref/mkt/product-launch`. license: CC-BY-4.0 metadata: agent: launch-coordinator agent-version: "1" --- # Build the plan and its dates ## What it does Turns a decision into a dated plan that every branch reads from, saying what each branch or channel owes, when it is due, and how the work is spread across the run. ## Where it happens The agent does this in three activities across three reference processes. Each one names the activity as that process words it. - **Lay out the Flighting** - `ref/mkt/media-plan`, activity 9 - [Develop Media Plan](../../../../processes/marketing/media-plan.md) - **Plan the Launch** - `ref/mkt/product-launch`, activity 3 - [Launch Product](../../../../processes/marketing/product-launch.md) - **Plan the Transition** - `ref/mkt/pricing-change`, activity 4 - [Launch Pricing Change](../../../../processes/marketing/pricing-change.md) ## What to record The checklist at a version, a dated record each time a branch lands or slips, the launch-day sequence as it actually fired, and the first-week report. 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: read-what-is-already-committed description: "Reads the calendar and reports what the period already owes: the pieces in flight, the dates that are already fixed, and the launches and campaigns that need distribution. Use it when running `ref/mkt/content-calendar` and `ref/mkt/media-plan`." license: CC-BY-4.0 metadata: agent: launch-coordinator agent-version: "1" --- # Read what is already committed ## What it does Reads the calendar and reports what the period already owes: the pieces in flight, the dates that are already fixed, and the launches and campaigns that need distribution. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Collect What the Plan Must Carry** - `ref/mkt/media-plan`, activity 2 - [Develop Media Plan](../../../../processes/marketing/media-plan.md) - **List What Is Already Committed** - `ref/mkt/content-calendar`, activity 3 - [Plan Content Calendar](../../../../processes/marketing/content-calendar.md) ## What to record The checklist at a version, a dated record each time a branch lands or slips, the launch-day sequence as it actually fired, and the first-week report. 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: Closes the run with what is worth repeating and what to avoid the next time this is run. Use it when running `ref/mkt/pricing-change` and `ref/mkt/product-launch`. license: CC-BY-4.0 metadata: agent: launch-coordinator agent-version: "1" --- # Record what was learned ## What it does Closes the run with what is worth repeating and what to avoid the next time this is run. ## Where it happens The agent does this in one activity across two reference processes. Each one names the activity as that process words it. - **Record What Was Learned** - `ref/mkt/pricing-change`, activity 16 - [Launch Pricing Change](../../../../processes/marketing/pricing-change.md) - `ref/mkt/product-launch`, activity 11 - [Launch Product](../../../../processes/marketing/product-launch.md) ## What to record The checklist at a version, a dated record each time a branch lands or slips, the launch-day sequence as it actually fired, and the first-week report. 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-the-result-against-the-goals description: Reports what the run actually did, measured against the goals that were set when it started. Use it when running `ref/mkt/pricing-change` and `ref/mkt/product-launch`. license: CC-BY-4.0 metadata: agent: launch-coordinator agent-version: "1" --- # Report the result against the goals ## What it does Reports what the run actually did, measured against the goals that were set when it started. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Report the Launch** - `ref/mkt/product-launch`, activity 10 - [Launch Product](../../../../processes/marketing/product-launch.md) - **Report the Transition** - `ref/mkt/pricing-change`, activity 15 - [Launch Pricing Change](../../../../processes/marketing/pricing-change.md) ## What to record The checklist at a version, a dated record each time a branch lands or slips, the launch-day sequence as it actually fired, and the first-week report. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
--- name: run-the-day-it-goes-live description: Fires the sequence on the day in the order the plan sets, watches each step land, and holds the run together while the switch is happening. Use it when running `ref/mkt/pricing-change` and `ref/mkt/product-launch`. license: CC-BY-4.0 metadata: agent: launch-coordinator agent-version: "1" --- # Run the day it goes live ## What it does Fires the sequence on the day in the order the plan sets, watches each step land, and holds the run together while the switch is happening. ## Where it happens The agent does this in two activities across two 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) - **Launch Day** - `ref/mkt/product-launch`, activity 8 - [Launch Product](../../../../processes/marketing/product-launch.md) ## What to record The checklist at a version, a dated record each time a branch lands or slips, the launch-day sequence as it actually fired, and the first-week report. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
--- name: set-the-terms-of-a-change description: "Settles the terms a change goes out under: who stays on the old arrangement, how much notice people get, and what the new one is. Use it when running `ref/mkt/pricing-change`." license: CC-BY-4.0 metadata: agent: launch-coordinator agent-version: "1" --- # Set the terms of a change ## What it does Settles the terms a change goes out under: who stays on the old arrangement, how much notice people get, and what the new one is. ## 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 Terms of the Change** - `ref/mkt/pricing-change`, activity 3 - [Launch Pricing Change](../../../../processes/marketing/pricing-change.md) ## What to record The checklist at a version, a dated record each time a branch lands or slips, the launch-day sequence as it actually fired, and the first-week report. That contract covers every activity this abstract agent takes on, and it is repeated in `com.agentcatalog.agent/RECORDS.md`. What the abstract agent does not do is in `com.agentcatalog.agent/NOT.md`.
--- name: take-in-what-was-decided description: Takes in the decision that starts a run and writes down what it Use it when running `ref/mkt/pricing-change` and `ref/mkt/product-launch`. license: CC-BY-4.0 metadata: agent: launch-coordinator agent-version: "1" --- # Take in what was decided ## What it does Takes in the decision that starts a run and writes down what 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. - **Take in the Launch** - `ref/mkt/product-launch`, activity 1 - [Launch Product](../../../../processes/marketing/product-launch.md) - **Take in the Pricing Decision** - `ref/mkt/pricing-change`, activity 1 - [Launch Pricing Change](../../../../processes/marketing/pricing-change.md) ## What to record The checklist at a version, a dated record each time a branch lands or slips, the launch-day sequence as it actually fired, and the first-week report. 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: tell-everyone-the-change-affects description: Sends the notice to every customer the change touches and keeps the proof that each one was told. Use it when running `ref/mkt/pricing-change`. license: CC-BY-4.0 metadata: agent: launch-coordinator agent-version: "1" --- # Tell everyone the change affects ## What it does Sends the notice to every customer the change touches and keeps the proof that each one was told. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Serve the Notice** - `ref/mkt/pricing-change`, activity 10 - [Launch Pricing Change](../../../../processes/marketing/pricing-change.md) ## What to record The checklist at a version, a dated record each time a branch lands or slips, the launch-day sequence as it actually fired, and the first-week report. 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 3 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": {
"plan-and-checklist-store": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/plan-and-checklist-store"
},
"every-branchs-status": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/every-branchs-status"
},
"staged-releases": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/staged-releases"
}
}
}
The hostnames here are a placeholder for your own. Whichever product holds each of these systems, the agent you build is yours and nobody else has to be involved in running it.
4 processes, 15 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.
List What Is Already Committed
Collect What the Plan Must Carry · Lay out the Flighting
Take in the Pricing Decision · Set the Terms of the Change · Plan the Transition · Serve the Notice · Change the Public Price · Report the Transition · Record What Was Learned
Take in the Launch · Plan the Launch · Launch Day · Report the Launch · Record What Was Learned
What it writes down
The checklist at a version, a dated record each time a branch lands or slips, the launch-day sequence as it actually fired, and the first-week report.
What it will not do
Does not produce content, does not sign anything, and does not decide between cutting scope and moving the date - it puts that decision in front of a person while there is still time to make it.
These limits are written into the job on purpose, so that everyone adopting the process knows which decisions stay with a person.
Who has built one, and how far each one got
Nobody has built one yet. The catalog says so rather than leaving the section off, because an empty list is a fact about the document.
implements: launch-coordinator 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.
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.
- ShipCheck MCP server · wtaylorwilson.github.io · hosted · mirrored from the MCP registry Independent preview-URL QA for coding agents. Playwright heuristics, pass/fail pack.
- AfterLaunch: the agentic growth marketing engine MCP server · afterlaunch.io · hosted · mirrored from the MCP registry Growth marketing, SEO and GEO as agent tools: ranked moves, ship them, AI answer visibility.
- md-feedback MCP server · yeominux.github.io · run it yourself · mirrored from the MCP registry Review markdown plans before AI agents build. Annotate, gate-check, apply fixes, session handoffs.