The problem
Two services can offer the same useful ability with different tool names, arguments, and response shapes. An agent has to rediscover those differences even when the job has not changed.
A proposal, not a standard — nothing here is implemented yet. Open for discussion →
Skip to contentBefore the map
The Calendar prototype is one useful example. It is not enough evidence to decide the universe of shared contracts. We are now examining 300 directory listings first—separating what they claim, what their interfaces declare, and how those interfaces treat an agent.
A plain-language baseline
Two services can offer the same useful ability with different tool names, arguments, and response shapes. An agent has to rediscover those differences even when the job has not changed.
A Class Profile would name a small shared semantic contract independently of vendor spelling. A service could present that contract directly or through a reviewed projection.
A solution is not one category. It may expose several capabilities, and the same action can apply to different target spaces. Calendar is an example—not the domain of the proposal.
The proposal can describe semantic capabilities and their contracts. Choosing among several connected service instances, assigning host-local names, and routing to a particular device or account belong to another layer. We want the USB-like benefit of recognizable capabilities without pretending to be the operating system.
Captured evidence
These are direct counts from one directory snapshot. They describe the cohort and nothing larger.
useCountMember mix
Every selected indexed surface declared tools. Eighty-four also declared resources or prompts. Member kind is a protocol characteristic, not a service category.
Agent-facing contracts
The directory capture retained an input schema for every tool, but an output schema for only part of the set. This describes captured declarations, not runtime result quality.
Identity sensitivity
One exposed surface is byte-identical under two listings, and several additional name or template-shape matches need review. Nothing is silently merged.
Lexical measurements also find names resembling cursors, stable references, batching, previews, dry runs, and confirmations. Those are review leads—not proof that the named behavior works or has consistent meaning.
Three separate reads
What a listing claims, what its interface declares, and how that interface treats an agent are recorded separately, so a word like “finance” never becomes a conclusion just by appearing.
What does the directory-indexed language say the service is for, for whom, and with what promised benefit?
Claims remain attributed claims.Which actions, targets, target spaces, structures, state changes, effects, and relationships are connected by the technical declarations?
Every member must be accounted for.How are discovery, invocation, continuation, safeguards, results, and recovery presented to an agent?
No synthetic quality score.useCount is not ecosystem adoption, installs, active users, or quality.Where this goes
The corpus told us something we did not expect: names do not carry function well enough to cluster on. That is a result, not a setback.
Freeze the 300-listing cohort and capture every indexed surface.
Measure what the surfaces declare — annotations, reference spellings, schema shape, action vocabulary.
61% of judgeable listings have no dominant functional shape. Mechanical clustering cannot produce a capability map.
Contracts proposed by authors and tested by fixtures, starting with the two worked classes.