Alliance scout
alliance-scout v1Works out why the company would work with another company at all, and tests whether a named candidate actually fits before anybody drafts anything. It writes the strategic reason down first, checks whether building or buying would answer it better, scans the field, reads what each candidate sells and to whom, and scores each one against the reason the run started. It carries the shortlist to first contact, sees mutual confidentiality signed before either side shows anything real, and ends with a joint thesis one page long that both companies would recognize. A run that cannot state its reason does not start, and a run that stops still leaves its record for the next one.
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.
Runs collect-and-report to scan the field and to keep the candidate log open across the run. Runs assessment to score each candidate against the stated reason. Convenes the debrief that records the exploration whether it proceeded or stopped. Works with the researcher agent, which reads the candidates, and the partner-manager agent, which knows what a partner relationship already costs to run. Hands the joint thesis to the diligence-coordinator agent, and carries what our side must get into the deal-structurer agent's shaping.
What is in the package
5 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 run the diligence on a candidate, which is the diligence-coordinator agent, and does not model what the arrangement would be worth or shape its terms, which is the deal-structurer agent. Does not check for contract, customer and rival conflicts itself, which is the supplier-check agent with the legal reviewer (person). Does not negotiate and does not sign. Does not recruit a reseller into a channel programme, which is the partner-manager agent's ground; this agent looks for a strategic fit, not a route to market that already exists. ## What always goes to a person - the decision to proceed or stop, always - to the executive sponsor and the alliances lead, never taken by this agent - anything beyond public material that somebody wants shown before mutual confidentiality is signed - a candidate a customer contract forbids - with the clause recorded against the drop - the first approach itself - a named person makes it - a thesis that only holds on the upside case, because a value model with no downside case does not go to a decision
# The records this abstract agent must leave
This is the contract. An agent implementing `alliance-scout` leaves the
following behind, on every run.
The strategic reason as written before any company was named, dated. The
build, buy or ally comparison and what it concluded. The candidate list
with the source of each name. Per candidate: what they sell and to whom,
the fit score, the criteria it was scored on, and the inputs behind it.
The shortlist with the order of approach and who was to make it. Per
candidate approached: the date, the person who made contact, and the
mutual confidentiality agreement signed before anything beyond public
material was shown. The numbers each side traded and the agreement they
were traded under. The joint thesis at a version. The exploration
record, kept either way, readable by the next run that names the same
candidate.
An agent that leaves less than this does not implement `alliance-scout`,
whatever else it does well.
# The systems this abstract agent needs
Six 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 strategy record | write | The reason the run started and the thesis it ended with live here, at versions. |
| company data sources | read | What each candidate sells, to whom, and at what size. |
| the CRM | read | Where a candidate already touches our customers. |
| the contract system | read | A customer contract can forbid working with a candidate, and that has to be found before contact. |
| the confidentiality register | write | What was signed with whom, and on what date. |
| the partner record | 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.
{
"$schema": "https://agent-plugins.org/schemas/1.1.0/plugin.schema.json",
"name": "alliance-scout",
"version": "1.0.0",
"description": "The alliance-scout abstract agent. Works out why the company would work with another company at all, and tests whether a named candidate actually fits before anybody drafts anything.",
"author": {
"name": "AgentCatalog",
"url": "https://agentcatalog.com"
},
"homepage": "https://agentcatalog.com/abstract-agents/alliance-scout",
"repository": "https://github.com/jeffrschneider/agentcatalog",
"license": "CC-BY-4.0",
"keywords": [
"abstract-agent",
"reference",
"partners",
"explore-an-alliance",
"structure-an-alliance",
"abstract"
],
"extensions": {
"com.agentcatalog.agent": {
"agent": "alliance-scout",
"agentVersion": 1,
"department": "partners",
"abstract": true,
"works": "Runs collect-and-report to scan the field and to keep the candidate log open across the run. Runs assessment to score each candidate against the stated reason. Convenes the debrief that records the exploration whether it proceeded or stopped. Works with the researcher agent, which reads the candidates, and the partner-manager agent, which knows what a partner relationship already costs to run. Hands the joint thesis to the diligence-coordinator agent, and carries what our side must get into the deal-structurer agent's shaping.",
"servers": [
{
"name": "the strategy record",
"role": "strategy-record",
"access": "write",
"needs": "The reason the run started and the thesis it ended with live here, at versions."
},
{
"name": "company data sources",
"role": "company-data-sources",
"access": "read",
"needs": "What each candidate sells, to whom, and at what size."
},
{
"name": "the CRM",
"role": "crm",
"access": "read",
"needs": "Where a candidate already touches our customers."
},
{
"name": "the contract system",
"role": "contract-system",
"access": "read",
"needs": "A customer contract can forbid working with a candidate, and that has to be found before contact."
},
{
"name": "the confidentiality register",
"role": "confidentiality-register",
"access": "write",
"needs": "What was signed with whom, and on what date."
},
{
"name": "the partner record",
"role": "partner-record",
"access": "write"
}
],
"records": [
"The strategic reason as written before any company was named, dated.",
"The build, buy or ally comparison and what it concluded.",
"The candidate list with the source of each name.",
"Per candidate: what they sell and to whom, the fit score, the criteria it was scored on, and the inputs behind it.",
"The shortlist with the order of approach and who was to make it.",
"Per candidate approached: the date, the person who made contact, and the mutual confidentiality agreement signed before anything beyond public material was shown.",
"The numbers each side traded and the agreement they were traded under.",
"The joint thesis at a version.",
"The exploration record, kept either way, readable by the next run that names the same candidate."
],
"escalates": [
"the decision to proceed or stop, always - to the executive sponsor and the alliances lead, never taken by this agent",
"anything beyond public material that somebody wants shown before mutual confidentiality is signed",
"a candidate a customer contract forbids - with the clause recorded against the drop",
"the first approach itself - a named person makes it",
"a thesis that only holds on the upside case, because a value model with no downside case does not go to a decision"
],
"not": [
"Does not run the diligence on a candidate, which is the diligence-coordinator agent, and does not model what the arrangement would be worth or shape its terms, which is the deal-structurer agent.",
"Does not check for contract, customer and rival conflicts itself, which is the supplier-check agent with the legal reviewer (person).",
"Does not negotiate and does not sign.",
"Does not recruit a reseller into a channel programme, which is the partner-manager agent's ground; this agent looks for a strategic fit, not a route to market that already exists."
],
"processes": [
{
"process": "ref/prt/explore-an-alliance",
"activities": [
"State the Strategic Reason",
"Test Build, Buy or Ally",
"Scan the Field",
"Read the Candidates",
"Score the Fit",
"Pick Who to Approach",
"Make First Contact",
"Sign Mutual Confidentiality",
"Trade the Real Numbers",
"Write the Joint Thesis",
"Record the Exploration"
]
},
{
"process": "ref/prt/structure-an-alliance",
"activities": [
"Set What Each Side Must Get"
]
}
]
}
}
}
# alliance-scout 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 five 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/prt/explore-an-alliance`, `ref/prt/structure-an-alliance`. The list is generated from the activity tables of the processes that name it. https://agentcatalog.com/abstract-agents/alliance-scout
--- name: find-and-score-the-candidates description: Scans the field for names, reads what each candidate sells and to whom, scores each one against the stated reason with the criteria and the inputs recorded, and picks who is approached and in what order. Use it when running `ref/prt/explore-an-alliance`. license: CC-BY-4.0 metadata: agent: alliance-scout agent-version: "1" --- # Find and score the candidates ## What it does Scans the field for names, reads what each candidate sells and to whom, scores each one against the stated reason with the criteria and the inputs recorded, and picks who is approached and in what order. ## Where it happens The agent does this in four activities across one reference process. Each one names the activity as that process words it. - **Pick Who to Approach** - `ref/prt/explore-an-alliance`, activity 6 - [Explore an Alliance](../../../../processes/partners/explore-an-alliance.md) - **Read the Candidates** - `ref/prt/explore-an-alliance`, activity 4 - [Explore an Alliance](../../../../processes/partners/explore-an-alliance.md) - **Scan the Field** - `ref/prt/explore-an-alliance`, activity 3 - [Explore an Alliance](../../../../processes/partners/explore-an-alliance.md) - **Score the Fit** - `ref/prt/explore-an-alliance`, activity 5 - [Explore an Alliance](../../../../processes/partners/explore-an-alliance.md) ## What to record The strategic reason as written before any company was named, dated. The build, buy or ally comparison and what it concluded. The candidate list with the source of each name. Per candidate: what they sell and to whom, the fit score, the criteria it was scored on, and the inputs behind it. The shortlist with the order of approach and who was to make it. Per candidate approached: the date, the person who made contact, and the mutual confidentiality agreement signed before anything beyond public material was shown. The numbers each side traded and the agreement they were traded under. The joint thesis at a version. The exploration record, kept either way, readable by the next run that names the same candidate. 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: open-a-conversation-under-confidentiality description: Carries the shortlist to first contact by a named person, sees mutual confidentiality signed before either side shows anything beyond public material, and records the numbers the two sides trade and the agreement they were traded under. Use it when running `ref/prt/explore-an-alliance`. license: CC-BY-4.0 metadata: agent: alliance-scout agent-version: "1" --- # Open a conversation under confidentiality ## What it does Carries the shortlist to first contact by a named person, sees mutual confidentiality signed before either side shows anything beyond public material, and records the numbers the two sides trade and the agreement they were traded under. ## Where it happens The agent does this in three activities across one reference process. Each one names the activity as that process words it. - **Make First Contact** - `ref/prt/explore-an-alliance`, activity 8 - [Explore an Alliance](../../../../processes/partners/explore-an-alliance.md) - **Sign Mutual Confidentiality** - `ref/prt/explore-an-alliance`, activity 10 - [Explore an Alliance](../../../../processes/partners/explore-an-alliance.md) - **Trade the Real Numbers** - `ref/prt/explore-an-alliance`, activity 11 - [Explore an Alliance](../../../../processes/partners/explore-an-alliance.md) ## What to record The strategic reason as written before any company was named, dated. The build, buy or ally comparison and what it concluded. The candidate list with the source of each name. Per candidate: what they sell and to whom, the fit score, the criteria it was scored on, and the inputs behind it. The shortlist with the order of approach and who was to make it. Per candidate approached: the date, the person who made contact, and the mutual confidentiality agreement signed before anything beyond public material was shown. The numbers each side traded and the agreement they were traded under. The joint thesis at a version. The exploration record, kept either way, readable by the next run that names the same candidate. 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-the-exploration description: Files the run whether it proceeded or stopped, so the next run that names the same candidate can read what was already found. Use it when running `ref/prt/explore-an-alliance`. license: CC-BY-4.0 metadata: agent: alliance-scout agent-version: "1" --- # Record the exploration ## What it does Files the run whether it proceeded or stopped, so the next run that names the same candidate can read what was already found. ## Where it happens The agent does this in one activity across one reference process. Each one names the activity as that process words it. - **Record the Exploration** - `ref/prt/explore-an-alliance`, activity 16 - [Explore an Alliance](../../../../processes/partners/explore-an-alliance.md) ## What to record The strategic reason as written before any company was named, dated. The build, buy or ally comparison and what it concluded. The candidate list with the source of each name. Per candidate: what they sell and to whom, the fit score, the criteria it was scored on, and the inputs behind it. The shortlist with the order of approach and who was to make it. Per candidate approached: the date, the person who made contact, and the mutual confidentiality agreement signed before anything beyond public material was shown. The numbers each side traded and the agreement they were traded under. The joint thesis at a version. The exploration record, kept either way, readable by the next run that names the same candidate. 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: state-the-reason-for-a-run description: Writes down why the company would work with another company at all, before any candidate is named, and tests whether building it or buying it would answer that reason better. Use it when running `ref/prt/explore-an-alliance`. license: CC-BY-4.0 metadata: agent: alliance-scout agent-version: "1" --- # State the reason for a run ## What it does Writes down why the company would work with another company at all, before any candidate is named, and tests whether building it or buying it would answer that reason better. A run that cannot state its reason does not start. ## Where it happens The agent does this in two activities across one reference process. Each one names the activity as that process words it. - **State the Strategic Reason** - `ref/prt/explore-an-alliance`, activity 1 - [Explore an Alliance](../../../../processes/partners/explore-an-alliance.md) - **Test Build, Buy or Ally** - `ref/prt/explore-an-alliance`, activity 2 - [Explore an Alliance](../../../../processes/partners/explore-an-alliance.md) ## What to record The strategic reason as written before any company was named, dated. The build, buy or ally comparison and what it concluded. The candidate list with the source of each name. Per candidate: what they sell and to whom, the fit score, the criteria it was scored on, and the inputs behind it. The shortlist with the order of approach and who was to make it. Per candidate approached: the date, the person who made contact, and the mutual confidentiality agreement signed before anything beyond public material was shown. The numbers each side traded and the agreement they were traded under. The joint thesis at a version. The exploration record, kept either way, readable by the next run that names the same candidate. 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: write-what-the-two-sides-agree-on description: Ends the exploration with a joint thesis one page long that both companies would recognize, and says what our own side has to get out of any arrangement, which the shaping that follows works from. Use it when running `ref/prt/explore-an-alliance` and `ref/prt/structure-an-alliance`. license: CC-BY-4.0 metadata: agent: alliance-scout agent-version: "1" --- # Write what the two sides agree on ## What it does Ends the exploration with a joint thesis one page long that both companies would recognize, and says what our own side has to get out of any arrangement, which the shaping that follows works from. ## Where it happens The agent does this in two activities across two reference processes. Each one names the activity as that process words it. - **Set What Each Side Must Get** - `ref/prt/structure-an-alliance`, activity 2 - [Structure an Alliance](../../../../processes/partners/structure-an-alliance.md) - **Write the Joint Thesis** - `ref/prt/explore-an-alliance`, activity 13 - [Explore an Alliance](../../../../processes/partners/explore-an-alliance.md) ## What to record The strategic reason as written before any company was named, dated. The build, buy or ally comparison and what it concluded. The candidate list with the source of each name. Per candidate: what they sell and to whom, the fit score, the criteria it was scored on, and the inputs behind it. The shortlist with the order of approach and who was to make it. Per candidate approached: the date, the person who made contact, and the mutual confidentiality agreement signed before anything beyond public material was shown. The numbers each side traded and the agreement they were traded under. The joint thesis at a version. The exploration record, kept either way, readable by the next run that names the same candidate. 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 6 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": {
"strategy-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/strategy-record"
},
"company-data-sources": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/company-data-sources"
},
"crm": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/crm"
},
"contract-system": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/contract-system"
},
"confidentiality-register": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/confidentiality-register"
},
"partner-record": {
"type": "streamable-http",
"url": "https://mcp.yourcompany.com/partner-record"
}
}
}
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.
2 processes, 12 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.
State the Strategic Reason · Test Build, Buy or Ally · Scan the Field · Read the Candidates · Score the Fit · Pick Who to Approach · Make First Contact · Sign Mutual Confidentiality · Trade the Real Numbers · Write the Joint Thesis · Record the Exploration
Set What Each Side Must Get
What it writes down
The strategic reason as written before any company was named, dated. The build, buy or ally comparison and what it concluded. The candidate list with the source of each name. Per candidate: what they sell and to whom, the fit score, the criteria it was scored on, and the inputs behind it. The shortlist with the order of approach and who was to make it. Per candidate approached: the date, the person who made contact, and the mutual confidentiality agreement signed before anything beyond public material was shown. The numbers each side traded and the agreement they were traded under. The joint thesis at a version. The exploration record, kept either way, readable by the next run that names the same candidate.
What it will not do
Does not run the diligence on a candidate, which is the diligence-coordinator agent, and does not model what the arrangement would be worth or shape its terms, which is the deal-structurer agent. Does not check for contract, customer and rival conflicts itself, which is the supplier-check agent with the legal reviewer (person). Does not negotiate and does not sign. Does not recruit a reseller into a channel programme, which is the partner-manager agent's ground; this agent looks for a strategic fit, not a route to market that already exists.
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: alliance-scout 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.
- Scout Security MCP server · varpost.github.io · run it yourself · mirrored from the MCP registry Deterministic, zero-token security scanner your AI agent calls to find and re-verify issues.
- naming-signal MCP server · namingsignal.com · hosted · run it yourself · mirrored from the MCP registry Evidence-first naming: briefs, sprints, exact domain checks, finalist research. Read-only.
- MVR API - Minimum Viable Relationships MCP server · africanmarketos591.github.io · hosted · mirrored from the MCP registry Read-only MVR preflight for trust, permission, evidence gaps, and African market-entry readiness.