Originally published at AgentBadge.
When someone tells you that an API has an 87/100 Agent Readiness score, the first question should not be:
"Is 87 a good score?"
The better question is:
"Why is it 87?"
And the question after that is even more important:
"Can I reproduce the result myself?"
This is the problem AgentBadge is designed to solve.
Agent Readiness should not be an opinion generated by an LLM. It should be a measurable property of a service, calculated from explicit rules and supported by evidence.
The core idea is simple:
Rules → Evidence → Assertions → Score → Report
1. What the scanner actually does
The scanner does not ask an LLM "is this API good?"
It runs deterministic checks:
- Does
robots.txtexist? - Does
/.well-known/openapi.jsonreturn 200? - Is the response valid OpenAPI?
- Does the homepage have machine-readable metadata?
- Is there an
agents.txtfile? - Are there
llms.txtorllms-full.txtfiles? - Does the API support content negotiation?
- Is there an A2A agent card?
Each check produces evidence. Each piece of evidence becomes an assertion. Each assertion has a status.
AI-assisted inference is used when deterministic checks are insufficient — but it is a copilot, not the judge.
2. Rule structure
Every rule follows the same structure:
AB-001
Name: OpenAPI discoverability
Given:
target = https://example.com
Check:
GET /.well-known/openapi.json
Pass when:
HTTP status = 200
AND response is valid OpenAPI
Evidence:
URL
HTTP status
content type
content hash
Severity:
medium
This is not a prompt. It is a specification.
The rule says what to check, what constitutes a pass, and what evidence to collect.
3. Assertion states
Every assertion has exactly one of four states:
| State | Meaning |
|---|---|
| VERIFIED | Direct evidence found |
| INFERRED | Reasonable interpretation, insufficient evidence |
| CONFLICT | Two sources disagree |
| MISSING | Expected capability or artifact not found |
An LLM can be 94% confident that an API supports refunds. Without machine-readable evidence, the assertion stays INFERRED.
Confidence is not the same as verification.
4. Evidence is part of the measurement
Evidence is not an optional explanation attached after the fact.
Each finding includes:
- The actual HTTP response (where applicable)
- The URL checked
- The content type received
- A content hash
- The timestamp of the check
This means the assertion is not just "OpenAPI exists: yes" — it is "OpenAPI exists: yes, here is the proof."
{
"rule_id": "AB-007",
"status": "VERIFIED",
"target": "https://api.example.com/openapi.json",
"evidence": {
"http_status": 200,
"content_type": "application/json"
},
"confidence": 1.0
}
5. Scoring has category floors
The total score is not a simple average.
Some categories are foundational. If Discovery = 0, it does not matter how good the documentation is — agents cannot find the API.
Category floors prevent a high score from hiding a critical zero.
A score of 91/100 with Discovery = 0 is not a good score. It is a misleading one.
6. What confidence means and what it does not
An LLM can analyze an API documentation page and say:
"This API likely supports token-based authentication with rate limiting."
That is a reasonable inference. But without machine-readable evidence (an OpenAPI spec, a response header, a well-known endpoint), it remains INFERRED.
The user can then:
- Confirm — "Yes, this is correct, I checked manually"
- Edit — "Almost right, but the auth method is different"
- Reject — "No, this is wrong"
This creates a feedback loop: automatic fixes for deterministic changes, human confirmation for semantic claims.
7. Reproducibility
If the scanner gives a score of 76/100 for https://api.example.com today, someone else running the same rules against the same captured state should be able to understand how the result was produced.
The report needs to describe the measurement context:
{
"target": "https://api.example.com",
"ruleset": "agent-readiness-v1.0",
"scanner_version": "0.1.0",
"timestamp": "...",
"assertions": [...],
"score": {
"total": 76,
"categories": {
"discovery": 18,
"documentation": 20,
"authentication": 17,
"machine_readability": 21
}
}
}
8. Rules must be versioned
Rules change. New standards appear. Some checks eventually turn out to be too strict or too weak.
Agent Readiness v1.0 must not silently become v1.1 while pretending the results are identical.
Each ruleset has an explicit version. A report can say:
Score: 82/100
Ruleset: Agent Readiness v1.2Same target + same measurement state + same ruleset = reproducible result.
9. Why open rules do not destroy the product
If AgentBadge publishes its rules, can't someone simply copy them?
Yes. And that is intentional.
The goal is not a secret scoring algorithm. The goal is a useful measurement standard.
The long-term value comes from the workflow around that standard:
Open specification → Open scanner → GitHub Action → README badge → Continuous monitoring → Regression alerts → Fix workflow → Developer adoption
A competitor can copy rules. They cannot instantly copy:
- thousands of repositories displaying the badge
- existing GitHub Actions
- developer habits
- historical scan data
- integrations
- trust built around independently verifiable reports
The moat is not "our rules are secret." It is "our standard is installed inside the developer workflow."
10. The score should explain itself
If a developer's score changes from 76 → 72, the product should explain the delta:
+8 OpenAPI documentation detected
-12 New authentication issue detected
+0 Discovery unchanged
Result: 76 → 72
Without a breakdown, a developer who fixed three problems and still sees the score decrease will think the product is broken.
With a breakdown, it becomes: "The scanner found something new. Now I know what to fix."
11. From Measure to Prove to Improve
The architecture is a loop:
MEASURE → PROVE → IMPROVE → Measure again
The score is the beginning of the workflow, not the end.
12. What AgentBadge should never claim
AgentBadge measures Agent Readiness. It does not certify:
- API security
- business correctness
- service reliability
- legal compliance
- whether an agent should trust the company
A high score means: "This API satisfied these measurable Agent Readiness criteria."
Don't certify. Measure.
13. What this enables
npx @agentbadge/cli scan https://api.example.com
A CI pipeline can enforce a minimum score. A README can display the current measurement. A platform can query AgentBadge programmatically. An organization can compare vendors using the same ruleset.
14. The bigger idea
Performance has metrics. Accessibility has automated checks. Security has scanners. TLS has analyzers. SEO has crawlers and validators.
The emerging agentic web needs something similar.
Don't ask an AI to invent a score.
Define the rules. Collect the evidence. Show the reasoning. Version the rules. Make the result reproducible.
Then let developers improve their systems.
Read more:
- What Is Agent Readiness? — Article 1
- Why AI Agents Fail to Use APIs — Article 5
- What Does an AI Agent Need to Understand an API? — Article 6
- Why Your OpenAPI Spec Isn't Enough — Article 7
- How Do You Measure Agent Readiness? — Article 8
Agent Knowledge Layer: agentbadge.xyz/agent-guide



Top comments (0)